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.
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.
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!
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.
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.