Axteroids | Asteroids game with spectator functionality
•Utilized Paper.js, a vector graphics scripting framework, to obtain a clean Scene Graph / Document Object Model and to allow for clean position and coordinate transformations of ship and bullet rendering.
•Implemented a Redux style paradigm to have a predictable and maintainable game state which is modifiable to maintain a history of the ship’s state and its actions at all times.
•Introduced Websockets to allow for real-time spectating in smooth 60 fps for users connected to the host.
Cards Against Humanity | Online Multiplayer version of Cards Against Humanity
•Adopted Websockets to keep a master state of the overall game and pass players data on whose turn it was and which cards the players clicked across multiple clients.
•Architected presentational components with React based on each player’s state and the shared master game state from the server and database to display cards after a user made an action or state of the player(s) changed.
•Applied Node’s (Express) middleware design pattern to route various client requests to their correct database controllers based on the users’ actions in the game and return the correct cards.
CSType | Measure typing speed and accuracy app
•Created a noSQL database through database controllers within Node to provide persistent leaderboard tracking.
•Used React’s active state rendering and child components to conditionally render views depending on varying game state in order to provide a dynamic single page application experience.