Sunday, 10 March 2013
Thursday, 7 March 2013
I'm going to be entering this year's 7DRL, starting this forthcoming weekend, writing Daemon from scratch using Libtcod and C++. What is Daemon? According to its description over at the 7DRL blog its:
Occult-themed rogue-like symbolising a journal through the Qlippoth (the dark side of the Tree of Life) using the dark arts of the Goetia to gain power and to know thyself.I'll update this blog with progress reports as the week progresses.
Tuesday, 19 June 2012
Monday, 17 October 2011
This is an early screenshot of the Spirit Details page from DAEMON. Ignore the details for now, they're still being worked on in terms of creating the algorithms for the details of the various powers of the spirits.
But each spirit controlled by the character has a power (a castable effect, like a spell in other roguelikes), and this has four parameters:
- Proc: the % chance of this power being triggered each turn. This use does not modify the recharge time so powers can be both passive (proc-based) and active (on-use). Can be modified by environmental factors, target availability, items and so on. Also thinking of allowing the random proc effect to be suppressed under certain circumstances.
- Effect: for damaging powers, the damage dealt. For non-damaging powers, the extent.
- Duration: the duration of the power for non-instant powers in turns, for instant-powers, the length of a HoT/DoT effect applied.
- Recharge: the time to recharge the on-use version of the power.
All these figures are/will be modified by factors such as the Spirit Power Level/Sphere/Current Tolerance and Character Spirit/Mind/Summoning Skill and so on. Also I want enviromental and transient effects to play a role too.
Tuesday, 11 October 2011
In DAEMON, each spirit you summon will have its own unique seal. A "genuine" seal from the Ars Goetia is given below:
I've written code to procedurally generate similar-looking seals, given names and colours which as passed in as parameters:
Rendered on screen using Libtcod's functions the above seal appears as (actual size):
What's the point of all this? None actually, from a strictly game-play point of view, but I think it increases the atmosphere quite a lot.
Monday, 10 October 2011
I thought I'd write a little bit more about the Magic system in Daemon. Its very heavily (well, more like ripped-straight-off from) two real-world occult systems: the medieval grimoire Ars Goetia (also known as the Lesser Key of Solomon), and the Kabbalah (Tree of Life) of the Western Mystery Tradition.
The Real "Tree of Life"
I intend gameplay to metaphorically simulate the path of the Goetic (one who summons spirits) ascending the Sephiroth (Spheres of Tree of Life) whilst battling the evil forces of the inverse of the Sephiroth, the Qliphoth as one descends dungeon levels. Thus the spirits the Character can summon to assist him/her have thematic powers appropriate to the corresponding Qliphoth, foes will also be based upon said qliphoths, and the Sephiroth themselves will influence both the environment and also other powers that the Character may have.
For example, the dungeon levels corresponding to Geburah/Golachab (named Golachag in the game) will have enemies themed with destruction/burnings and ruins (in real-world occult lore, the qliphoth Golachab means "Burners with Fire" whereas the sephira Geburah embodies Strength), but the level itself will perhaps filled with martial armouries, great demonic captains or the remains of a dead god of war and so on.
The fluff in the game for Golachag states that:
"Spirits of Golachag are those who burn to do destruction - even onto themselves. They are known for inspiring in mortals unbridled radicalism and tyranny that brooks no opposition, and executes all its opponents.When manifested their bodies are forever consumed with an unburning liquid fire."
Summoning and using Spirits will cost the Character corruption and degeneration points, which will however, in return make summoning and using spirits easier. There will be ways to reduce both, although I've not finished designing these, but I suspect they will operate much like piety in Crawl does, although aligned upon Kabbalistic premises.
For example, in the screenshot above, it is possible to attempt to summon one of ten ranks of spirits, from the least, Soldier, to the greatest, King (as per the Ars Goetia). The more powerful a spirit summoned, the greater the powers available to the Character, but the more risks are involved.
Characters can summon and control three spirits at a time, and have access to the powers of the spirits (for example, in the above sphere, Neremoth (Fear), spirits will be able to frighten enemies, reducing their effectiveness or even preventing them from attacking altogether for a short period of time).
However, accessing their powers will reduce the spirit's life-force - represented by a hunger level. If the hunger level gets too low, then bad things (tm) could happen. I am still designing the consequences of what happens if this occurs. Perhaps the spirit could break free and attack the Character?
I'm also intending for environmental effects to play a big part in the game, akin to Unangband for example. These could make summoned spirits more or less effective, or easier to summon, and so on.
My aim is to make magic, and in fact, entire game-play a much more two-edged sword than in any previous roguelike, simulating some of the character progression in RPGs such as Kult (which is another influence).
Note that the names of the Spheres/Qliphoths have been altered slightly from their real-world equivalents and all spirits will have randomly generated names as to avoid harming any innocent spirits.
Saturday, 8 October 2011
I've scrapped the idea of rewriting Kharne. I'm currently coding the occult-themed roguelike as a new game called Daemon using C# and the libtcod.NET library.
I'm aiming to get a first version out (under the GPL) by the end of the month or so. It will be a complete game with save/load and a win condition, as I've largely used the framework I wrote for my 7DRL, Stygia.
Have some gratuitous screenshots: