I worked on TorchBearer, a 3rd person puzzle adventure game, along with two teammates. I was a project manager, one of two programmers, and a UI Artist for the project.
As a programmer on the project, I focused on the following game features:
Main Menu
Connected with the saving system to load save files, create new ones, and delete them
Included several screens that the player could navigate through, with up to three layers deep
Implemented several game options
Options include: Screen resolution, inverting mouse movement, adjusting in-game volume for several audio types
Game options save between play sessions using PlayerPrefs
Saving System
Reading/writing to JSON files to save between play sessions
Allowed loading from menu or upon player death
Created checkpoints and kill-boxes throughout the game that would save and load game objects
Saved and loaded several types of data for various in-game objects
Used structs to hold complex data for objects, converted special variable types into something writeable by JSON and converted it back when reading JSON data
Objects include: The player, lanterns, and lantern-holders (pedestals)
Data for each object includes but is not limited to: position, game-state (is it being held, is it holding something), and unique "power" variables for each object
Allowed player to load into the last level they played, automatically saved after cutscenes
Scene Transitions & Player Interaction
Implemented cutscene steps and actions that would be activated after certain dialogue lines
Included a screen fade and affected specific characters within the cutscene
Added key prompts for the in-game tutorial when the player would encounter a new action for the first time
Other game systems
Added "darkness detection" to see when the player was not inside of the light of a light source, as well as a "darkness level" value that would decrease when the player was outside of the light and increase when the player returned to the light
Created the original code to pick up and place lanterns, as well as the code to put lanterns inside of lantern-holders which could either maintain lantern light or slowly drain lantern light
These elements were adjusted by both programmers throughout development
As a project manager, I performed the following tasks to keep our development on track:
Created and updated project management tools
Created a Scrum board to keep track of progress during sprints
Set up a project timeline to track progress on the full scope of the game
Adjusted timeline as tasks were blocked or completed earlier than anticipated
Led weekly standup meetings
Met with teammates at least once each week of development to discuss what tasks were completed, what tasks were blocked, and assign tasks for the next sprint
Ensured a good work-load balance to make sure no teammate was overworked or had too few tasks to perform
Created feature documentation
Created a step-by-step guide on setting up each major game system for the level designer
Included steps to set up the gameobject hierarchy for each scene, how to set up individual objects, and what values or assets to assign for each component
Included images and color-coding to help reader comprehension, especially for more abstract or lengthy steps
Leave a comment
Log in with your itch.io account to leave a comment.