Saturday 31 July 2010

More Angband poetry

There was a fine fellow named Keldon [1]
Whose AI for Angband worked seldom
Quite the way you expect
Hid in rooms and forget
That you'd hit them and shot them and shelled them

[1] Apparently Keldon Jones of the Keldon Jones AI fame, may have gone onto bigger and better things...

Friday 23 July 2010


One possible abuse of the ability to use Angband items in multiple ways is the ability to throw ammunition instead of shooting it from a bow or crossbow. Ammunition is light, which means you can carry a lot of it, and throwing it is 'abusive' because the damage bonus that is applied to firing ammunition is also applied to thrown ammunition, without penalty. This is exacerbated in Unangband because the damage bonus was until the latest version counted twice for thrown weapons and not multiplied by missile launchers, which meant that throwing an arrow (+9,+9) may be more effective than firing it from a longbow.

The damage bonus in this example is insensitive to it's context - it is applied equally when the item is thrown, set in a trap, or fired from a missile weapon*. And if you think the ammunition example could in some way be construed as sensible, consider that the damage bonus a bow applies to arrows fired from it, would also be applied if you threw the bow instead.

At the moment, I'm changing this: damage bonuses will be able to be context sensitive - a weapon that adds damage while fighting, won't necessarily benefit throwing or setting in a trap.

But the question I have is should I enforce this change? This is not quite Warren Spector's proximity mine climbing emergence, but it is an interesting and unintended consequence of a design that may be worth keeping.

I have the flexibility to allow missile weapons with incredibly good trap damage but no shooting damage bonus, but it is unlikely that a player would ever choose such a weapon over a missile weapon with superior shooting damage and no benefit in traps. Whereas if the weapon was multi-functional, it is more possible the player will attempt to take advantage of 'free' additional functionality at some point. I can do either approach with the approximately same level of cleanliness in the code: it is a data design issue, rather than code overhead cost.

It'd be interesting to hear your thoughts.

* There is a separate but related question about worn vs. wielded items. If a sword improves your ability to fight with it, does it also improve your ability to fight with another weapon if you hold it in your off-hand or even just strap it to your body? In particular, if you get one more blow per round with it, do you get that blow if it would be from another weapon?

True dat

“When you were born you shit yourself all the time, couldn’t talk and your hands were too small to shoryuken. in other words you really sucked at being a person, but thats ok, when you start out at anything you will suck. the same is true for making games.

- Sophie Houlden via Pentaduct

Wednesday 21 July 2010

The One Game Instructions for Player

I was reminded earlier today of my favourite TV series of all time...

Procedural swarm

You've undoubtedly seen on the interwebs that Valve have released Alien Swarm, a Source engine based top down four person coop shooter for free.

What you won't have seen - and what is really exciting - is that you can enable both the Source AI director and tile-based procedural generation of levels from the console.

Now that is game changing.

I'll write more about this later.

Monday 19 July 2010

A big commitment

If it looks like things are quiet on the Unangband development front it is because I'm feeling my way through a ridiculously big chunk of code that I probably should have committed part of already.

Unfortunately, it is mostly back end stuff which you'll see very little of in the actual game: redesigning how timed effects work, allowing items to have multiple pvals (called avals), adding approximately 96 additional item flags which are all pretty much already used in game. The pay off will be flexibility to implement everything I've implemented already. Which is how most redesign work ends up 'helping' what you do.

This sort of thing ends up happening when you code on the train without 3G access.

Sunday 18 July 2010

Review: Clive Barker's Jericho

Clive Barker's Jericho is as much fun as you make it - a squad of seven special ops straight from the Laundry each of which is equipped with enough weapons and supernatural abilities to be the lead protagonist in any other first person shooter.

And that is its greatest failing. Jericho cries out for the inspired level design and puzzle solving featured in the God of War series, and makes the mistake of borrowing the quick time events instead. And it is because you never spend enough time with any one of the squad that you will miss the depth and subtleties of each soldier's specialties.

Jericho desperately needs a Miyamoto to craft it puzzles using a strong visual language or a Warren Spector to build places explorable using a wide variety of strategies, or even just the rebel encampment from the original Predator movie to allow you to practice all the bad-assedry you'll finally get comfortable with just as the game is winding down.

You'll end up blaming the AI or seemingly under-powered characters* or uninspired corridors with their monster closet cramped close quarter fighting when you should instead be celebrating the fact that you can be a self-cutting ninja with a machine pistol whose blood sprouts snaking tentacles which grasp out at your enemies while you slice them limb from limb, or a dual-pistol wielding priest with three different ammunition load outs per weapon who can drain the life of his enemies and resurrect the fallen, or a telekinetic sniper who can steer bullets with her mind and whose high performance rifle has an under-slung grenade launcher, or an astral walking ancient history expert who has thoughtfully attached an automatic shotgun to his assault rifle - and can set alight or blood ward any creature he possesses, or a warlock with a mini-gun, a demon embedded in his arm and the largest customized pistol I've ever seen, or a reality distorting, time slowing technical expert with programmable grenades who can conjure ammunition for the rest of the team and scan enemies for weak spots.

But in fact, you are all of them.

Clive Barker's Jericho is available on Steam for a criminally low price. Play it because more games need warlocks with mini-guns.

* Two glaring examples of how badly the game explains or requires the protagonists powers: almost every review cites Jones, the astral traveler, as being underpowered. Except he can set on fire any enemy at any range which he can see, and use Church's blood magic abilities at a distance where she must do so close up. And Cole's visor highlights enemies weak spots, should you zoom in. I neither used or was aware of either ability on the first play through.

Thursday 8 July 2010

Worship the new god

Just to wrench you away from Unangband for a moment: a good summary, the confession, and yet people don't understand how random numbers work. If you generate them in advance, they're still random - unless that information is leaked. And provided you don't peek.

I crafted my backpack away last night so that I only have hats left. It feels... liberating.