Our educational game is a part rail shooter part puzzle game called BlockTrain. This game teaches the players the basics of how blockchain technology works, and why it is so difficult to be tampered with. There are two main types of levels that the player plays throughout the game, one being a puzzle scene where the player has to spot the differences in the contents of a series of train carts, chained together representing a blockchain. While in the puzzle scenes the player also interacts with different NPCs that teach the player more about blockchain technology through dialogue sequences. The second type of level encountered is a rail shooter race scene that transitions the player between the different puzzle scenes, contributes to the games story and setting, and adds an extra fun element to the game to keep the player engaged.
Race Section of BlockTrain
-Added camera movement functionality
-Researched camera zoom for rail shooter
-found DGTweening package, downloaded and imported it to the project
-Wrote code for setCameraZoom function, called it, created appropriate variables
-bug fixed this when zoom wasn’t returning, or snapping, with help
-Merged and pushed changes
-Helped with Asteroid movement feature
-Helped Jerry research this feature as well as problem solve its implementation
Important lines of code from CameraMovement script
Puzzle Section of BlockTrain:
-Created Puzzle Tablet UI
-Created Tablet menu and UI for puzzle scene
-created scripts to turn on UI on tablet right click, also disable movement and lookaround when menus are open
-created drop down answers and button to submit them
General Game Elements
-Created in game overlay
-menus button, options buttons, dev next buttons,
-UI creation, adjusting, beautification
-Main menu design and arrangement
-Created AudioMaster / volume mixer
-Used this to attach music to all scenes
-Wrote gameManager script
-Start, update, playNextScene, loadPlayerPosition, SaveProcedure, LoadProcedure, AsyncLoad, and deletePHotos methods. This was my most important contribution.
-Wrote options menu script, slider interactions, AudioMixer
-Wrote SaveData script which is the code that creates the save
-Wrote SaveSystem script which is the system that calls SaveData with appropriate arguments
-Wrote StartTutorial Script, initially used to call a separate tutorial but that became integrated into main game and not needed.
-Wrote TabletMenu Script and Tablet submit script, these tell the tablet how to behave
-Lots of problem solving while developing features with others, github issues, etc.
-Pushing/pulling/merging with team
-Discussions of game plan with team
-TONS of bug fixing along the way.
Important lines of code from SaveSystem and GameManager scripts