Developed in Unreal Engine 4.27 using Blueprints
"Communication Breakdown is an Asymmetrical Co-Op VR game I developed as part of Canalside Studios which is planned for release on STEAM. The gameplay is inspired by Keep Talking and Nobody Explodes with elements and concepts from spaceships used to theme the puzzles. Navigate a series of puzzles and rely solely on verbal communication with your real-world teammates as you overcome obstacles and strive for success in this high-stakes mission."
My contributions to this project include
Provides many ways users can interact with the game world
Allows for engaging, fun and repeatable gameplay
Keeping the team on track and arranging showcase events
Throughout the development of Communication Breakdown, I was responsible
for prototyping and refining the different types of VR interactable objects that the user would have to interact with such as simple items like buttons and switches to more complex tools like a screwdriver and multimeter. I also made contributions to the design and development of the puzzle modules while helping maintain the overall game design and user experience.
Key problems and solutions
We needed an accurate blockout for how far the player could reach:
Early in development, I experimented with arm length and object placement within the VR environment. I developed a rough blockout for the environment that the artists could use to make sure that everything in the game was comfortably within reach for a seated player.
We needed a way to randomise the placement of the puzzle modules:
I developed a system that would utilise a data table that we could fill with the different level presets for what puzzles it needed to contain, my spawning system would then categorise each module by size and then randomly switch module positions with others of the same size which would allow us to have perceived random generation while maintaining control of the generation.
We needed a way to optimise the game and lower draw calls:
I researched and developed a modular parent class which all the puzzle modules would inherit from that contained core functionality that every puzzle would need. Each interactable object was also added to a puzzle as a child blueprint this way every repeated use of buttons, levers etc would be simplified at runtime greatly reducing our draw call count and improving game performance. I also took the time to develop simplified collisions for each mesh in the scene which helped us double our frame rate when compared to using complex collisions.