DEV Community

Cover image for Looking to build a text-based game engine
Cassidy Williams
Cassidy Williams

Posted on

Looking to build a text-based game engine

Hey friends!

I've been thinking about building a text-based game engine. Haven't played a text-based game in a while and thought I might make one myself!

So my main questions are: Have you built one (either an engine or a text-based game) before? Should I stop trying to reinvent the wheel, aka are there some solid open source engines out there already I should just use? What are your favorite text games?

Top comments (16)

astrosilverio profile image
Katie Silverio

I'm working on a text game engine in Python! It is a lot of work and I will likely be working on it for another decade lol.

I find it a really rewarding side project, mostly because I really enjoy trying to figure out weird things that users might want to implement in a text-based game and then figuring out how to make my engine able to accommodate that. That being said, if your main goal is just writing a text adventure and not the engine, you'll probably get more mileage out of just using Inform7 :)

jenniferlynparsons profile image
Jennifer Lyn Parsons

Great looking project! I'm building an engine in JS and I'm always interested to see people's takes on structuring such a thing.

mirv profile image

Do you renpy?

jenniferlynparsons profile image
Jennifer Lyn Parsons

I'm building an engine in plain javascript and it's totally worth doing! I started working on it in order to get better at JS, but it's turned into a sandbox for learning architecture, unit testing, documentation, and a few other things, too. Whenever I want to learn something new, it's the first place I try those skills out.

I thought it was going to be a fairly simple project, but as I've added various mechanics and increased the scope of where I want it to go, it's become a much longer term project than I anticipated.

I highly recommend making an engine from scratch if you have the time and energy.

kaydacode profile image
Kim Arnett 

Idk about engines, but it could be fun to do a modern spin on the game. Most of the Amazon Alexa skills are essentially text based games, but just spoken. IE: 20 questions/What Am I.. Open the Magic Door which was an adventure game. Idk check it out :)

mirv profile image

I liked the mystic lpmud style stuff ... MUDDs of all versions were great though!

Also, the spiritual successors like RENPY (python) are awesome - - nothing like a choose your own adventure book :)

tehomcd profile image

There's a few modern frameworks for MUD-type games that are being worked on. Evennia is one in python that's been great fun to play around with, though it's fairly bare-bones out of the box - it's up to you to design systems like combat and so on.

yssybyl profile image
Dr Janet Bastiman

I'd encourage you to write your own if only for the learning process that comes with a personal project about which you're passionate.

Back in the day (!) there was a competition for a MUD in less than 16k of source code: all the submitted entries are available to download and are in a (small) variety of languages. This could be an interesting place to get inspiration.

If my other half hadn't decided to enter this competition I don't think I would have ever got my head into the nuances of C ;)

As far as my favourite games go that's a tough one, most of the early games I played were text based, although there's a special place in my heart for Martello Tower as it was the first game I was allowed to play in school as a reward for finishing my work early :)

tomperrine profile image
Tom Perrine

By this time there certainly should be some good engines! Adventure (the original) is at least 42 years old. I know there were versions where I say the original comments with dates from 1975!

From this Quora article there seem to be some free-ish engines:

If you look at the original text based game engines (Adventure, Zork, etc) they were all basically finite-state-automata engines, with each room location as a node, and the moves as graph edges from room (node) to room. Usually there was room-specific code attached to each node for the possible actions within the room.

I built a similar engine in college many, many years ago. It's quite do-able with early college undergraduate programming skills. Sadly, that code is lost in the mists of time. On the other hand, its probably better that way :-)

So it depends, really.

Do you want to make a game, or do you want to learn to make a simple game engine? Either way, it will be fun, and you'll learn a lot!

Quest and Squiffy look like they might be what you're looking for.

antonfrattaroli profile image
Anton Frattaroli

You probably mean text input, but I really enjoyed these ones with an HP Lovecraft theme:

agenticarus profile image
Mike Cripps

I've dabbled a bit with but never quite pulled the trigger on finishing something - I'm hoping 2017 will be the year!

clsource profile image

It's possible using some chat bots frameworks to do something like a text based game.
try hubot! :D

rexnihilo profile image
Rex Nihilo

Renpy is a good choice

ghmeier profile image
Garret Meier

I've had this one: starred for awhile. It looks like a great engine for web-based Choose Your Adventure games.

tbodt profile image

Inform is really nice and open source.

shy profile image
Shy Ruparel

Check Ink:

It's a scripting language that was created to power 80 days.