Tuesday 19 July 2011

New Fonts?

As part of a general overhaul of the UI, I'm experimenting with using Angband fonts:


To be honest, I think it improves the look of the game dramatically. Due to their slightly larger size however, I'm going to have to move the equipped items out of the inventory items view and into a new view of their own (like Angband!), but I think I'll only do that when I implement proper keyboard-equipping and removing items.

I do have a query though before going ahead with this in the next Alpha Release, which I've been unable to find the answer anywhere on the web: am I legally allowed to use the fonts that come with Angband in an MPL project? If so, what license are they under? If they are GPL, then I think I can distribute them solely as GPL and include them in my MPL program and then get a sore head due to all these mad license incompatibility.

Friday 15 July 2011

Kharne Alpha 23 now available

(note: I've moved to a new numbering system for Alpha releases - this is effectively 0.06b in the old system; the change was made because I don't feel right giving an incomplete game a proper version number - the Roguelike world is filled with too many v0.01s and v0.001s and so on as is).

A new version of Kharne (Alpha 23) is now available (source also available here as a download, and browsable here, and released under the MPL). This is mainly a bugfix version superseding the previous version, although I've made a few other additional changes:
  • Moved to a new Versioning System.
  • Status Conditions are now displayed at the bottom of the main display.
  • The '@' symbol is coloured according to the current health of the Player Character.
  • Added four more types of potions to cover Elemental Resistances, which add 40% to their respective resistances.
  • Trying to drink a potion or reading a scroll whilst not being able to will now exit the inventory properly.
  • Potions of Healing and Extra-Healing now cure poisons.
  • Potions of Extra-Healing cure the Paralysis, Blinded, Confusion and Drained conditions.
  • A message is generated whenever a level containing a Unique is entered.
  • Wearing Heavy or Medium armour reduces stealth.
  • Thieves now learn Stealth skills quicker.
  • Warriors now learn Defense & Heavy Armour skills quicker.
  • Stealth rolls are modified by the distance to Monsters.
I intend this to be the last version before magic, end-game/win conditions and the monster overhaul are implemented.

Comments, bug reports and queries most welcome of course.

Thursday 14 July 2011

Status Effects

In the version of the code checked into the Repository this evening (which will eventually become either .06b or .07), Status Effects are now displayed at the bottom of the main display, with positive effects (for example, Fire Resistance and Free Action) on the left, and negative effects (in the screenshot below, Confusion) on the right:

Though should I also display the number of turns left for each one as well? e.g. Conf [10]? Or is that too much information? Maybe only limit it to positive effects?

Wednesday 13 July 2011

Monster Flags

I now have decided on the following list of monster flags:
  • ALIGNMENT_EVIL
  • BEHAVE_BERSERK
  • BEHAVE_COWARDLY
  • BEHAVE_FLEE
  • BEHAVE_GREEDY
  • BEHAVE_IGNORE
  • BEHAVE_RANGED
  • BREED_MULTIPLY
  • DOOR_BASH
  • DOOR_OPEN
  • DROP_CASH
  • DROP_CORPSE
  • DROP_ITEMS_ARTEFACT
  • DROP_ITEMS_COMMON
  • DROP_ITEMS_EPIC
  • DROP_ITEMS_SUPERB
  • DROP_ITEMS_UNCOMMON
  • GENDER_FEMALE
  • GENDER_MALE
  • GOT_ESCORT
  • GOT_ESCORTS
  • GOT_FRIEND
  • GOT_FRIENDS
  • IMMUNE_AIR
  • IMMUNE_EARTH
  • IMMUNE_FIRE
  • IMMUNE_WATER
  • INVISIBLE
  • NEVER_MOVE
  • POISONOUS
  • REGENERATE
  • RESIST_AIR
  • RESIST_EARTH
  • RESIST_FIRE
  • RESIST_WATER
  • TELEPORT
  • TELEPORT_AWAY
  • TELEPORT_BLINK
  • TELEPORT_TO
  • WALL_KILL
  • WALL_PASS
Most of these do what they say on the tin, although the Behaviour Flags are worth noting in greater detail:
  • BEHAVE_BERSERK: This flag means the creature will do increased damage at low health.
  • BEHAVE_COWARDLY: Creatures having this flag will run away when hurt, and use ranged combat where possible, although their priority is to keep moving away from the @.
  • BEHAVE_FLEE: Creatures having this flag will flee when hurt badly.
  • BEHAVE_GREEDY: Creatures featuring this will actively prefer to pick up equipment as opposed to engaging the @ where possible.
  • BEHAVE_IGNORE: These creatures will not attack unless attacked first.
  • BEHAVE_RANGED: These creatures will attempt to stay at range and attack from a distance where possible.
If there are any more options and flags you think should be used, feel free to say so in the comments!

Tuesday 12 July 2011

Source-diving

I now have the Angband source for a deep perusal, which will help with implementation of magic and better monster AI. I think I'm moving away from a Crawl-inspired game towards an Angband inspired game, although I think there are many wonderful features in Crawl worth stealing^H^H^H^H^H^H^Hborrowing. Both are excellent games though.

Monday 11 July 2011

More on Edit Files

Following up on this post, I've had to resort to an Excel spreadsheet to extract the data from the SQLLite database and get it into a suitable format. At least it will save me the hassle of retyping all the monster stats in (there are currently 120 different creatures).

Sunday 10 July 2011

Refactoring again

Anyone remember the Great Code Refactor of 2009? I suspect there will be a sequel - the Great Code Refactor of 2011, Son of the Great Code Refactor. Looking at a lot of the code for combat, as I implement better monster AI and spells, I'm going to have to rewrite and refactor it. Still, its all good, I have plenty of ideas on how to do this, and it will cut down strongly on code size and complexity.

Saturday 9 July 2011

Moving to Edit Files

Following much thought, I've decided to move to Edit Files to store at least the Monster Definitions, instead of in an SQLLite Database. The main reason is actually flexibility.

The model I've chosen is something similar to the Angband edit file, with a few modifications. Here is the template:

# Each creature has an individual entry in the following format:
#
# N: ID : singlular name : plural name
# L: Creature Level : Rarity : Uniqable?
# E: Ecology : Type: Pickup Items?
# G: Display Character : Display Colour
# I: Hit Dice : Armour Class : Evasion : Speed
# V: Initial Alertness Level
# A: Action Frequency : Action Text
# S: Speech Frequency : Speech Text
# B: Attack Method : Attack Effect : Damage
# M: Spell | Spell | Spell | etc
# F: Flag | Flag | Flag | etc
# C: Class | Class | etc
# D: Description

Anyone familiar with the Angband source should recognise most of these options, although I've enhanced a couple, and added a few additional sections.

Below I give a couple of excerpts of 2 creatures already in Kharne translated over to the new format:

N: 2 : Kobold : Kobolds
L: 1 : Common : Yes
E: Fortress: Goblinoid: Yes
G: k: $004080
I: 1: 5: 11: 12
V: 255
A: 10: "picks a chunk of rotten meat from its teeth"
A: 10: "yips noisily"
S: 20: "I'm gonna kill you! Yip yip!"
B: HIT: HURT: 1d6
B: SHOOT: HURT: 1d6
F: COWARDLY | FLEE | OPEN_DOOR | GREEDY
F: EVIL | POISONOUS | CORPSES
F: DROP_ITEMS_POOR | DROP_CASH
C: Commando | Archer | Lurker
D: "Kobolds are short, ugly goblinoid humanoids."
D: "They are known to have cowardly and sadistic tendencies."

N: 23 : Ogre Mage : Ogre Magi
L: 4 : Rare : Yes
E: Fortress: Giant : Yes
G: O: $FF00FF
I: 4: 6: 12: 12
V: 255
A: 10: "waves a magic stick"
A: 10: "yells a magic word"
S: 20: "dis two and dat two make four, right?"
B: HIT: SLAM: 1d6
M: MAGIC_MISSILE | HEAL | HOLD | TELEPORT
F: RANGED | BESERK | OPEN_DOOR | GREEDY
F: EVIL | CORPSES
F: DROP_ITEMS_POOR | DROP_ITEMS_GOOD | DROP_CASH
D: "Ogre Magi are hideous and deformed ogres wrapped in deathly black robes"
D: "They are known to be cruel and masters of deadly arcane magics."

Friday 8 July 2011

In the next version....

I have a master list of items that comprise my "todo list". There are currently 138 items on it, comprising probably several hundred hours of development work. I'm currently combing through them, looking for achievable items to include in the next release.

So far, I have (typos, poor grammar and all):
  • Implement First level spells - have an array of ints to represent turns left for each spell effect
  • Change item generation so monsters drop more items and less are generated on the floor.
  • Corpses - some creatures drop corpses that can or cannot be chopped for food. Mainly humanoid or goblinoid or animal, or giant, but some are poisonous.
  • Reading a scroll or normal fighting or digging and opening doors produces noise - awakens any monsters within sight. Even ones out of visibility range e.g. "Something stirs in the darkness" a
  • Stealth bonus to stealth skill is reduced by wearing heavy or medium armour. Also thieves get class bonus
  • Add bonus to character stealth roll based upon distance to monster.
  • Monsters attacking makes noise
  • Monster morale? Some monsters flee if overpowered. Make an alert message to say this.
  • Thieves learn sneak much much quicker than other classes
  • Update item descriptions to make more grammatical sense. .
  • Add Elemental invasion gates. That occasionally pump out more creatures every one hundred turns or so so eventually the levels get filled up. Keep a count of the number of creatures killed - if none then allow the gate to be destroyed. Add count to dungeon object to keep track of this.
  • For monster pathing, if monster is weaker then set path to go through, and then swap them with message for pushing past - set other monster squares for pathfinding algorithim to small values equal to uncontested terrain.
  • When there is a unique present on the level, add a level feeling message like "a voice in the distance yells 'who disturbs the domain of blah the bleh'" - randomise the message slightly.

Wednesday 6 July 2011

Kharne 0.06a now available

A new version of Kharne (v0.0.6a) is now available (source also available here and released under the MPL). This is mainly a bugfix version superceding v0.0.6, although I've made some other additional changes.

Changes to this version are as follows:
  • Potions can now be drunk when confused or blind.
  • Some monsters can now pickup selected items from the dungeon floor.
  • Monster Breath Attacks are now represented graphically by a 'beam'.
  • Dungeon features (e.g. growths, piles of bones etc) are no longer passable by default and must be 'T'unnelled through to pass.
  • Added tooltips for Background Dungeon features.
  • Whenever the Player Character enters or leaves a Background Dungeon feature, an appropriate message is displayed in the Message Log.
  • Stair descriptions are now more thematically appropriate.
  • Changed the glyph for an open door from \ to '.
  • Magical items have been increased in power.
  • Fixed an issue with certain dungeon features not appearing whilst in steath or enraged.
  • Trying to drink a potion or read a scroll whilst unable to do so will no longer consume the potion or scroll.
  • Potions of See Invisible and Combat Mastery now have correct expiration messages.
  • Scrolls of Enchant Weapon will no longer enchant Shields.
  • Fixed an issue with not displaying the unidentified name of Potions of Might.
  • Potions of Might now triple the character's bonus damage, not their strength.
  • Potions can now be identified properly by using Scrolls of Identify.
  • When IDing a Scroll by using it, the Scroll Type will now be displayed in the Message Log.
  • Cursed items are now significantly worse in effect.
  • Monster Tooltips now indicate if the Monster is unaware of the Player Character.
  • Monster appearance messages now check for Player Character Stealth properly.

Monday 4 July 2011

Upcoming Bug Fixes

I've identified the following issues with potions and scrolls, which I will be fixing in a bug-fix version (0.06a) which hopefully will be released soon (in the next couple of days):
  • Some potions aren't identified after use when they should be.
  • New occurrences of some potions that have been previously identified are thereafter wrongly generated as unidentified.
  • The text to indicate that a Potion of Combat Mastery's effects have ended is wrong.
  • Rage potions are not named properly.
  • Enchant Weapon scrolls shouldn't enchant a wielded shield.
  • Some scrolls aren't being identified after use properly.
  • When raging, and trying to consume potions, even though you get the "you can't do that right now", the potion is still consumed.
Apologies if any of these bugs have disrupted gameplay.

Sunday 3 July 2011

"Overconfidence will be your weakness...."

Boo! OOD 11-headed hydras + overconfidence = dead @. Still, it was a most enjoyable run whilst it lasted, and I've come away with more ideas for Kharne (the last version of Angband I played before this was 2.7!)

[Angband 3.2.0 Character Dump]

Name Berta Self RB CB EB Best
Sex Female Age 25 STR: 18/68 +4 +5 +4 18/198
Race Half-Troll Height 85 INT: 13 -4 -2 +0 7
Class Warrior Weight 220 WIS: 12 -2 -2 +3 11
Title Commando Social Known DEX: 18/57 -4 +2 +0 18/37
HP -11/575 Maximize Y CON: 18/80 +3 +2 +0 18/130
SP 0/0 CHR: 16 -6 -1 +3 12

Level 32 Armor [37,+59] Saving Throw 43%
Cur Exp 180931 Fight (+20,+17) Stealth Fair
Max Exp 180931 Melee (+32,+29) Fighting Legendary
Adv Exp 240000 Shoot (+38,+11) Shooting Heroic
MaxDepth 1800' (L36) Blows 2.3/turn Disarming 51%
Game Turns 589895 Shots 2/turn Magic Device 32
Standard Turns 91367 Infra 30 ft Perception 1 in 43
Resting Turns 746 Speed 7 Searching 13%
Gold 30817 Burden 203.7 lbs

Your father was a Water-Troll Warrior. You have blue-bloodshot eyes,
oily dark purple hair, and white scabby skin.



rAcid:....+.+...... rConf:.........+...
rElec:*.....+.+.... Sound:.............
rFire:......+...... Shard:.......+.....
rCold:......+...... Nexus:.............
rPois:............. Nethr:......+......
rFear:............+ Chaos:.............
rLite:............. Disen:.............
rDark:......+...... S.Dig:.............
rBlnd:............. Feath:.............

Light:............. Aggrv:.............
Regen:............+ Stea.:......+......
ESP:............. Sear.:.............
Invis:...+......... Infra:............+
FrAct:..+.......... Tunn.:.............
HLife:............. Speed:...........+.
ImpHP:............. Blows:.............
ImpSP:............. Shots:.+...........
Fear:............. Might:.............


[Last Messages]

> One of your Scrolls titled "sus aetasta" of Word of Recall (j) was destroyed!
> The 11-headed hydra breathes fire.
> The 4-headed hydra squeals in pain.
> One of your Scrolls titled "nundisco" of Satisfy Hunger (i) was destroyed!
> Some of your Arrows (1d4) (+0,+0) (n) were destroyed!
> The Hellhound pushes past the 4-headed hydra.
> You zap the 11-headed hydra.
> You miss the 11-headed hydra.
> The 11-headed hydra breathes fire.
> The Hellhound resists a lot.
> Some of your Arrows (1d4) (+0,+0) (n) were destroyed!
> The 11-headed hydra breathes fire.
> The 11-headed hydra resists a lot.
> The Hellhound resists a lot.
> You die.

Killed by a 11-headed hydra.

[Character Equipment]

a) The Mace 'Taratol' (3d4) (+12,+12)
Dropped by Beorn, the Shape-Changer at 1500 feet (level 30).
*Slays* dragons.
Branded with lightning.
Provides immunity to lightning.
Cannot be harmed by acid, electricity, fire, cold.
When activated, it hastens you for d20+20 turns.
Takes 171 to 340 turns to recharge at your current speed.
Your chance of success is 87.5%
Combat info:
2.3 blows/round.
With an additional 3 strength and 0 dex you would get 2.7 blows
With an additional 0 strength and 2 dex you would get 2.7 blows
Average damage/round: 132 vs. creatures not resistant to
electricity, 171.5 vs. dragons, and 92.3 vs. others.
b) a Long Bow of Extra Shots (x3) (+18,+11) (+1)
Found lying on the floor at 1550 feet (level 31).
+1 shooting speed.
c) a Malachite Ring of Free Action
Found lying on the floor at 450 feet (level 9).
Prevents paralysis.
d) a Mithril Ring of See Invisible
Found lying on the floor at 1750 feet (level 35).
Grants the ability to see invisible things.
e) a Copper Amulet of Resist Acid
Bought from a store.
Provides resistance to acid.
Cannot be harmed by acid.
f) The Phial of Galadriel
Dropped by Nár, the Dwarf at 1000 feet (level 20).
Cannot be harmed by acid, electricity, fire, cold.
When activated, it lights up the surrounding area, hurting
light-sensitive creatures.
Takes 18 to 34 turns to recharge at your current speed.
Your chance of success is 90.4%
Radius 3 light.
g) The Soft Leather Armour 'Hithlomir' [10,+20] (+4)
Found lying on the floor at 1750 feet (level 35).
+4 stealth.
Provides resistance to acid, lightning, fire, cold, dark, nether.
Cannot be harmed by acid, electricity, fire, cold.
h) a Fur Cloak of Protection [3,+10]
Dropped by a Grave wight at 1600 feet (level 32).
Provides resistance to shards.
Cannot be harmed by acid, electricity, fire, cold.
i) a Large Metal Shield of Resist Lightning [12,+7]
Found lying on the floor at 1550 feet (level 31).
Provides resistance to lightning.
Cannot be harmed by electricity.
j) The Metal Cap of Thengel [3,+12] (+3)
Dropped by a Mature blue dragon at 1600 feet (level 32).
+3 wisdom, charisma.
Provides resistance to confusion.
Cannot be harmed by acid, electricity, fire, cold.
k) a Set of Caestus of Power (+3,+2) [5,+2] (+4)
Found lying on the floor at 1100 feet (level 22).
+4 strength.
l) a Pair of Iron Shod Boots of Speed [4,+6] (+8)
Dropped by a Dark elven warrior at 500 feet (level 10).
+8 speed.


[Character Quiver]

n) 30 Arrows (1d4) (+0,+0)
Bought from a store.
Combat info:
Hits targets up to 120 feet away.
Average damage/round: 82.6.
35% chance of breaking upon contact.
o) (nothing)
p) (nothing)
q) (nothing)
r) (nothing)
s) (nothing)
t) (nothing)
u) (nothing)
v) (nothing)
w) (nothing)


[Character Inventory]

a) 15 Rations of Food
b) 9 Gold Potions of Cure Serious Wounds
c) 58 Violet Speckled Potions of Cure Critical Wounds
d) 2 Cloudy Potions of Restore Strength
e) an Icky Green Potion of Restore Intelligence
Found lying on the floor at 1750 feet (level 35).
f) a Silver Speckled Potion of Restore Constitution
Found lying on the floor at 1750 feet (level 35).
g) a Copper Speckled Potion of Enlightenment
h) 6 Scrolls titled "quandus oc" of Phase Door
i) 20 Scrolls titled "nundisco" of Satisfy Hunger
j) 7 Scrolls titled "sus aetasta" of Word of Recall
k) 2 Nickel-Plated Rods of Treasure Location
l) 3 Cast Iron Rods of Curing
m) 3 Lead-Plated Rods of Illumination
n) 2 Zinc-Plated Wands of Trap/Door Destruction (20 charges)
o) 3 Platinum Wands of Teleport Other (27 charges)
p) 4 Sycamore Staves of Detect Invisible (45 charges)
q) a Mahogany Staff of Detect Evil (22 charges)
Dropped by a Novice paladin at 1750 feet (level 35).
r) an Elm Staff of Teleportation (6 charges)
s) 7 Cedar Staves of Identify (44 charges)
t) a Topaz Ring of Soulkeeping
Found lying on the floor at 1650 feet (level 33).
Sustains strength, intelligence, wisdom.
u) a Sling of Extra Might (x3) (+10,+22) (+1)
Found lying on the floor at 1700 feet (level 34).
+1 shooting power.


[Home Inventory]

a) a Blue Speckled Potion of Restore Dexterity
Found lying on the floor at 1600 feet (level 32).
b) a Scroll titled "fursus ducero" of *Remove Curse*
Found lying on the floor at 450 feet (level 9).
c) a Scroll titled "am cedus" of Deep Descent
Dropped by a Black knight at 1650 feet (level 33).
d) a Scroll titled "agiacto pirrum" of *Destruction*
Dropped by a Black ogre at 1500 feet (level 30).
e) a Chromium Wand of Stone to Mud (5 charges)
f) a Balsa Staff of Starlight (11 charges)
Dropped by an Uruk at 1550 feet (level 31).
g) a Main Gauche of *Slay Troll* (1d5) (+5,+11) (+1)
Found lying on the floor at 750 feet (level 15).
+1 strength.
Slays trolls.
Speeds regeneration.
Combat info:
3.8 blows/round.
With an additional 0 strength and 2 dex you would get 4.1 blows
Average damage/round: 149.7 vs. trolls, and 125.5 vs. others.
h) a Katana of Slay Demon (3d5) (+8,+8)
Dropped by an Ice troll at 1600 feet (level 32).
Slays demons.
Combat info:
3.3 blows/round.
With an additional 1 strength and 0 dex you would get 3.4 blows
With an additional 0 strength and 2 dex you would get 3.5 blows
Average damage/round: 181.8 vs. demons, and 117.5 vs. others.
i) a Ball-and-Chain of *Slay Dragon* (2d4) (+4,+7) (+1)
Found lying on the floor at 1600 feet (level 32).
+1 constitution.
*Slays* dragons.
Provides resistance to fear.
Combat info:
3.0 blows/round.
With an additional 3 strength and 0 dex you would get 3.3 blows
With an additional 0 strength and 2 dex you would get 3.3 blows
Average damage/round: 156.6 vs. dragons, and 91.2 vs. others.


============================================================
CHAR.
| TURN | DEPTH |LEVEL| EVENT
============================================================
1 0' 1 Began the quest to destroy Morgoth.
5616 50' 1 Found The Set of Gauntlets 'Paurhach' (LOST)
9483 50' 2 Reached level 2
14494 100' 2 Killed Fang, Farmer Maggot's dog
14494 100' 3 Reached level 3
14494 100' 4 Reached level 4
18450 100' 4 Killed Grip, Farmer Maggot's dog
19524 100' 5 Reached level 5
26486 150' 6 Reached level 6
36327 200' 7 Reached level 7
46211 300' 8 Reached level 8
48081 300' 9 Reached level 9
52088 350' 10 Reached level 10
52516 350' 11 Reached level 11
63456 450' 12 Reached level 12
76030 500' 13 Reached level 13
81264 500' 14 Reached level 14
89505 550' 15 Reached level 15
89688 550' 15 Killed Ufthak of Cirith Ungol
89688 550' 16 Reached level 16
91053 550' 17 Reached level 17
94708 550' 18 Reached level 18
96416 550' 19 Reached level 19
119021 650' 19 Killed Lagduf, the Snaga
122086 700' 20 Reached level 20
137186 750' 21 Reached level 21
146949 900' 22 Reached level 22
150085 950' 22 Killed Sangahyando of Umbar
152877 950' 23 Reached level 23
158592 1000' 23 Killed Nar, the Dwarf
158608 1000' 23 Found The Phial of Galadriel
160374 1000' 24 Reached level 24
168080 1000' 24 Killed Wormtongue, Agent of Saruman
169739 1000' 24 Killed Angamaite of Umbar
169932 1000' 24 Killed Bullroarer the Hobbit
174502 1050' 25 Reached level 25
181000 1100' 25 Killed Shagrat, the Orc Captain
186480 1100' 25 Killed Boldor, King of the Yeeks
199094 1350' 26 Reached level 26
206575 1350' 26 Reached level 26
208044 1350' 26 Reached level 26
211923 1400' 26 Killed Brodda, the Easterling
229571 1450' 27 Reached level 27
244687 1500' 27 Killed Khim, Son of Mim
247822 1500' 28 Reached level 28
253483 1550' 28 Killed Ugluk, the Uruk
267364 1550' 28 Killed Mim, Betrayer of Turin
278566 1600' 28 Killed Gorbag, the Orc Captain
284546 1600' 29 Reached level 29
303731 1600' 29 Killed Grishnakh, the Hill Orc
369012 0' 29 Reached level 29
388677 1550' 30 Reached level 30
393497 1500' 30 Killed Lugdush, the Uruk
403183 1600' 30 Reached level 30
404550 1600' 30 Found The Metal Cap of Thengel
418562 1600' 30 Killed Ulfast, Son of Ulfang
429823 1550' 30 Killed Bolg, Son of Azog
460637 1500' 30 Killed Beorn, the Shape-Changer
460664 1500' 30 Found The Mace 'Taratol'
469152 1550' 30 Killed Ibun, Son of Mim
474128 1550' 31 Reached level 31
480978 1600' 31 Reached level 31
484319 0' 31 Reached level 31
489729 1600' 31 Reached level 31
514270 1650' 31 Reached level 31
520086 1700' 31 Killed Lokkak, the Ogre Chieftain
531880 1750' 31 Killed Draebor, the Imp
552788 1750' 31 Killed Golfimbul, the Hill Orc Chief
572325 1750' 31 Found The Soft Leather Armour 'Hithlomir'
581708 1700' 31 Killed Uldor the Accursed
588857 1700' 32 Reached level 32


[Options]

Maximize effect of race/class bonuses : yes (adult_maximize)
Randomize the artifacts (except a few) : no (adult_randarts)
Restrict the use of stairs/recall : no (adult_ironman)
Restrict the use of stores/home : no (adult_no_stores)
Restrict creation of artifacts : no (adult_no_artifacts)
Don't stack objects on the floor : no (adult_no_stacking)
Lose artifacts when leaving level : no (adult_no_preserve)
Don't generate connected stairs : no (adult_no_stairs)
Don't show level feelings : no (adult_no_feelings)
Items always sell for 0 gold : no (adult_no_selling)
Adult: Monsters chase current location : yes (adult_ai_sound)
Adult: Monsters chase recent locations : yes (adult_ai_smell)
Adult: Monsters act smarter in groups : yes (adult_ai_packs)
Adult: Monsters learn from their mistakes : no (adult_ai_learn)
Adult: Monsters exploit players weaknesses : no (adult_ai_cheat)
Adult: Monsters behave more intelligently (broken): no (adult_ai_smart)
Score: Peek into object creation : no (score_peek)
Score: Peek into monster creation : no (score_hear)
Score: Peek into dungeon creation : no (score_room)
Score: Peek into something else : no (score_xtra)
Score: Know complete monster info : no (score_know)
Score: Allow player to avoid death : no (score_live)


Saturday 2 July 2011

Jade....meh?

So finally, after three billion years (approximately), JADE is out. Well, the first version anyway (0.10).

What did I think of it?

I have no idea.

I got as far as the 2nd character selection screen - the one with the gadzillion of skill options and went "sod it"; and switched back to stat-gaining my current Half-Troll Warrior on Angband.

There's a lesson for us all. And why Crawl is so successful. And why I ditched the intensive character min-maxing in a very early version of my own (as incomplete) roguelike.

Grab me in please. Without having to go through twenty-billion (contextless) options.

I just want to play!

Friday 1 July 2011

A little aside on crafting

I'm incredibly excited about being able to implement magic, I have great plans, which include an overhaul of Monster AI to make them quite smart (where the situation calls for it), but for now, I've got an idea for a crafting system that I can include without making too much sacrifices in terms of gameplay and playability. Its something akin to what I talked about earlier, but much simpler.

Effectively, at special forges scattered about the dungeon, one should be able to disenchant non-Artefact items into their constituent parts. So given an item like this:
A Bronze Great Sword [+4, +4] of Goblin Slaying

it increases your damage against goblins (+5)
it increases your chance to hit (+4)
it increases the damage you deal (+4)
...this item could be "disenchanted" into three residual elements. Using special anvils, also scattered about the dungeon, one could reassemble various residual elements of your choice into new item, given the investment of a plain non-magical "base" item, and...something else.

The something else is the tricky bit. This should be a non-trivial process in terms of consequences for the character, even though the interface for doing so may be simply nothing more than dropping all the items concerned onto the anvil and pressing 'A' to activate it.

The obvious penalty is something like losing a point of CON, or some HP or something every time a magical item is created. Along with the risk that the process won't work. But I don't want the cost to be too prohibitive. After all, what I'm suggested is a mechanism that is effectively a means of getting round (to a degree) resist-farming.

Anyone got any thoughts on what the trade-off should be? Or the consequences for failure at this process?

Text Truncation Bug?

I've had a bug reported to me (thank you Eben) where the text is often truncated, e.g. on the Character Creation screens. If this is happening, please try this replacement executable (no changes, just a recompile)

I've seen this before, and normally a recompile fixes it.