Greatest City was a game that I developed as a part of a team of 6 during my senior year. It was a semester long project, and we had some lofty goals in terms of technical features. It is a combination exploration/city-building game, where you have to collect resources, build buildings, and do quests with the people you meet in order to convince them to join your city. We also had some technically challenging features, such as procedurally generated environments, characters, and dialogue. Despite the immense scope of the game, we managed to get a strong foundation for all of the systems in a game that runs quite smoothly despite its many technical challenges.
I was the project lead on this game, though my primary roles rotated between technical artist and systems programmer. A large portion of my time was spent planning out each week what needed to be done and creating workflows for our artists to follow. I had a few core tasks on the game, the largest of which was the procedurally generated world. For a detailed write-up on the procedurally generated world, look no further. This task required an immense amount of focus, as it needed to be able to operate smoothly at both compile-time and runtime. It also needed to be able to properly save and load terrain information, which was a huge challenge since Unity had no clean built-in method to store this much data. I was also in charge of creating shader networks for every aspect of the game, ranging from standard shaders for the characters and environment to special effect shaders for the water, sky, and vegetation. I also did quite a bit of systems programming when the work demanded it. This included setting up timers for the resources, the minimap & fast-travel menu, building-placement systems, and UI programming.
-Project lead; planned out tasks and deadlines for each week, planned meeting and communicated with team members regarding their progress
-Art lead; managed all art that made its way into the game and monitored for standards of quality, such as poly-count, art style, and shader inputs
-Created a system for procedural world generation that works at runtime and compiletime and is capable of loading and saving terrain data.
-Assisted in programming systems for building-placement, resource collection, UI management, and fast-travel
-Wrote and optimized shader networks for all visuals in the game
-Created a system for procedural character generation using blendshapes for facial deformation, material-swapping and mesh-swapping.
-Optimized code to create smoother realtime world and character generation.
-Developed the look of the game with post-processing effects and lighting.
-Created visual effects for smoke, fire, moving clouds, and resource pick-ups.
-Optimized art assets using LODs and culling
-Wrote music for the main menu
-Created systems to implement sound effects into the game for a variety of scenarios.