When the text adventure simulation becomes alive (or when engine becomes smarter than you)

In software development I always find the following situation one of the most satisfying moments: When the actual result of code is not what I expected, however, on closer examination I find that my expectation was wrong: the code actually works better than what I imagined. It produces the right result even though I did not realize that.

The more complex the code is, the bigger the satisfaction I derive from this.

This can happen many times during a project in various scenarios and scales. But when building a complex rule based simulation like a text adventure, this is really a cool milestone.

Text adventures are a simulation of the real world, and oh my are they complex things when done right. There are lots of rules to obey: which object can interact with which other one, how they interact, etc. The sheer combination of verbs and items is so huge, it is impossible to think of every combination players will try. (And is also the reason why point and click adventures are “simpler” in a way than pure parser based games).

Recently when a tester submitted a transcript for my next game, I realized my game’s simulation is now better than I expected.

The tester found a solution to a puzzle that I did not intend, but the simulation allowed it to happen nevertheless. And it is a very nice solution, fits perfectly with the game and the mood. Needless to say my jaw dropped as I was reviewing the transcript, and I was really happy that my engine has reached this stage of maturity.

I find it is a great milestone with software and especially games in general.

Almost like Skynet gaining consciousness 😉


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 )

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