Development Process


Game Development Process

The development process was full of trial and error and addition research. When developing the minigames specifically we ran into issues dealing with specific interactions.  We had to find a way to pause the rest of the game while the canvas was still activated and learned that setting Time.timeScale could stop the update for game while using a PublicVars.isMiniGameActivated variable to coordinate between code to make sure the update for the game code runs when minigame is activated. Using Time.unscaledTime rather than Time.time for functions such as Mathf.PingPong also proved to be useful throughout the troubleshooting process. Along with minigame troubleshoots we also learned more about other aspects. Something as simple as holding v while placing objects makes life easier. We also learned probuilder is a compromise when you can make model with blender. The concept of making everything inside single scene also has both good and bad qualities.  When it comes to dealing with prefabs we learned the Find() function can go a long way and all its similar methods are convenient for getting objects but is resource consuming.  Animation in 3d is also way more complicated than it in 2d.

Dealing with NavMeshes also requires paying attention to what is static or what the rigid body constraints are regardless of what you do in code.  Throughout the process were surmised that NavMesh can be really complicated when it comes to collisions and triggers due to the inherent placement of colliders. Find() makes the placement of prefabs, especially the ones with children, really easy. NavMeshes require quite a bit of planning which we learned very early on. Lastly the bomb was one of the hardest parts throughout the process. During bomb development, when adding the ability to destroy objects in a certain range, you have to be very careful about what you destroy and how you destroy it. Initially, in the code, only the collider components were being destroyed. Then everything was being destroyed including the main camera. The solution was to make sure anything tagged player or floor wouldn't be destroyed. In the final version, we made it so that only items with a certain tag that makes them destroyable, get destroyed. Additionally when implementing the stamina part of the UI, originally the code was a part of the player script but upon further testing, it actually only worked when it was on an empty game object. 

Originally, the work division was a little on the simpler side with Soji and Charles doing level design, Kevin working on coding and Maria doing mostly visuals.  As the game progressed everyone started to do a little bit of everything with Kevin doing work on the minigames and Maria working on the bomb whilst Charles working a lot on the AI and Soji working on the locking mechanisms. Overall, as the game was in development the roles of each members changed and everyone did a lot when to make one cohesive game. 

Playtesting

When it came to playtesting there were a lot of changes made a long the way. From initial playtesting we immediately learned that changes need to be made to the camera because the line of sight for the play would be off and even disorienting sometimes.  This issues was also discussed in the class play through as people said it felt strange with the camera rotating a lot. In order to solve that we create a moveable camera to try and help the play while also relieving some of that disorientation. We also had collisions issues when it came to doors and activating the minigames. In the early stages of the game we had issues with players being able to walk through the doors when they shouldn't. This was fixed as time when on. Towards the end of the project and more playtesting we had minor issues such as strange collisions or not colliding with objects such as the keys but we were able to rectify those issues. One of the last larger issue we had throughout basically the entire process dealt with the bomb. In the beginning the bomb wasn't actually functioning as it should. This happened due to the fact all the colliders disappeared. Eventually through tagging we were able to exclude certain objects from exploding which gave us our desired outcome.  During playtesting there was also the issue where the bomb wasn't sticking on to the player upon pick up but that was solved by adjusting its position in relation to its parent. Overall, the playtesting both in and out of class shed light on our games issues in terms of the camera and overall interactions with the world. 

Get Prison Escape

Leave a comment

Log in with itch.io to leave a comment.