Categories Washboard

Diary: Making Limoncello out of Lemons

Recently, after some of our discussions on the podcast, I decided that it was finally time for me to start putting my money where my mouth was and learning how to actually develop some games.  I chose roguelikes.

As we’ve discussed many times on the podcast, roguelikes are a genre that I enjoy, and they also have extensive documentation on how to make them.   For those following along at home, I’ve been using Roguebasin’s “Python 3 + tdl” tutorial to get myself started and bootstrapped.

So far, after only an evening, I’ve managed to get myself a working character that can move around the play field.  But I didn’t decide to start keeping a vague diary to discuss my (uninspiring?) progress.   After all, if there’s one thing Spitball Sessions is about, it’s discussing the thought processes behind vague game ideas.  (If there’s 2 things we’re about, it’s stupid fights and vague ideas and my love of professional wrestling) .  (And that’s my contractually obligated Monty Python reference which apparently all Python devs need to make?)

Sometimes, the best ideas come from a mistake

The screenshot above came out of one of my many first mistakes.  I forgot a simple line of code:

console.draw_char(playerx, playery, ' ', bg=None)

From that, I wound up with a character whose “afterimage” would not disappear.  Every time I moved, another one of him would appear.

But there were several possibilities that occured to me out of even such a simple mistake that I wanted to get down before I move on to the next stage of development.

The most straightforward is that obviously this could be used to make a sort of turn-based “Snake” game.  Or, more interestingly I’d hope, an enemy based on snails.  Having the trail slowly disappear as the character moved, but leaving some form of mucus which could affect the game world would be a useful ability.

Similar to snake, this could obviously be turned into the light-cycle game from Tron.  But I think a more interesting application of the idea might be to make a player character inspired by a form of “Conway’s Game of Life”, in which the character sort of “blobs out” as they move, and maybe as the player gets too massive, portions of him start to have trouble sustaining themselves and die.  This leads to an interesting push-pull where growth is important as a form of protection and movement, but may actually lead to an overall danger if the player reaches terminal mass.

The concept that most excited me is a simple one to explain:  what about a game where the player, himself, is his own enemy?  Every time the player moves, he creates a clone of himself, as above.   And each of those clones wants to kill him

Now, there’s definitely issues with the idea.  The most obvious is ‘how will the player tell himself apart’?  And that’s a very good question.  At some point, I’ll have to come up with an answer for that.

But for now, we’ve gotten three ideas out of a simple mistake, so it’s back to the programming for me.

About the author