- Graphics will not be important. In my previous post, I mentioned the reasons why the original Kharne used tile-based. However, in the intervening years, I’ve come to appreciate the use of ASCII in roguelikes. Most of this perhaps is due to obsessively playing (and dying) in ASCII roguelikes like Crawl. But even when both are available, for example in Paprika, I tend to nowadays prefer ASCII. Perhaps Tomas Biskup (the creator of ADOM) had it right after all:
"...most roguelike games do not use any graphics but rather rely on the ASCII character set to display their surroundings. While this might sound horrible to you, you will be surprised how quickly you start to enjoy this "primitive" type of display. Your imagination quickly will take over and you'll no longer miss those ugly hand-drawn graphical tiles that do not resemble your picture of a dragon at all. But in your imagination, that blue D will soon become the most horrible and frightening ice wyrm you can imagine. Try it out. You won't be disappointed. "
I do recognise however that some people find tile graphics preferable (to say this is a contentious issue would be quite an understatement), so therefore the rewritten Kharne will support both ASCII and Tile Graphics, with full equivalence between them. But for now however, ASCII graphics will be the focus of development (though tiles can and will be plugged in very easily). I need to concentrate on getting things done, not drawing pretty pictures.
- Using the mouse and using the keyboard should be equivalent. One of the most powerful features of Roguelikes is their interface – its often quicker to use the keyboard to do something than to use the mouse. On the flipside of this, the converse can be true as well. Since Kharne is designed to run natively on Win32 OSes, both methods of input will be supported.
- Yes, Kharne will still be Win32-based. I do not have a Linux-based machine, and Delphi is currently Windows-only development. I am open to it being ported to Linux via Lazarus in the future, but for now, I think it is more important that the first version gets written, never mind any ports. Use of Delphi also allows me to use a modern windowed GUI environment where I think it will enhance the game.
- The gameplay of Kharne will be balanced around permadeath. Yes, its bloody annoying when all your hard work ends in nowt and you make a stupid mistake, but we all restart the game almost immediately, learning something (hopefully) from the death. Even though it is now a common meme (and possibly even the truth) that the implementation of permadeath on Rogue was driven mainly by technical considerations and not for reasons of gameplay, permadeath in a roguelike does actually make sense, if the gameplay is indeed balanced for it.
- Kharne will be easily extendible and customizable. I will not however, use the Angband model and use edit files. Rather, where feasible, Kharne’s data will be held in an SQLite database. SQLite is a rather remarkable free portable single-user database in the public domain that requires only the distribution of a 200k DLL file along with your code. SQLite databases are also absurdly easy to edit, using one of many freely available tools. Using an RDMS moves the storage of data away from the “flat” structure of info files into something resembling their true meaning (you can probably tell I’m a database programmer by trade at this point).
- The source code of Kharne will eventually be released under the LGPL or similar license (I’m restricted from using the GPL because I use some closed-source (albeit freeware) custom components). Not for a few versions though.
I intend my next post to lay out progress so far, with quite a few screenshots. I hope to have these up in the next few days, real-life permitting.