Mars Crisis: Premise

Mars Crisis is a game about political struggle, trying to navigate in a complex landscape with conflicting agendas and finding the best way forward. There are no bad guys, just different interests and opinions. 

The premise is inspired by the game Mars Colony from 2010 by Tim C Koppang.

Mars Colony is a two player tabletop rpg about Kelly Perkins arriving to Mars Colony to save it from collapse. Great expectations that are almost impossible to live up to. Hence, the game will also produce stories of Kelly coping with her own sense of self-worth. In Mars Colony, Kelly is also tempted to deceive the people, something I haven’t included in Mars Crisis.

The first page of Mars Crisis. As the story in the game is primarily told through text, I decided on a visual look that is close to reading pages in a book.

I never played Mars Colony as a tabletop rpg, but in 2018 I took it out of the drawer and ran a hacked version as play-by-chat with a friend. Back in the days where I spend too much time commuting to the city. I kept the premise and a few setting details but replaced the game engine with an Apocalypse World style engine. I liked the situation and the story we created.

I got hooked on creating a one player computer game version of it when I came across Twine. Mars Crisis is a one man project, started 3 weeks ago (August 24th). It’s based on Twine 2 and Harlowe 3.2.2. I took it on as a personal (and fun) challenge.

Version 0.2

I’ve uploaded a new version of the game. Included in this release:

Improved visuals. Improved UX. I took a deep dive into reworking the visual appearance and how the user interacts with the game to uncover the story.

Notes. Topics appear and details are added as Kelly explores the story and the colony. Notes are shown in Notes, inline from a click on a topic or as a popup, depending on the context.

More content to be discovered. First draft versions of Sam’s place, Green Canyon, and 24:37.

Try it out and let me know what you think!

Topics are added to the Notes page as the player encounters new information and details are added to existing topics.

Retrospective

It’s fun to develop in a high level language. Cool how the iterations go with short feedback loops. I notice myself switching between “story mode” where I focus on the story and the flow of the fiction, then getting into “programming mode” where I implement the extensions to the game engine, then switching to visual design and UX, and back into story mode. Taking feedback with me at each transition.

Best of all is that it is a one person project and I can work with all aspects of the game. I don’t loose time in handover. Key to keeping productivity high is to keep my head clear and not get stuck in one mode, working on an issue that can easily be solved in another mode.

The canvas for Mars Crisis in the Harlowe editor. The canvas lets you spread out and organise the component files (or passages as they are called) in related groups, creating a mind map that is very helpful in keeping track of all the bits and pieces.

I added regression tests with high test coverage. Manual testing started taking up too much time and gave insufficient coverage. As Harlowe does not come with a best practice for automatic testing, I invited my own little test engine to keep test code separate from production code while still testing close to the interface. I’m happy how it turned out. As there is no compiler in Harlowe, testing is crucial. Syntax highlighting and tool tips help but it is still easy to miss a bracket or to misspell a name.

When I revisit code I wrote a few weeks ago, I can see how my understanding and skill in the tools and language have improved.

This is how the first page looks in the Harlowe editor. The wiki-like syntax that lets you focus on the prose when authoring and editing the story. The syntax colouring makes it easy to spot the markup and branching syntax.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s