This week, I wanted to practice simple first person gameplay, and experiment with minimal graphics – so I created a first person text adventure. Gameplay is a bit like Gone Home, but without the visuals. The story is loosely based on an SCP entry, hence the name, but don’t look at it till you’ve played the game please, unless you want the end spoiled! The link’s at the bottom of this page. Screenshot of the game:

Play here: https://dl.dropboxusercontent.com/u/32538545/SCP1197Web/SCP1197Web.html

You can speedrun the game in about 1 and a half minutes, but please don’t; take it slowly and read the text. Use WASD to move, mouse to look around. Just move into text to interact with it (most of it isn’t interactive). I would rate it a PG in terms of scariness, but would love to hear what you think! Was it creepy? Did you enjoy it? Was the text annoying?

Making of:

I started this one really late, like yesterday. I knew I wanted to do a game where the graphics were only text, but found it too confusing having it pitch black, so made the collision geometry show up as dark grey. I thought a horror game would suit the words appearing out of darkness, so read some SCP articles for inspiration.

I wrote the text pretty quickly, maybe in an hour or two. I’m really not a writer, but criticism would be nice! There are quite a few constraints when it comes to using words as depictions of objects in a space, compared to a short story:

The size of the description for an object should roughly match its form, taking into account font size and newlines.

You can’t concentrate loads of text in one place, most of the environment should have some description.

I wanted to have “LOD” (Level of Detail) – where a small amount of text would describe something from far away, and more would appear when close up. It’s quite a distracting thing, so I used it sparsely.

I wanted to separate the playable character’s internal thoughts from descriptions, so thoughts would be triggered by events and fade out over a short time, but object descriptions would remain for exploration. I had to avoid putting too many thoughts on screen at once, since they run out over time and the player has to read them.

I did all the layout in Unity, which took way longer than I thought. I was going to go for a Legend of Grimrock-style movement system (turn-based on a rectangular grid but with free mouse movement) to make scripting simpler, but decided to use Unity’s standard FPS controller for time. Here are the 2 levels, with the triggers shown as yellow and red spheres. Everything else is boxes.

I didn’t think much about a structure, and it got complex even with simple gameplay, so I had classes called “TriggerTriggerTrigger” to make sure things happened in the right order! This was what I wanted to get more practice in, and I’m super glad I did. I’m starting to love coroutines in Unity for scripted gameplay.

What went wrong:

I ended up having a lot of variety in text: some is GUI text pasted on the screen, some is 3D and rotates freely to face the camera, some is fixed in 3D space, some fades out when you get too close, some is occluded by walls, some isn’t, and of course you have text that is triggered when the player enters a space. This feels a bit messy I think.

The story was supposed to be sort of creepy, in the vein of SCP, but I’m not sure it achieves it. Hopefully it’s engaging enough for a couple of minutes.

Even with basically no graphics, there are still little bugs with alphas not being the correct value. Stuff like fading to or from black would have been nice, but I’m not sure how to do that when text shows through other objects. Maybe I could have set up a special shader in front of the text in the rendering queue for a black screen.

I spent way too long looking for a way to control vignetting from a script – it’s a bit tricky cause it’s a javascript, and I write in C#. You have to move it into standard assets so the order is correct.

The selection tool for triggers and text was pretty bad. I had to select a rectangle then deselect stuff I didn’t want. All adds up, for lots of objects in a short development time!

What went right



I made a content-driven game in about a day! Gotta love Unity!



I didn’t write pages and pages of text, so had enough time to implement it. On the other hand, I rushed the ending.

I took some shortcuts to reduce number of text classes – e.g. if the z-offset of the text wasn’t 0, the text wouldn’t face the camera. This made it easy to debug and switch things. I didn’t name anything, and got away with it!

Although the logic scripting isn’t perfect, I don’t think it’s too bad. I’ll look for ways to improve for when it matters (in my Major Project game).

I didn’t reveal much about the main character (gender, background, context) – I wanted the player to fill that in. This took some thought.

Final thoughts

I think the text based first person exploration game might be a viable genre. It takes a lot longer to make the game than write the text, but that’s probably to be expected. I think it is cheaper than a graphics based game.

Don’t underestimate the time it will take for “trivial” tasks such as laying out a level with existing content.

I’m probably more suited to the technical stuff! I generally prefer consuming (and creating) visual art to fiction, as do most people probably. Screenshots don’t mean much for text based games!

Here’s the link to the SCP article on which I based the game: http://www.scp-wiki.net/scp-1197. It’s much better than the story of my game! The license is Creative Commons so I can use the concepts in my game: http://creativecommons.org/licenses/by-sa/3.0/