Week 4 saw the start of prototyping. We have a solid game idea, and firm understanding of the core game loop, certainly enough to begin development work.
Examine and Analyse
Many decisions have been discussed over the past few weeks, including a re-think of our engine choice. We felt significant pressure to move away from Game Maker Studio from the academic team. There was also a desire to push the art style away from flat 2D, so we settled on an isometric style.
Investigating the feasibility of developing an isometric game in Game Maker led to several challenges, effectively overriding all default rendering functionality within Game Maker (Bose 2017). As a result, developing an isometric engine in Game Maker was not a sensible pathway, so we decided on Unity as it has excellent isometric support.
I experimented with the Unity isometric engine during module 710 and my second rapid ideation - crazy jake’s dude ranch. The unity tutorial includes a framework that we felt would provide us with a great starting point (Hinton-Jones 2019). We also evaluated a paid asset that included lighting and other excellent features but had minimal documentation (RepoGames 2021), so it was dismissed.
Building the core game loop was the first goal (Forestié 2018), as it would give us a sense if the game is fun. Development challenges were encountered with simply making objects clickable beyond their collision masks and allowing the player to walk behind the sprites (Technologies 2021; ‘Having More than One Collider in a GameObject? - Unity Answers’ 2021; ‘How Do I Call a Function in Another GameObject’s Script? - Unity Answers’ 2021).
I made some optimizations with an inheritable class to allow multiple harvestable items. While optimizing before things are needed is not widely considered a great use of time (Kruchten 2010). So I implemented the second kind of choppable object, which fit into the tutorial narrative we had already outlined.
We also decided on a name for the game after multiple iterative reviews. Keep It Burning.
During development, I integrated GitHub into our team’s discord channel to provide real-time updates on commits and issues.
The initial game loop demo was published on a GitHub page for testing and validation. I used the HTML5 export from Unity.
Learnings and Actions
I focused on the primary game loop and team playtesting to ensure it worked well. It also leads to an innovative concept that I’ll raise with the team during our next development sprint, where we only have a single health bar that represents both player health and fire health, and they are intertwined. As this is likely to be a controversial design decision, I expect this to impact the narrative and tutorial and questing system significantly. Introducing and reinforcing the mechanic will need significant planning and discussion, along with careful prototyping and testing.
Forestié discusses picking the proper scope to prototype and not trying to make the whole game. Instead, choose the pieces you want to experiment with, focus on the unknown and get it ready to playtest (Forestié 2018). These are all significant goals, and testing the core game loop to make sure it’s playable and engaging. In addition to this, any new and innovative mechanics, to understand if we will be able even to teach a player how health works, will be critical.
References
-
REPOGAMES. 2021. ‘2.5D Isometric Engine Systems Unity Asset Store’. [online]. Available at: https://assetstore.unity.com/packages/templates/systems/2-5d-isometric-engine-106321 [accessed 14 Jul 2021]. -
BOSE, Juwal. 2017. ‘An Updated Primer for Creating Isometric Worlds, Part 1’. Game Development Envato Tuts+ [online]. Available at: https://gamedevelopment.tutsplus.com/tutorials/creating-isometric-worlds-primer-for-game-developers-updated–cms-28392 [accessed 14 Jul 2021].
-
FORESTIÉ, Renaud. 2018. Best Practices for fast game design in Unity [Film]. Available at: https://www.youtube.com/watch?v=NU29QKag8a0 [accessed 6 Feb 2021].
-
‘Having More than One Collider in a GameObject? - Unity Answers’. 2021. [online]. Available at: https://answers.unity.com/questions/188775/having-more-than-one-collider-in-a-gameobject.html [accessed 11 Jul 2021].
-
HINTON-JONES, Alice. 2019. ‘Isometric 2D Environments with Tilemap’. Unity Blog [online]. Available at: https://blog.unity.com/technology/isometric-2d-environments-with-tilemap [accessed 10 Jul 2021].
-
KRUCHTEN, Philippe. 2010. ‘Software Architecture and Agile Software Development: A Clash of Two Cultures?’ In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2. 497–8. Available at: https://doi.org/10.1145/1810295.1810448.
-
‘How Do I Call a Function in Another GameObject’s Script? - Unity Answers’. 2021. [online]. Available at: https://answers.unity.com/questions/7555/how-do-i-call-a-function-in-another-gameobjects-sc.html [accessed 12 Jul 2021].
-
TECHNOLOGIES, Unity. 2021. ‘Unity - Manual: Layer-Based Collision Detection’. [online]. Available at: https://docs.unity3d.com/Manual/LayerBasedCollision.html [accessed 11 Jul 2021].
- ‘Visual Studio Code and Unity’. 2021. [online]. Available at: https://code.visualstudio.com/docs/other/unity [accessed 10 Jul 2021].