Unseen Diplomacy 2
Play as an elite spy in this upcoming VR assault course game.
TABLE OF CONTENTS
👀 Overview: magical emails & wearing many hats
👩💻 Designing in VR: Timelords, Motion Sickness, Hitting walls & hand positions
💡 Game Design: Prototyping & Greyboxing mechanic variants
👩💻 Programming: Coding a Minigame & visual scripting using udon noodles
🧪 Testing: hunting for bugs, bug reports & hacknPlan
🌅 Conclusion: all good things come to an end & takeaways
🎮 Play Unseen Diplomacy
Unseen Diplomacy 2 (UD2) is an upcoming VR assault course where you play as an elite spy, and is the sequal to its BAFTA-nominated namesake developed by Triangular Pixels.
After being introduced to game development in December 2020 while designing a LEGO game, and having worked on a few personal projects, it was a pretty magical moment when I received an email from Triangular Pixels offering me a junior game designer role in May 2021 as part of their remote team, a 6-month programme made possible by the Kickstart Scheme via Real Ideas.
Being part of a small team of five allowed me to wear multiple hats as a game developer, dabbling in QA, programming and game design. Here’s a quick breakdown of my role:
- Integrating art and code being created across whole game.
- Marking up game objects within game as part of integration.
- Writing C# scripts for selected prototype ideas.
- Paper and digital prototyping variants for existing and new gameplay mechanics.
- Liaising with leads to prioritise new content based on scope and finessing existing content.
- Using project-specific tools to greybox layouts and mechanics in line with briefs provided by senior designer.
- 3D Level creation & balancing.
- Brainstorming and pitching design ideas to team in line with briefs provided by senior designer.
- Helping to improve management tools by highlighting areas of inefficiency and suggesting improvements.
- Implementing gameplay using Udon Node Graphs, tweaking where relevant.
- Using in-house tools to integrate gameplay.
- Creating documentation for new design decisions and implementation guides in wiki.
- Working remotely with the team and other disciplines.
- Regular QA and playtesting, including bug report and assigning bugs to relevant discipline on HacknPlan.
- Creating tasks, time logging in HacknPlan.
designing in vr
Let’s address the elephant wearing a cyberman-like headset while crawling around in the room. 🐘
my first time in vr: time lords & astronauts
Working on Unseen Diplomacy 2 was my first time in VR, let alone developing a game in VR. Swapping between reality and VR while integrating new assets and playtesting, is what I imagine Dr Who feels like when going in and out of the TARDIS. I must admit, however, that it did take me some time to get used to the dreaded motion sickness one can feel when in VR. I powered through, a bit like an astronaut being spun around in an aerotrim, to the point of now being able to spend hours in VR with little to no butterflies in my stomach. I even learnt ways to reduce motion sickness for players.
It’s bigger on the inside…
Imagine going in the lift from Charlie and the Chocolate Factory in VR!
Reducing motion sickness: i went through it so you don’t have to
As a VR game designer, one of my priorities was to make sure that players were able to enjoy the game without feeling motion sick. For example, I tested out various speeds, directions and heights when on moving objects, incrementally increasing those variables until I reached the Goldilocks value. During this process, I realised that everyone has a different value that they can stomach without feeling motion sick, and finding the lowest common denominator was the most logical way to move forward.
hitting walls & Further learning
One of the interesting features of Unseen Diplomacy 2 is that the player can explore the environment without teleportation. In fact, players are encouraged to crawl, roll and shimmy, all actions performed with their own body! Not only is this a great workout and super fun, but also massively reduces motion sickness.
Since the rooms generated in a level is dependent on the player’s playspace, I had to accurately implement logic and gameplay so everything that the player can interact with was on-grid, and didn’t obstruct movement for the player. I also collaborated with our artists to ensure that floor boundaries were evident to the player in-game via vertigo effects and clever placement of props, so that they didn’t end up hitting actual walls!
To further understand the constraints of designing in VR and the overall medium, I also completed on online course by Unity Learn called “Create with VR” during my spare time.
Playing Unseen Diplomacy at the Game City Festival.
holding objects: hand collisions
One of the most trickiest things to get right in VR is often hand placement and collisions when holding objects, especially awkwardly shaped ones.
For collisions, I enjoyed using our in-house tool, the “Technie Collider Creator“, to paint colliders over interactable objects, specifying the type of collider (box, sphere, convex, etc) for each coloured section on an object.
Hand placement on certain gadgets initially proved a bit of a challenge, until I realised that I could change hand positions and copy the values while in game view and simply paste it into the gameobject transform position values afterwards. Seeing my hands rotate and change position in VR while I was adjusting the values on the gameobject on-screen was so satisfying and definitely felt like I was performing the dark arts!
I was tasked with finding new ways to use our existing mechanics. Since we were already using this mechanic for other gameplay, I started thinking of more manual ways that we could use this concept, so the player could have more interaction with the objects.
Below are ways that I reimagined different mechanics:
The main idea behind this variation (see left prototype) was exploring how two objects could combine to create new gameplay.
During design, I thought of objects that could be combined and would blend well within the current game world.
Combining objects at different locations and directions in the room would allow for different types of locomotion.
Combining objects to create new mechanics.
Building on the previous concept, I was keen on incorporating objects that could be separated and combined, ideally within a puzzle.
I proposed this puzzle as its difficulty could be varied to allow for a smoother game flow. For example, the objects may have leaks or not be connected initially, so resuming the flow could injure the player. The theme of this puzzle could also be varied with different flows.
Separating and recombining objects.
As a designer, part of my role involved creating variants of existing mechanics and reimagining how it could fit within different rooms. This involved researching new and existing references and detailing how these mechanics are implemented. If new design decisions were made for existing mechanics, I would also document it in the design wiki.
I also came up with and pitched a few new mechanics that could fit within the Unseen Diplomacy 2 world. This involved researching references and detailing how this new mechanic would function. I also documented which variables and values a designer would need access to if this new mechanic was implemented, so our senior programmer could incorporate it within the code.
Since players could not teleport, I designed rooms of different sizes to cater for small and large playspaces.
Overview of all the room layouts and gameplay that I greyboxed (over 30 rooms).
While greyboxing room using new and existing mechanics, I thought of how each room would fit into different environments. I also thought of how to guide players through each room by strategically placing props within the environment. I took real-world reference photos and reimagined them within the context of the UD2 game world. I was keen to getting the most out of existing code by reconceptualising existing mechanics, often mixing the latter with new mechanics to create hybrid gameplay ideas. I also learnt how to use splines in Unity to create nodes.
I also had to anticipate all the possibilities of where the player could move in their playspace, so as to accurately implement floortiles in-game. To reduce the number of possibilities of where the player could move, I strategically placed objects in the environment to guide the player through a specific route.
I also made certain rooms easy and others more complex, to have a smoother game flow and also encourage players to strategise by using available resources.
I also took into consideration different ways of reducing motion sickness, claustrophobia, and acrophobia , to name a few, to make players more comfortable when progressing through each level.
Below are a few examples of greyboxed rooms I created:
programming and visual scripting
Programming a 2d game for vr in c#
Over a period of 2 weeks, I documented, designed, scripted and prototyped a 2D prototype in line with briefs provided by our senior designer, to be played in VR.
While writing the design document, I studied the original gameplay for our reference and its variations, redesigning the game to fit within the Unseen Diplomacy 2 world. I also documented game progression, theme, context within main game, and different sprite styles and roles in an online wiki.
I co-created placeholder sprites with the support of our artist.
I also wrote scripts in C# under the guidance of our senior programmer for the whole prototype, including kill zones, movement, looping and end screens. I learnt how to further organise my code to avoid repetition, creating a controller script which held all the functions and referring to it in other scripts and sprites. I also controlled physics collisions using scripts, due to the small size of all the sprites. It was interesting to create a game using only Unity Canvas for a small sized screen, having used it only for UI before.
My early prototype of the minigame.
Visual scripting using udon node graphs
One of the puzzles that I have worked on as a designer were junction boxes, which the player would hack to move to the next room. This puzzle gameplay allows for a range of different difficulty levels, and was created using Udon Node Graph, a visual scripting tool for VR.
As the designer, I implemented junction boxes and also tweaked existing puzzles to create variants in rooms, under the guidance of our senior designer. Having previously studied Physics, I enjoyed implementing these junction boxes and referring back to my A Level notes on electricity.
I regularly playtested both individual rooms and generated levels. We adopted an agile development style, so it was important that the game was as functional as possible after iterations and bugs were detected early on.
During playtesting sessions, I wrote a bug report. I also transferred the bugs to hacknPlan (a project management software for game development), and assigned each bug to the relevant team member for review.
Preview of hacknPlan’s Kanban board.
Although my time at Triangular Pixels has come to an end (at least for now), I am glad to have had this opportunity. I am more confident in my skills as a game developer and eager to try different tools and techniques, even being a bit unconventional in the way that I use them. I have created, reimagined and implemented a range of features that I can be proud of.
Lastly, I thoroughly enjoyed working with, and learning from, the whole team at Triangular Pixels and have made some good friends.