bertelli.name

I miss the pixels

MetaRogue

November 19th, 2008 | Português(br)

Idea for a mix between the game genres roguelike and interactive fiction, using metadefinitions

Concepts

Considerations

Roguelike games, despite the seemingly crude interface (there are graphical versions but they do not stand up to common visual effects in modern games), offer depth of gameplay, incredible replayability, and sometimes hundreds of different possible interactions between the player, the environment, the enemy creatures and the items found in the game. Not to mention the randomness: every new game played is completely different from the previous one, because parts of the “world” will be dinamically generated for that player. That’s why they continue to gather fans and keep those fans loyal to this game genre, even after decades of enjoyment. Even after playing the same game for years it can still be possible for one to discover a new way to combine items, deal with creatures, interact with the environment, or even just play the game with some self-imposing limitation that changes entirely one’s gameplay style, just for the fun of discovering new ways of doing things. However, even the most intricate of roguelikes will have a limit to these possibilities – the imagination of its developers. It may be possible, sure, that the rules devised by the developers in the game code open way to doing something else that wasn’t in the developers minds, but still the game won’t itself create or infere new rules for the game world.

Screen of Nethack, a roguelike game. I'm the @, the brown d is a coyote, the white d is my dog.

Screen of Nethack, a roguelike game. I'm the @, the brown d is a coyote, the white d is my dog.

Another notable trait of roguelikes are their strict relation with the positioning of its elements; the player, the creatures and other elements “live” inside a square grid, and all their possible relations are directly connected with their position in this grid. Of course, this serves well just as another rule for the game world, one that is easily grasped and dealt with. And although there are some exceptions and alternative ways (mostly in some concept roguelikes) to move inside a grid world, the basics are the same. So a roguelike could be adapted to other kinds of interfaces (character based, tile based, 3D, etc.), but the grid would always be there because it’s an intrinsic concept of the genre, and the game needs the grid to work. More on these thoughts later.

Interactive fiction games are very different of roguelikes, unless for the fact that they also rely heavily in text, ignoring computers’ graphics capabilities. And the fact of relying only in text doesn’t detract from this game genre not even a bit – some IF games have a plot as deep or even deeper than a good novel. Not to mention that there are IF stories in a whole variety of themes, ranging from adventures to horror to fantasy. In short, playing an IF game is very much like reading a book – only that you’re free to really interact with the world presented by that book, you can’t just skip chapters to see the end beforehand, and the story wouldn’t advance unless you take the right steps. I believe these traits define well why this game genre is so interesting.

Anchorhead - interactive fiction game

Anchorhead, an excellent interactive fiction game of lovecraftian horror. I recommend.

Also, differently from roguelike games (at this point I think I should beg the reader’s pardon for insistently comparing two such different game genres, and I know they actually have nothing in common so there’s no way to even think about comparing them, but please keep with me), Interactive Fiction games doesn’t put the player inside a grid; it is common that the map of an IF game places resemble a grid (or is actually one) but this isn’t needed for the game to work; you can walk from place to place without actually worrying about how these locations are disposed one in relation with another. Let me clarify this: in some games the locations are logically positioned in relation to the others – think the rooms inside a house – so they work with that positional logic, but again that restriction isn’t intrinsic for this kind of game; you could have, say, three adjacent rooms in line, and just because the middle room is of no interest to the particular game being played, the player could move directly from the first room to the third one; the middle room would be ignored or the game could just say “you go to the third room passing through the second one” but that action would be done in just one movement. So the “physical” (if I can use this word) structure of an IF game is free of usual constraints found in our world. It hasn’t to resemble a grid, a plain structure, a 3D structure, or even conform with euclidian geometry – it may just be anything the author’s imagination wants it to be.

Also, an IF game can be completery different of any other IF game, just like a book can be completely new in its own style. The rules of the game world – concerning movement, object interaction, or anything else – may be defined by the author as he pleases. And still it will be recognizable as an IF game. This degree of freedom is expected in this game style, and the limits of actions and interactions are defined by the game itself, as well as it explicites the possible interactions. Usually with just some minutes of story the player will be aware of the game world rules and go on exploring it by himself. And here, like the roguelike genre, exploring is part of the fun.

And, just like I pointed in the roguelikes case, IF games have the inherent limitation of just letting the player go where the author thought it could go (with maybe some little degree of freedom, going a little further than the author had imagined, but not much beyond that). Of course, we won’t expect the game program to create or invent itself new rules and situations.

So, after considering these thoughts, one may ask: ok, so roguelikes and interactive fiction games are interesting and fun and complex in their own ways, but what the heck have one genre to do with the other? And the answer is – absolutely nothing, apart from the loose comparisons I did here, and for being two non mainstream game genres. But the imagination exercise of comparing the two lead me to the idea I present next.

Idea

So after all this introduction, the idea, in short, is to mix together characteristics of these two game genres, and at the same time throw in the mix the capability of generating interaction rules automatically, based on metarules defined by the game author. How to mix the game genres and keeping the result playable and how to realistically define interaction rules based on metadefinitions in a way that works is the subject of the (future) comments on the subject. But I will add that I was thinking of this while trying to learn how to code in Lisp, and thought of building some kind of text game to learn better Lisp’s capabilities.

Posted in Computers, Personal Tags: , , , , , | No Comments »

Matrioshka

November 9th, 2008
De Miscelânea

Lenin, Stalin, Brezhnev, Gorbachev, Yeltsin

Posted in Personal | No Comments »

Rogue’m Up

November 2nd, 2008 | Português(br)

Linux Application Development book
Two years or so ago I bought the book Linux Application Development at bargain price, but I still didn’t finished reading it. This always happens with all technical books I bought: I sit down to read the book, and before I finish even a chapter, I shift my attention to something else and drop the book.

I decided to change my strategy: now I’ll try reading the chapters out of order, selecting chapters by its themes, looking for something I’m interested in reading at that moment. Then I found that this book had a chapter about the S-lang lib. S-Lang provides an abstraction of the terminal (console), easing the programming of console applications. Traditionally the ncurses lib is more used and talked about, but S-Lang seems to be updated more often.

So I’ve finally advanced a little more in reading this book, and also spent some time playing with the S-Lang functions, enough to make a small game – a lateral shooter. The ship is an @ character and the enemies are, let’s say, somewhat familiar to anyone who ever played a certain character-mode game. And so I named this little experiment Rogue’m Up – from the wordsRoguelike and Shoot’em Up.

In other words, it’s a character-mode shooter. Don’t expect anything nice, this was just a result of an afternoon’s play with the S-Lang lib functions. Move the ship with the keys wasd or hjklyubn (all lowercase), shoot with the spacebar, quit with Q (uppercase). Every time an enemy collides with you, you lose 2 HP.

Updated: now with more than one version and used as example of C programming, here.

Posted in Computers, Downloads, Personal, Projects Tags: , , , , , | No Comments »