Good time of day everyone! I was kinda holding back with this - er - message, I guess, - because, (a) I was not sure if the game has enough to offer and (b) my English is what it is... I mean, you'll see. Or saw already :)
Any way, let's begin.
What this game is
This is a roguelike game, inspired by older first person dungeon crawlers like Wizardry. The game has both randomly generated and handmade level modes. It runs on the mighty power of GLScene engine, so it often lacks proper optimisation - this engine was newer supposed to be used the way I use it.
Knowing what I can do and what I can't, I decidet to work off simple basic guidelines:
1) I needed as powerful modding tools as possible, cause I'd die hardcoding everything;
2) I needed as much 2D as possible - I'd die modelling everything; It's already 1,5 GB of content!
3) I needed turn-based combat system that is, again, simple to visualize;
Well, this is what Map Editor came out to look like. It allows to tweak basically every aspect of the game: map layout and decoration, monsters, spells, perks, items, texts and scripts.
Each map is represented by a file and a folder; folder contains some additional data and all scripts for this particular map. Technically the map can be up to 100x100 cells, but it is to heavy load for any system (optimization, yes, it's awesome ^^), so sensible maximum size is around 40x40.
Each cell has a set of attributes - wall, floor, ceiling, mesh, passability, event trigger, script, chest, door, location and so on. Also there are additional, 'free', i.e., not attached to a specific cell, objects - light sources, sprites and meshes. Meshes additionally can have behaviours - they can move or rotate, and these actions can be scripted.
Scripting system itself was developed by your humble servant. It's a pretty simple scripting syntax. This is, for example, one of the largest scripts currently present in the game:
CompareFMesh 1,switch01,1; If &1,=,1; ChangeFMesh 1,switch01off; ChangeFMesh 3,darlon_lamp_on; ChangeFMesh 4,darlon_lamp_on; ToggleLight 3; ChangeFMesh 5,darlon_lamp_on; ToggleLight 4; ChangeFMesh 6,darlon_lamp_on; ToggleLight 5; ChangeFMesh 7,darlon_lamp_on; ToggleLight 6; ChangeFMesh 8,darlon_lamp_on; ToggleLight 7; ChangeFMesh 9,darlon_lamp_on; ToggleLight 8; ChangeFMesh 21,darlon_lamp_on; ChangeFMesh 22,darlon_lamp_on; ToggleLight 9; ToggleLight 10; FMeshBehaviour 15,2,1,20000,0,0,0,361,0,0; FMeshBehaviour 16,2,1,20000,0,0,0,361,0,0; FMeshBehaviour 17,2,1,20000,0,0,0,361,0,0; FMeshBehaviour 18,2,1,20000,0,0,0,361,0,0; FMeshBehaviour 19,2,1,20000,0,0,0,361,0,0; FMeshBehaviour 20,2,1,20000,0,0,0,361,0,0; EndIf;
Almost everything in the game can be scripted one way or another.
Your character has 4 attributes and 4 skills. Each attribute governs a specific skill:
Strength -> Sword
Intelligence -> Magic
Speed -> Bow
Endurance -> Armor
Combat system is based around MtG-esque card game. During wandering the dungeon you gain levels and abilities. These abilities are presented by different cards. Each card belongs to specific skill.
Combination of Attribute and Skill define effectiveness of a card.
Also each Attribute allows specific bonuses when pumped properly:
1) Strength additionally increases damage from Sword and Bow
2) Intelligence does the same to Magic and Armor, and also defines Mana Pool
3) Endurance defines health in combination with Level
4) Speed when over 30 allows to Shuffle your cards, trying to get a better set, allows avoid shuffling on each turn, reduces incoming damage with random amount, and increases chances to run away
Combat is the only way to get XP. Each level requires more XP to be achieved, and on each level you get 4 attribute points to spend. Skills grow when cards of those skills are used in combat. Each 4-th level you receive a single perk point.
Perks allow to additionally customize your character. They can increase attributes and provide additional abilities (like damage reduction, secret sighting, lockpicking and stuff), but they also have requirements: some demand specific attributes, or perks, or even race.
As for race - you always start as Living, but you can change your Nature by using special Altars. This action, by the way, cannot be undone.
- Living (no bonus);
- Divine (Intelligence bonus);
- Demon (Strength bonus);
- Undead (Endurance bonus);
Some spells have increased or decreased effectiveness against certain races. Almost all Divine spells hit harder when used on Demons, for example.
There is also Element system in addition to race system. Some creatures (including you) can affine to Earth, Air, Water or Fire, and some spells can have appropriate nature. This system works this way:
Earth opposes Air, Water opposes Fire. Spell of opposed element deals more damage to a target. Spell of same element deals less. Unopposed elements have no effect additional on each other.
Creature of element A uses spells of element A more effectively
Elements are taken from Altars as well, but they can be changed at any other altar.
Items and Crafting
Items can be obtained from the dungeon. They fall under 4 categories:
All elements can provide bonuses or antibonuses, but first three groups must be equipped in order to work, and only equipped item will provide its bonus, while misc items work when simply placed in your inventory.
Some items are "eaten" when using certain spells. Say, most cards of Bow skill require an arrow to work. Same applies to certain potions. At the moment you can craft some items using other items by simple combining them in the inventory UI.
Say, Healing Potion = Healing Plant + Bottle
Certain items can also be used on certain cells. For example, you may need to find a missing gear and place it where it belongs.
Currently I am finishing last 8 levels of the game (it has 24 of 32 at the moment) and working on decorating and improving the rest of them. Most features I planned are already in the engine, and there are only additional touches required to increase playability.
So, leave your feedback (pleeeease ^^) and, I hope, enjoy the game =) 'Cause we're closing to the Beta stage!