top of page
President's Cup Logo.png

President's CUP
CubeSpace

2022-2023  - Game Programmer and Designer

      Working under Carnegie Mellon University, partnered with CISA, Cubespace was the interactive experience that accompanied the President's Cup Cybersecurity Competition. The end product was a Unity based game experience where teams of 5 would pilot a ship through the galaxy, solving cybersecurity challenges using real computer Virtual Machines (VMs) aboard their ship to save mankind from extinction. 

OVERVIEW

  • Multiplayer Puzzle-based WebGL Game Experience

  • Made with Unity (C#, HTML, JavaScript)

  • Interfaced to various backend systems using OpenID

  • Real Virtual Machine Support

     During the early part of my job, I was one of the designers that brought the ship's design to life. The first month of the job was spent prototyping in Unity how ship navigation would work and how players would interface with VMs.

Iframe.png
Mockup 3D space.png

     Unity natively cannot actually run VMs inside it's own client window. So we engineered a solution overlaying a VM window on top of the gameplay window when need be using HTML. The challenge was to create a backend pipeline that interfaced the Unity Client with the webpage as to coordinate which page had focus. The prototype proved to be a success, so we then moved on the design phase of development.

     The design goal was clear: we were not designing cybersecurity challenges. Our team's goal however was to design everything else. We were in charge of building a believable atmosphere where players would naturally find VMs so that they would be able to solve cybersecurity challenges like puzzles. Given the overall story beats, the high-level challenge designs, and the constraint of it being a a space ship that had various workstations, the design team had free reign to design the ship how we wanted it to be.

Ship Sketch.png
Higher Res Ship_w-o HUD.png

Here is an example of a sketch I did of the ship's general layout along with the actual render in game.

     The ship has several workstations that commanded different parts of its functions. Workstation functions included navigation, power, satellite that changed the VM's networks, communications for delivering important cutscene information, and VMs themselves. I was specifically in charge of how these workstations were to look. I made several mockups using Maya. It was a fun challenge to 3D model for the first time. Making mockup UI textures and using emissive materials really gave the workstations their realistic feel.

Here are various 3D mockups I made in Maya to get a visual sense of what each workstation would look like.

     The ultimate goal of our ship experience was to deliver a "Star Trek-like" high fantasy launch sequence that players had to work together to warp from one location to another in the galaxy. This proved to be a challenge due to our end goal audience. Our launch sequence had to be fun and engaging, while not be too distracting as to interfere time-wise with the cybersecurity challenges players had to complete. After mocking up, playtesting, and iterating on the launch sequence, we finally made a sequence that supported engaging collaborative play between players, but also was simple enough to be achieved under a minute if done efficiently. 

Here are various mockups made to help make up the launch sequence. They are made in Paint and Power Point.

    When all was done design-wise, we spent the next months creating various documents, detailing specific language, UI button interactions, model mockups of what each workstation should entail. As design work slowed down, I was put back on the programming team to help facilitate the Unity build's functionality.

Process redacted.png

      The Unity client was only a small piece of the puzzle when it came to the full experience. A lot of backend systems and security protocols had to take place in order for the game to have the right team of people, with the right VMs, and could be properly credited for their work. Most of the backend pipeline was developed in-house by CMU. Most my time was spent decoding this architecture (as seen in the diagram above), reconstructing the game client on a homemade Linux simulation virtual machine to simulate their architecture locally for testing, and writing the appropriate code to help interface the Game Client with those other systems. It was a big challenge for both trouble shooting the Linux VM and interfacing with systems like OpenID, but ultimately it showed how versatile game experiences can be in a larger picture.

      The end result ended up to be a success and the competition went well without any major problems. A lot of the programming this job entailed was outside of my initial wheel house, but it showed me how interfacing WebGL builds with external databases can make for more richer game experiences.

bottom of page