Phase 1 : Early Development - August 2023



Phase 1 Early Development - August 

*Frame of Mind*

Quite early on I was predisposed to the machinations of my favorite dev components. Having the game rely on a “lock/unlock” factor, riddle decryption, and Cinemachine was something I fancied. I was also interested in pathfinding, object pooling, and skill trees yet I couldn’t pin down how those pieces would fit into the game quite yet.  Despite these unknown variables I sallied forth crafting the first forms of RecRed and its nascent design schema documentation. 

*Things That Worked*

  • The level design was the highlight of this month! I had so much fun modeling the Escharian stairwell. The first iteration of the never-ending staircase was a tall pyramidal structure and the second iteration became cyclical and flatter which decreased the scale of the level, allowing for the proportions to be more manageable and expandable for future renovations. After installing the level colliders and scouring the asset store I imposed materials on the level- bringing a stale environment to vivid fruition! 
  •  I used this compelling tutorial (link here) to set the foundation of the investigation system. I did deviate from the systems inventory structure; Still-  using the idea of separate layer mask/ collider relationships displaying or hiding UI allowed a solid springboard for me to customize and scale the collision-based investigation system in depth throughout the entirety of the game. 
  • Cinemachine & Timeline then moved to the front of the show as I directed the opening video as well as control endings at this time. The opening video began as a skyfall scene which then was recorded and projected onto a UI raw image canvas which then received a scripted VideoPlayer component. Funnily enough, WebGL does not accept Unity’s VideoPlayer any longer for port, so this part of the game will have to be reconstructed entirely or a workaround regarding videos within Unity WebGL will have to be utilized.  I am leaning towards a playable element instead for RecRed, however, I do have another project I collaborate on that is experiencing this issue as well so, I need to find a solution for this anyway. I'll update a “How To: Replacing VideoPlayer in Unity for WebGL” somewhere on my Itch soon with my findings. The control ending was crafted breezily and I absolutely adored creating particle effects for this stage. I want more particle effects, everywhere all the time! When we take a look at the “Consciousness Cloud” in the next devlog, there are particle effects in tandem. 
  • Game managers are a necessary evil and this game is no exception. The game manager is currently scaled to handle all scene changes as the game is quite linear in that we only have one main playable level and don't need to have a level state manager in place just yet. 
  • “Lost Media” needed to be accessed via the investigation system framework, so I created scriptable objects, relative prefabs, and their corresponding script that held LostMedia information like sprite and artwork annotations. This would then be referenced in another script for gameplay itself that cycled through a queue based on user input. 
  • Lastly, hastily as the end of the month waned the riddle scene and system came to form. Using a dictionary mapped to an enum with inactive/ active user input fields on a UI canvas panel that crosschecks correct words on enter, the riddle-solve mechanic now allowed for the reincarnation ending to take form. 

*Things That Didn't Work  ( Yet!)* 

  • I attempted creating a mist shader to no avail. I followed a mist computation on the shader graph to a T, yet was clearly missing something along the way as the shader came out rather dull. I will need to research shaders and practice in depth because I am clearly missing a piece of the aesthetically pleasing puzzle. 
  • Object pooling was constructed because I had originally coded one cloud returning and retrieved from the pool at a random range of spawn points via player input. The pooling mechanic was mapped to the same key as the “Uncover Lost Media” system. I didn't like the idea of having the player control these mechanics as it didn't seem relevant to user gameplay so the object pooling framework was maintained but ultimately replaced via the unmapped boolean waypoint system found in Phase 1: Late Development. 
  • A custom character controller was programmed for the game yet I found that I did not have the time it would take nor the current skill set to develop a robust character controller system with smooth world space rotation and not the snap turn I was accustomed to developing. In the end, I ditched the custom controller for the Unity 3D Character Controller (link here) available in the app store. As the game input system becomes more specifiable I will revisit creating a custom character controller!


Thanks for listening! 

XOXO, 

tracie