Skip to main content

Project Sentinel

Alt text

Platform: PC
#

Engine: Unity
#

Genre: Various (adventure, platformer, management game)
#

Team: 1 Engineer and Designer(me), 1 Narrative Designer, 1 Artist, 1 Project Lead/Design Lead/Producer
#

I met with a team of creatives at GDC one year who were interested in adapting the work of an author friend of theirs into a climate fiction game. With my ambitions at the time to break into paid work in the industry, and my former life as an environmental science professional, it was a natural fit. I worked contracts consistently for several months, then more sporadically over the following year with their team. Eventually, the team dissolved due to legal issues with the founder, but not before I was able to produce and give design input on a number of diverse prototypes, as well as participate in the concept process with the 2d artist and narrative designer. I also got the chance to meet and work with some design consultants from Playdead (developers of LIMBO and INSIDE) and KeithBurgungames.

DESIGN TASKS:
#

Alt text

Design Documentation
#

I coordinated design meetings between the project’s visionholder, artist and narrative designer, keeping track of and updating design documentation as the project evolved.

Stakeholder Interviews
#

I also did interviews of both the visionholder and narrative designer on design goals and technical needs for both tools and prototypes on the project. I helped to constrain over-scoping and also to help put schema and structure to the narrative content so it would fit a future narrative pipeline for the game.

Internal Pitching
#

In addition to listening and helping with design documentation, scope and tools requirements, I also was able to pitch some of my own gameplay ideas during certain phases of the project. I was also able to use my design knowledge to help the visionholder identify analogues to his gameplay ideas in published projects to help derive further insights for gameplay programming.

Alt text

Mockups
#

I mocked some of my design ideas as well as some of the concepts on the design document using Figma.

Content Development and Narrative Content Pipeline Coordination
#

Over the course of the project, I ended up working more and more closely with the narrative designer, both so that she could understand the new medium she was entering into, and so that I could understand her needs for content pipeline and how to structure and parameterize the content she was writing for the game.

ENGINEERING TASKS:
#

Alt text

Gameplay Systems Programming and Software Architecture
#

I programmed all the gameplay systems in all of the prototypes myself. Since the vision for the game was changing rapidly, I needed to make my code as modular and robust as possible to be able to reuse as much of it as I could. I was particularly proud of my internal architecture on the idle game -like prototype, I created a lot of highly generalizable systems to create very diverse content ingame in a no-code fashion.

3D UI/UX Programming
#

For the 3d globe / orrery prototype, I did a lot of complex math to ensure the dynamic camera and worldspace-based UI would line up properly regardless of edge cases. We also had accurate distances between planets in this scene, because it wasn’t yet known if we would have a section where the player would directly control spacecraft. So I was able to do that while accounting for floating point precision limitations.

Tools Development
#

I did extensive tools development on this project. We kept changing the narrative tools we were using to create the content- we went from Articy:draft, to Inkle Writer, to Twine, to Dialoguesystem for Unity, to a custom system. I had to be pretty fast to adapt to changing requirements on the tool integration side, with my own custom adapters and similar features. I created a system to dynamically parse and restructure Inkle script using regex and Winforms while ingesting it into the unity project assets. I also made various editor utilities, and CSV ingestion functionality.

Plugin Integration
#

In addition to changing the external tool setup rapidly, I was also routinely asked to integrate large sections of store-bought asset code quickly. It was a challenge to learn the ins and outs of so many competing code structures and integrate them all without compatibility problems, so I developed a very module-based coding style to accommodate the changes.