Random Dungeons
One big difference between Flare and standard roguelikes is the lack of random dungeon generation.
The main reasons why there aren't random dungeons yet.
- Flare is a work in progress. Most players aren't used to seeing half-baked games (present company excluded)
- Doing random dungeons well is hard.
Tartos showed us various implementations of random dungeons during the v0.10 release:
http://opengameart.org/forumtopic/osare-v010-released
His algorithms do a decent job of creating simple dungeons. Mainly of interest is his automapper (takes wall vs. floor layouts and translates those to valid wall tile choices).
Some of the challenges of random dungeon generation:
- It's far easier to get a high quality level when doing it by hand than by building an algorithm. Compare the variety of map layouts already in Flare to the random dungeons created in e.g. Diablo 1 or 2, or roguelikes.
- You almost need a new algorithm for each tileset. E.g. in Diablo 1 or 2, you can almost tell what Chapter of the game you're in by looking at an automap of the area.
- In the time it would take to get random dungeon generation right, I could finish Flare :)
But the obvious benefits of random dungeon generation:
- Replay value
- A real sense of exploration
So, Random Dungeons will come later. They aren't required to build a game (the games I want to build probably won't use them). But, the algorithms are interesting and it's something I want to do once more things are in place.
Anyway those are my current thoughts and are subject to change. Feel free to discuss random dungeons here.
I think one of the best solution would be to combine preset rooms with random positions. It's very hard to randomly generate a room that has a good look, but generating a random maze is quite easy.
And in diablo 2, not all levels are random (inner cloaster, chaos sanctuary, baal throne, ...).
It's quite fast and easy to randomly generate a level for FLARE (without accounting the quality of the level of course) with a python script. If people want random levels, they can try generating their own, submit them to the comunity and get a vote, then the generating algorithm of top rated levels would be implemented.
Dungeon Crawl Stone Soup uses this technique - hybrid approach - extensively. The results are satisfying, and the handmade "vaults" as they're called are often semi-random too. Also let's not forget that Diablo1,2 isn't the state of art in random map generation, you can improve it. There are new algorithms and the old ones are more widely known. Today, even DooM has a decent random map generator (Oblige).
I like Python very much, and even though I have no experience writing random map generators, it's something I would very much like to try. Who knows, maybe I could come up with something unexpected ? I'm happy to hear Python can be used for this (is the format XML ?)
The format is more like a .ini
You can open FLARE map files in a text editor and see how they are writen. Additional information can be found in the thread given by Clint.