A roguelike of Mine
I have been developing a little roguelike during last weeks, named Mines of Elderlore. This game has been created for the 7 day roguelike challenge, the code was only one file. I wanted it to be full GNU/GPL v2, so that it may be of some help for anyone interested.
I started developing it with simple needs in mind: I wanted to create a little roguelike around the new dungeon generator I had just created for Lands of Elderlore, my other roguelike. And I wanted to test how I could implement those simple features:
Permanent levels
Well, not only permanent levels on your computer, but on every computer of every player! So that when you provide (automatically or by player input) a dungeon name, the same levels will always be created.
Python is a great language for this, and it is really easy to store dungeons in a dictionary and save games with the pickle module.
A common risk when creating permanent levels is to reduce the amount of space to explore for the player: once every level crawled, what can he do ? So I decided to create two downing stairs for every level, each one leading to a different -and permanent- level.
There are 9 floors in Mines of Elderlore. That may not seem a lot, but with this ‘two-stairs’ design, you can have as much as 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 = 511 different floors!
Having permanent levels provides a great advantage: player can compare their scores. I did not have time to implement it yet, but I plan to provide an online display of every player scores on landsof.elderlore.com. By sending their keymovie files, not only players will be able to compete with each other, but when published online their movies will inspire other players and challenge them to perform better! Some kind of Massively Mutliplayer Offline Role Playing Game
.
Easy gameplay
Roguelikes can have a steep learning curve for new comers, and to my point of view every effort to ease their first roguelike experiment should be cherished.
First idea is to display symbols with two ascii characters. So that the player can see at a glance what weapon he is wearing, what level is the monster in front of him, and so on. Simple and effective. And with fonts twice as high as large, symbols are displayed perfectly squared!
Then I tried to add weapon special attacks based on the player movements rather than additional keys or over complicated RPG skills. Charging is maybe the simplest example: by moving in the same direction during several rounds, you increase your ‘charge’ amount, and if you manage to hit a monster at the end, you will inflict increased damages.
I think this enhanced gameplay based on player movement can really be developped very far; you can count on me to investigate further on this !