Project Categories

Project Setting Academic
Team Size Varied (usually ~5)
Role(s) Varied
Languages C#
Software/Tools Used Visual Studio (IDE), Unity (game engine), MonoGame (rendering framework), Git/GitLab/GitHub (source control)
Status Complete
Time Period February 2019 - May 2022

About

Game Dev @ RIT refers to the various group student projects I worked on while attending RIT for a BS in Game Design and Development. Rather than list every project individually, each one being made in at most a month or two off-and-on, it made more sense to group them all together. Most projects I took on a role relating to UI/UX.

My Work

Snow Your Roll

This project (January 2022 - May 2022) is an endless casual downhill ball rolling game made in Unity for a semester-long project for a class called Casual Game Development. I worked with a team of 3, and my focus on the project was the game's physics, the game's scoring systems, and the game's UI/UX. The gameplay involves rolling down a hill, consuming spinning rings in the air to get bigger (which adds to the score over time) and get extra points, to go fast (which adds to the score over time), and to avoid obstacles and attempt near misses with them. Throughout many playtests we got many comments about how fun the game was and how smooth its physics felt. We often got many interesting ideas to add, demonstrating people's interest in the game. We as a group also felt by the end of the semester that we were successful with our game because we stuck with one core mechanic and fleshed it out over time, avoiding scope creep, as opposed to adding too many various loose ideas over time that didn't entirely add to the core mechanic of the game.

Gameplay (Physics/Scoring)

  • Implemented rigidbody-based player physics with Unity's InputSystem to strafe left and right, to double forward movement speed, and to jump with a height independent of mass
  • Created event-based scoring system for communicating score events between the game's code
  • Developed near miss system which starts upon entering a near-missable obstacle trigger for the first time and adds to an ongoing score with this and potentially other near-missables until all triggers exit; near-missables intentionally stack to add combo-like gameplay such as trying to go between two trees
  • Developed airtime system which starts after the player is in the air for a brief (0.5 seconds) amount of time and adds to an ongoing score until the player lands again

UI/UX

  • Created event-based UI routing system for routing between various game states to ensure expected state transitions between menus
  • Created death screen which takes a screenshot of the player at the moment of their death
  • Created onboarding UI at the start of the game which displays a checklist of player input to guide them through gameplay in an organic way
  • Implemented scoring events to display current player score, ongoing score notifications, and single-fire score notifications that pop up and float away

Zombie Civil War

This project (April 2021 - May 2021) is a 2D top-down survival shooter made in Unity for a class project in which the goal was to make a "polished game" (this mainly meant keeping scope very small and instead focusing on making what is scoped very polished). While our game did have a bit of scope creep because it combined building mechanics with survival mechanics, we (a team of 5 including me) felt the game still met "polished" as everything was implemented to the point we wanted without any noticeable bugs. My role in this project involved the game's UI/UX.

UI/UX

  • Created and implemented main menu, pause menu, and instructions
  • Created and implemented HUD which shows player health at the top, ammo and time under health, keybindings on the bottom left, a minimap on the bottom right, and the player's inventory at the bottom
  • Added and implemented Cinemachine to follow player movement and to account for minimap
  • Updated player inventory to show indicators for build costs when the player is projecting an object to build

Texas Cold Front

This project (March 2021 - April 2021) is a 2D survival game made in Unity for a class project in which the goal was to make a "serious game" (this term is often used for educational games; this specifically is about teaching some sort of recent social occurance). Our group chose informing the player about the experience people had in Texas when a severe cold front hit very recently to the game's conception. To achieve this, we (a team of 4 including me) felt it was best to make a survival game with day/night cycles and Among Us-inspired minigames related to survival mechanics (namely heat and water). My role in this project was around UI/UX and minigame creation. In the end, other than the game having no audio, we all felt satisfied with what we'd created in the end.

UI/UX

  • Created a phone-based UI which shows family stats, messaging (usually when a family member goes out in search of food/etc.) tasks / progress, and fragments of real-world news relating to the Texas Cold Front which can be opened in the player's browser
  • Created an input handling scheme for others to use during development
  • Setup system and UI for interacting with non-player characters (family members)
  • Created overlays for interacting with NPCs and world objects which activate minigames
  • Created and implemented generic minigame UI with inventory and set-able title/instruction text
  • Created snow gathering minigame which involves clicking snow to create snowballs in which the player must drag into a bucket
  • Created snow melting minigame which involves placing a bucket of snow on an oven and melting it to boiling point without boiling it away
  • Created furniture breaking minigame which involves clicking furniture to break it into pieces that the player clicks to gather
  • Created fire "minigame" which involves keeping a fire alive with furniture pieces and stoking it for boosting temperature

Avatar game

This project (January 2021 - February 2021) is a 2D platformer made in Unity for a class project in which the goal was to make a game based on existing media. The media we chose as a group (3 participating members including myself) was Avatar: The Last Airbender. The player must navigate through a traditional platforming level while battling enemies through a Bejeweled-inspired minigame. We had issues with a member not participating so the remaining members had to pull additional work on this project; in the end, it was a decent functional game for something designed in 5 weeks (Unity development approximately 3 weeks). My role in this project was around UI/UX (with the exception of the initial bejeweled-esque battle UI) and art assets. I also helped solve some gameplay programming issues in the polishing stage of development.

UI/UX

  • Designed a more polished battle UI which slightly tilted back and fourth based on who was winning
  • Designed a platforming HUD which shows lives, abilities and their hotkeys, and the objective
  • Added a camera zoom out when player moves, zoom in when player idle

Art Assets

  • Created Aang (player) and Fire Bender (enemy) 2D sprites, split into segments for rigging purposes
  • Created single animation rig to be used with both player and enemy sprites using Unity's in-engine sprite rigging and Animator Controllers
  • Created animations for falling/jumping, movement, and ability usage for afformentioned rig, as well as stun animation for enemies and air scooter animation for player

Gameplay Programming

  • Create and implement win state manager as well as a loss state
  • Fix projectile/collision bugs, player controller bugs, and minigame bugs

Weather Control

Weather Control (February 2020 - May 2020) is a tabletop strategy game I worked on with a team of 5 (including myself). The game takes place on a hexagonal-tile-based board with each tile representing some type of weather. The basic gameplay is as follows: Players move around ship tokens that have three mana stats - movement, influence, and combat. Movement determines how much the ship can move, while influence determines how many dice the player can roll for attempting to capture and control a tile. Combat (which can occur on claimable tiles when a player lands on an occupied tile whether it's claimed or not) determines how many numbered cards a player can draw during combat. In combat, players place a single card, and the one with the highest card wins that round (the loser takes 1 damage to a stat of victor's choice unless the stat is already at minimum, 1), and combat ends when someone plays a flee card. Additional mechanics include blockades (requires 4+ of a corresponding stat to pass), ports (used for ship construction and higher upgrades), and bases (used for repairs and limited upgrades)

Starting out, our roles were all pretty similar: collaborating to come up with an initial design and creating a design document. As time went on, our roles became more defined, and I became responsible for the game's visual aesthetics and design. This included designing cards, tiles, and other game pieces. Due to the pandemic, playtests became complicated, especially due to what we had as a team. Some recreated the game in Tabletop Simulator, while I recreated the game in a collaborative drawing program called Drawpile (which helped avoid TTS programming limitations especially under time constraints).

BRPG Untitled

🅱RPG Untitled (February 2019 - May 2019 | UI/UX Developer) is a 2D role-playing game by 🅱eam 8 (a team of 5 including myself) inspired by classics such as Final Fantasy and Pokémon created using the Monogame framework and C#. 🅱RPG Untitled utilizes a tile-based overworld with monsters that move around and can engage in turn-based combat with the player. The player has a manageable inventory that allows them to loot from these monsters as well as from chests.

UI/UX

  • Keyboard-based control system used for user interfaces and used by battle mechanics developer and overworld mechanics developer
  • Flat, minimalistic UI fitting the game theme and using a specific color scheme
  • Player inventory system with options for moving items around and dropping them. Equipping requires no special function - player can simply move to the appropriate slot displayed with the rest of the inventory
  • Looting inventory system with options for taking items and swapping them (can also 'swap' an empty slot to dump unwanted items)
  • Creation of primary class that handles game drawing

Documentation

  • Class diagram to model code after; updated as the project's development progressed
  • UI/UX documentation, both in-code and outside source code
  • Communication with group in order to update other documentation as well
  • Defined file format for items and enemies for generating items/enemies in game without hardcoding them

Other

  • Assistance with other areas of the project, such as AI navigation and animation
  • Managing team timeline and ensuring things stayed on task (especially with the help of Trello)

Samples

These are some samples from the projects.

Videos

Snow Your Roll

Zombie Civil War

Texas Cold Front

Avatar game

BRPG Untitled

Screenshots

Weather Control

BRPG Untitled

Places

Snow Your Roll Last Build