Projects

A deep dive into my latest work.

Pixel Party

4-man project to showcase our ability to use React, CSS, Node.js, Express, and MongoDB Atlas

Project 2 image 1

Weeks 1-2

The goal was to making a functional multiplayer game where a player can draw an image on the screen, and the other members of the lobby guess the word in the chatbox. We spent sprint 1 setting up the login/register rest api calls.

Project 2 image 2

Weeks 3-4

At the core of the game, we wanted some variables in the game that we could control. We started developing a logo and background theme. Our main inspiration was skribbl.io so we tried to mimic that game as much as possible.

Project 2 image 3

Weeks 5-6

All aspects of the game including chat, drawing, and word-selection use the WebSocket package on the frontend and backend. This is essentially two singletons playing ping pong, both waiting for keywords to callback functions for the server/client to process. This happends in realtime, sending out a mass-message to all players in the lobby.

Project 2 image 4

Week 5-6

Once the game starts, the server is essentially running "on-rails" with a timer. The client selects a word, they start drawing, other players can see said drawing and guess in the chat. Obviously, the word is not shared until the end. Guessing correctly rewards the drawer and the person guesssing. If time runs out we move onto the next drawer.

Project 2 image 5

Weeks 7-8

The round restarts with a new drawer. The letters above the drawing can slowly be revealed at the game-leader's chosen speed. Once everyone has drawn once, we calculate the score based on who guess right the fastest, and who drew correctly enough to guess. A winner is decided, or the second round starts.

Project 2 image 6 Project 2 image 7 Project 2 image 8

Conclusion

Our biggest hurdles were getting the websockets to sync across devices. This included getting the drawing aspect to work, as well as running the whole show on a timer that could allow users to join the game at any time. Not only are we transmitting data in realtime we're also saving it to the database, so we have be prepared to load that at any time should someone disconnect.

Raspberry Pi Camera Die Counter

This is a 3-man project where we were instructed to make a raspberry pi hardware setup which could use a python script to execute any hardware such as a breadboard with buttons. We chose to use a camera as an input device. I wanted to read and image and output data on screen, so we chose dice as the calculation.

Project image 1

Design and Planning

In order to make a complicated python script, we used a AI-assistant to build a script that could not only take an image, but isolate the black dies on the image and return the correct sum. We needed a platform to build this on so I drafted a 3-d box-like structure using a web-app, then printed it in the schools 3d lab.

Project image 2

Initial Build

Initially the code would not recognize all the dice correctly. Using some prompt-driven development, I guided it to correct the errors in the image and successfully isolated the individual dies on screen.

Project image 3

Refining the Interface

Phasellus volutpat, metus eget egestas mollis, lacus lacus blandit dui, id egestas quam mauris ut lacus. Interdum et malesuada fames ac ante ipsum primis in faucibus.

Project image 4

Testing and QA

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin magna. Nunc interdum lacus sit amet orci. Mauris turpis nunc, blandit et, volutpat molestie, porta ut, ligula.

Project image 5

Final Release

Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet.

Project image 6
↑