Friday, January 29, 2010



in free time development I always hit at some point an assignment that I keep avoiding, which is in this case the XP weapons. So if folks are reading this blog and they want me to do XP weapons or instead fix the bug that's been driving them crazy or do the long promised bloodmages or even shadow mages or even hedge mages, let me know.

Enjoy your weekend,

Wednesday, January 27, 2010

Choose a destination


demonic weapons are in, they dont get xp or powers yet, but at least warlocks no longer need chaotic weapons and they dont start bare handed any more. I've started play testing a Lilli Warlock to see whether things hold together with the new leveling rewards and recent changes. They do.

One thing I noticed with this character is that when casting 'Sleight of Hand' the phrase 'Choose a destination' stays on screen, even after teleporting. So I Control Shift F for the sentence 'Choose a desti" and lo and behold:

Find all "Choose a desti", Subfolders, Keep modified files open, Find Results 1, "Entire Solution"
C:\cygwin\hellband\src\cmd5.c(1394): msg_print("You open a dimensional gate. Choose a destination.");
C:\cygwin\hellband\src\cmd5.c(2374): msg_print("You open a dimensional gate. Choose a destination.");
C:\cygwin\hellband\src\cmd5.c(2810): msg_print("You focus your Chi. Choose a destination.");
C:\cygwin\hellband\src\cmd5.c(3473): msg_print("Choose a destination.");
C:\cygwin\hellband\src\cmd6.c(4770): msg_print("You open a dimensional gate. Choose a destination.");
Matching lines: 5 Matching files: 2 Total files searched: 72

The same exact code has been copy pasted 4 times, and, 1 of those times it was copy pasted by yours truly...

I guess my 'destination' at this point is to create a common routine and add some message flushing after the teleport is done ;)


Thursday, January 21, 2010

Bleeding edge download


for people who live on the wild side, I'm providing a 'wheneverly', which really is a 'nightly' whenever I remember to upload one ;)

Basically it is a bleeding edge binary of the Hellband game, Windows only, with all the new shiny features ( and bugs ) inherent to wheneverlies.

Bugs, praises and philosophic discussion is always welcome. Bleeding edge has full screen and allows testing of the new patron level rewards in debug mode.


Tuesday, January 19, 2010

Bye bye angband look ;)


all bands except Un sport the stat bar on the left, no one knows why really ;) I think part of the 'uh, another band variant' syndrome is because of this unthinking assignment of 1/3rd of the screen real estate to something that really isnt that important to the player..

Anyway, Hellband has fullscreen dungeons now, screenie :

Of course, bland dungeon generation algorythms become more apparent this way, I guess I will keep stealing from Un for some time ;]


Sunday, January 17, 2010

On Fury and Un


updates to Hellband have slowed down to a more sustainable rhythm, partly because of I've been busy with competition 80 and 81. I was second in 80 until the very end and currently am on the number one spot for 81.

Fury is a fun variant for people, like me, that liked ToME when it was growing and changing every week. It ads more craziness like Jedi Knights, and does it properly. Great games can add unbalanced features without making the game easier to win. I've been kicking ass but still haven't won the game.. I will steal the exp weapons from Fury, with only minor modifications ( who doesn't hate it when the poison realm gets assigned to your kick ass weapon.. ) 7/10 for Fury, had he not stopped development on it, it would be 9/10.

Un has been surprisingly good. I remember previous attempts with distaste and a sense of 'I want my time back'. The idea to 'find' notes all over the towns and dungeons is great, although I wish I'd actually find the actual note on the floor so that I could carry it and re-read it. I play so fast in town that the note is gone before I realize it is a note. Anyway, notes -> great idea, something to remember for Hellband. The other thing is that Un has done away with the left hand side stats part of the screen and it looks beautiful, which motivates me even more to do the same for the 0.8.8 release.

Still, Un remains bizarre. Apparently NO_TELEPORT is an upside when the item is uncursed.. Notice that others disagree :

q_ptr->art_flags3 |= TR3_NO_TELE; /* How's that for a downside? */

This code comes from Zangband where Stormbringer was deemed too powerful and got balanced by giving this flag, in Unangband it would be considered more powerful..
See comments. Still, point remains that every ego item I wear I now need to read a scroll of Phase Door or read spoilers to find out what the second ego item is that might have NO_TELE.

Still, I enjoyed the dungeons very much and the spells of competition 81 fit well together and Un gets a solid 7/10. Andrew is too much strolling from the beaten path and expects the player to either read change logs or read his mind ;)

And I have also still been coding in Hellband, current progress;

* No more warnings under Cygwin
* No more warnings under MSVC
* Demon Patrons are much revamped and as functional as before, still want to add more new stuff


Tuesday, January 12, 2010



Patron rewards are pretty much on track to be finished this week. All the changes I proposed are in except for Demonic and Undead Servants.

Servants as hinted to in my previous post will be based on player ghosts. Basically there is space reserved in Hellband for 800 monsters, but only 697 are used, so there can be 102 servants and 1 player ghost at the time of writing. Obviously Servants will need to be stored in the savegame, since they are different from game to game. I’ve cloned the player ghost code for this purpose which violates one of my personal and corporate coding rules : no copy-pasting.. I might still re-visit this and merge player ghost and Servant code at a later point.

I’ve also checked the xp gaining weapons in Furyband and I think importing them into the Hellband codebase should be a fairly straight exercise. I will write up some design document before starting coding for player feedback.


Saturday, January 09, 2010

*Curse Weapon*


after reading this , it confirmed my thoughts about curse weapon: it can make you quit the game in disgust..

As I am reworking patron rewards, I've upgraded curse weapon so that the concentration of destructive forces actually give resistances/immunities.

a) The Long Sword 'Ringil' (4d5) (-1,-2) (+10 speed) {cursed}
Heavily cursed.
+10 speed.
Slays evil creatures, undead, trolls.
*Slays* demons.
Branded with frost.
Provides resistance to cold, fear, light.
Cannot be harmed by acid, electricity, fire, cold.
Blessed by the gods. Slows your metabolism. Speeds regeneration.
Prevents paralysis. Grants the ability to see invisible things.
This is the new cursed Ringil for 0.8.8 :
The destroyed damage dice might still need addressing ;]

Examining a Long Sword (Shattered) (0d0) (-7,-5) [-3] {cursed}...
9:27 AM
15th Sep This sword is commonly found all over Europe, it's long and
<DEBUG MODE> has a cruciform hilt. All parts of the sword are used for
LEVEL 50 offensive purposes, including the pommel and crossguard.
Exp ********
AU 12345678 It weights 13.0 lb
|}=="*(()]]] It does extra damage from frost.
str! 40+ It poisons your foes.
INT: 40+ It drains life from your foes.
WIS: 40+ It is very sharp and can cut your foes.
DEX: 40+ It provides immunity to cold.
CON: 40+ It provides resistance to life draining.
CHA: 40+ It provides resistance to nether.
It provides resistance to disenchantment.
Cur AC 293 It renders you incorporeal.
Max HP 878 It slows your metabolism.
Cur HP 847 It is cursed.
Max SP 563
Cur SP 563 [Press any key to continue]

In the end, this cursed ringil gives on average only half the damage output of the old ringil, but gives immunity to cold, some high resists and ( this happens 1 in 3 ) constants wraith mode. Ringil is now at least a good swap weapon.

Thoughts are welcome, I do think I will make the damage dice reduction less drastic, maybe keep 1/3 of the dice + 1, so 4d5 becomes 2d2 instead of 0d0.


Wednesday, January 06, 2010

Demonic Patrons

So, as discussed on oook, I've been wanting to separate chaos patrons from infernal patrons. Only Chaos Knights and maybe Devil Spawns would have chaos patrons everybody else would have Demonic Patrons. Demonic Patrons will be close to Chaos ones ( different names, stats and preferences of course ), but they dont do morphing of the player, they might be a little less chaotic as well.

One thing I want to remove is pointless rewards. I really hate getting 'REW_HEAL_FULL' when my health is full and my stats are at max.. Or getting REW_EXP when I just turned level 50... So more checks need to be coded and if the reward is pointless, a different reward should be chosen.

Another thing I want to avoid with Patrons is that they mess up awesome characters. POLY_SELF with its chances of getting 2500 damage is not fun. CURSE_WEAPON and CURSE_ARMOR which blast items into something terrible and useless is not fun, especially once the player starts finding awesome artefacts..

Something I want to consider adding is preferences of Patrons for certain classes/races, so that conservative players can game the chances of getting punishments vs rewards. Also, players should be able to choose their own Patron unless of course if you're a DevilSpawn ;)

I've categorized current Chaos Patron rewards & punishments:

* Give Servants ( only Demonic and Undead, needs Fallen Angels and Devils for Demonic )
* Dispelling ( Banishment, Dispel, Mass Banishment, I think the first 2 should destroy rather than banish, giving the loot to the player )
* Gifts ( Objects , Stats, Experience )
* Theft ( Stats, Experience, Hitpoint )
* Give Opponents ( Locals and OOD's only for now, I'm thinking of more tailored results )
* TY_CURSE, everyone likes the TY_CURSE ;)
* Morphing ( wounds, race , mutations )

Changes planned :

+ I like the servant idea a lot, but not the way it is now, I am definitely planning to take the Player Ghost code and make custom made servants. Because the levels in Dis are shielded, no one shows up till level 30 when servants are given.

+ Dispelling I like, but objects should be dropped, the odds are low of this happening anyway, the player should experience 'w000000t!' or something.

+ Gifts ( yes, and none of that 'good object drop' stuff ! )

+ Theft ( I dont mind extra stat stealing, in fact I dont mind even some permanent stat damaging, especially since alchemy exists in hellband, so the player has access to more stat potions at some point ).

+ Give opponents is ok, I think there should be way more opponents though, maybe just blast away a large circle around the player and put tons of monsters with 1 or 2 turns of confusion ;] Also, in shielded levels, sometimes nobody shows up, that has to be fixed

+ TY_CURSE is so classic, I cant touch it.. Maybe check on cyberdemons though, not sure that part of the code still works in Hell. There were no cyber demons in Dante's work that I can recall.

+ And of course, last but not least, add support for reward testing in debug mode.

I need some fresh ideas on punishments for the character that do not kill the character but are still pretty damn annoying and more importantly allow the character to recover. To start off I am pretty open to dungeon/recalling/monster modifications. I'm pretty confident that I can code staircases that run away from the player, burn all scrolls of recall in inventory, replace all monsters on the dungeon with something ten levels OOD. Force a scroll of Descent on the player etc etc.

Your thoughts and ideas are most welcome.

For Linux Players


for new players on linux using the curses/gcu version, there is a trick needed to make Control S ( save ) and Control Q ( save and quit ) work.

As per the words of Pete Mack :

$ stty raw

before running the program

$stty sane at the end.

This should fix any Controls S/Q problems that you might encounter. Apparently Vanilla has this solved in their GCU build, I will find their solution and implement it in Hellband as well.


Monday, January 04, 2010

Smokin' !!

Current changes:

* Screenshots can now be in html or forum code, based on Vanilla
* Viewable items sub screen, sorted by price in shop
* Resistance to blindness as a temporary effect
* Show negative temporary effects in 'C'haracter overview

For the wishlist of 0.8.8 there is only one item left which is already in progress : nicer item description.

Any ideas, concepts or musings about the item overview screen are very welcome.


Sunday, January 03, 2010

New Mac version


* player dumps and screenshots are now in a new folder called 'dump'
* on Mac OS X, this folder is now created and its in ~/Applications/angband/Hellband087/dump
* no need to log in with root ;)
* does not crash with a mysterious 'bus' error ;)

Now, I still need to sync back to svn and see if I broke Windows or not, probably not ;)


Saturday, January 02, 2010

Band debugging of Mac

As we all know,

There are three kinds of developers, the kind that thinks debugging is for wusses, the kind that thinks graphical debugging is for wusses and finally there are productive developers ;)

For Mac :
* create your project with all your source code
* compile your project with debugging support, use the -ggdb compile option, it provides more information than -g
* Run your app
* Start xcode, open your project, click 'Run' , attach to process, choose your *band
* At this point you are debugging your game, click continue to keep playing and start putting breakpoints where you have problems

* Sometimes the process is finicky, keep trying ;)
* Sometimes breakpoint de-activate themselves, when clicking a breakpoint, it should turn dark blue, not light blue or orange.