Saturday, 28 August 2010

0.05c source archive now available

As promised, a source-only distribution for v0.05c is now available here (also linked from the menu on the right)

Friday, 27 August 2010

DnD 4e and Status Conditions

I play a lot of DnD 4.e and I think some of the character statuses (stati? statum? stata?) could work well in Kharne (with some small modification). Others wouldn't work so well.

For example, certain undead could stun you. Stunned creatures can't do anything; the stun has a certain duration, or there is a chance the stun wears off at the end of each turn. In the context of a roguelike with a single character this is a highly lethal attack - it might be worth restricting this property to certain unique monsters.

Immoblisation/Restraining is also easy to implement - you can do everything except move! The closest analogue to dominated in the roguelike milieu would be the classical Confusion, where your movements are randomly swapped (along with further limitations that are generally roguelike-specific). Weakened is also simple to implement, and would also be a good brand.

Dazed however, which in DnD cuts down on the number of actions you can perform in a round to a single (standard) action would be tougher to implement. At its core, dazed is about controlling and limiting the effectiveness of a character, perhaps the closest analogy in a roguelike might be not allowing the character to attack, but allowing the character to do anything else.

And finally another status effect (but this time, not from DnD) - bleeding. Like poisoned, you lose hp each turn (or so) but to cure it you need to raise your hp to minimum as opposed to quaffing a potion.

Any thoughts on any of these? Have I missed any?

Thursday, 26 August 2010


I'd really like an autoexplore feature. Just like Crawl's. Anyone any idea how to write one? Or will I need to RTFM and dig out the Crawl code and have a squizz there?

Wednesday, 25 August 2010

Some thoughts on Potions & Food

The latest version of the SVN code booked in already has a lot of the potion handling built in, I've just not implemented the actual code for what happens when you drink a potion. That's next on the list to do, and I want to get a potion-enabled version out soon, in the next week or so.

I'm also going to change the eating-restores-full-health feature to:
  • take a significant number of turns (@s should suffer from indigestion when eating too quickly, just like humans)
  • during which there is a small chance of a wondering monster coming by
  • not be possible when in view of a monster
Other small (and not-so-small) changes I want to include in the next version are a general increase in the number of monsters, an option to remember the last character type created and give an option to quickly start a new game with that, and putting a house where you can stash items into the town level.

Tuesday, 24 August 2010

Proc-based item brands

Here are some suggestions for beneifical and hindering item brands I've been thinking of implementing, based upon procs. There are three types of procs - those that have a chance to occur when an attack is made (i.e. offensive), those that have a chance to occur every turn, and those that have a chance to occur when a creature gets attacked (i.e. defensive). Some (e.g. torment) are more powerful than others - I haven't worked out competitive power rankings yet but I would like the slightly less powerful effects to be more common than the more powerful ones.

I envisage these brands would be placed upon magical items in a similar fashion to other brands, although their names would take precedence in item name construction.

Suggestions for more, and their frequency would be more than welcome.

Offensive beneficial effects:

  1. transfer 10% of hp from target to attacker [vampiric]
  2. inflicts 50% extra damage [vorpal]
  3. reduces maximum hp of target by 25% [draining]
  4. teleports target to random place on level [telekinetic]
  5. teleports target away permanently [banishment]
  6. turns a normal hit into a critical [slaying]
  7. knocks target back a number of squares to the nearest wall [thundering]
  8. turns a single attack into two or more attacks [quick]
  9. chains the damage to any adjacent targets [chaining]
Offensive hindering effects:
  1. drains target of 10% of hp and returns it to the attacker [withering]
  2. turns an attack into a miss [clumsy]
  3. makes the target trip and fall, thus losing the current action [stumbling]
  4. teleports target randomly around the level [blinking]
  5. injures target for half hp [tormenting]
  6. randomly makes target drop an item carried in inventory [itching]
  7. randomly eats a carried ration of food [consuming]
Defensive benficial effects:
  1. absorbs the blow entirely [shielding]
  2. heals the target for the damage the hit would otherwise have caused [restoring]
  3. makes target's evasion temporarily higher and forces the attacker to reroll the triggering attack against the new evasion [displacing]
  4. knocks attacker back one square (if possible) [rebound]
Defensive hindering effects:
  1. freezes the target in place for a turn [rooting]
  2. terrifies the target, cutting the target's evasion rating to 0 temporarily and allows a reroll of the triggering attack [terrifying]
  3. allows the attack to proceed at full damage, ignoring armour [piercing]
  4. teleports a nearby but non-adjacent creature to a square adjacent to the target [attracting]
Now these effects are relatively easy to code, being all instanteous effects. But if you have any ideas for longer lasting effects, it would be good to read them as well.

A few of these procs also might make good scrolls as well.

Monday, 23 August 2010

Kharne 0.05c now available

Kharne Alpha 0.0.5c is now available for download (an archive of the source code will be available soon, but if you want the latest code it is already in the SVN).

Changes in this version as are follows:
  • Some monsters now can poison.
  • Some monsters now follow characters up and down stairs.
  • Mineral nodes are now found on levels and can be dug out for extra gold or occasionally items.
  • Classes now have different titles, dependent upon current character level.
  • Only the just finished game will be now highlighted correctly in the hiscore list after character death.
  • Spurious double quotes (") will no longer appear in automatically generated character names.
  • When resting, there is chance of a monster appearing randomly near the character.
  • Eating now restores all lost health points.
  • When starting a 2nd game in the same session, the Character Background will be reset properly.
  • On Character death, the Main Window Title will be reset properly.
  • Elemental Intrusion Creatures no longer have as many hitpoints.
  • Unidentified Scrolls are now identified properly on Character Death.