Sunday 31 July 2011

Policing procedural

I started the PCG wiki with the intention of cataloguing games that featured procedural generation, because, frankly, there weren't that many when I started, unless you counted things like procedural textures.

I've not put enough effort into the endeavour, because, frankly, you start a wiki so that other people can help you out, and there's not been enough contributors to keep me motivated (Although thanks to everyone who has contributed) and it became more interesting to describe all the different procedural algorithms out there, than compile a large list of games largely duplicating information already in Wikipedia.

The last few days of catching up on my RSS feeds reveals that pretty much every second game that gets mentioned now features procedural content generation. On one level, I think 'we've won' but I'm not entirely confident I'm sure what that means. Let me think about it for a little while and I'll get back to you with some further thoughts.


In case you missed the comments thread, I'm now on Google+.

Feel free to friend, uh, circle, uh, plus me up...

The jury is still out about how useful this is though.

Saturday 30 July 2011

Dwarf Fortress in NY Times Magazine

I don't want to steal any thunder from Darren Grey's Roguelike Roundup for July, but there's been quite a bit of roguelike related news this month worth celebrating:

I've had extremely limited Internet access (just enough for blogging and SVN commits) until the last few days, so I'm still 11 days behind on my usual RSS feeds. I'll update this post if I see anything else in the mean time.

(Ironically, the lack of access has helped me spend more time developing Unangband).

Quietly optimistic

Google Plus sounds like the thing I have been asking for. Unfortunately, I'm not on there yet, but I'll let you know when I am and what I think...

Thursday 28 July 2011

Anyone listening?

You'd never guess even if you extensively followed the gaming press (and I include here independent gaming blogs), that more than 10 new roguelikes were being created each month...

Friday 15 July 2011

Finished Bioshock

And I've finished Bioshock - by virtue of the last boss being a bit of an easy kill.

(Too many people design games the wrong way and make the last boss insurmountable - Puzzle Quest is the latest I've encountered which falls into this category).

Surprisingly, I restarted, looking for a higher difficulty and found there wasn't one. So much has been written about Bioshock - enough for discussion about it to coin the phrase 'ludonarrative dissonance', but very little of it on the actual game mechanics. Sure, they're a bit rubbish in places, but the looting and collection game is bizzarrely satisfying: there's never been more beautiful places to root through other people's trash; and the advancement mechanic, although it never quite comes together, hints at a number of strategies I didn't explore (I zapped and hacked and trapped, and grinded Vitachambers whenever I ran out of first aid kits, which happened too frequently). I hear Bioshock 2 fixes much of the awkwardness in combat which I've written about previously - and with the involvement of the studio which wrote the hugely enjoyable Dark Messiah: Might and Magic, I might have to pick it up the next time there's a Steam sale.

And what is it with Unreal engine games making the protagonist feel about 4 feet tall? Bioshock, the Ball... I feel like an angry Tom Cruise every time I play these.

Wednesday 13 July 2011

All fired up: part two

jdunson brings up a really interesting point in the original All Fired Up post:

Something like an "Aura of Flame" might well be a multiplier; "Increases all flame damage by +200%". Some cases might provide base damage as well, some not.
I had been thinking along similar lines about a number of related effects. Now I have a flexible way of representing multiple scalars (pvals) on an object in Unangband, I'm inspired to immediately extend the types of bonuses that can be represented.

I've already included context specific combat bonuses: to-hit, damage, number of blows/shots, damage multipliers, range; for melee, ranged weapons, throwing, traps, unarmed combat. This addresses the design problem I outlined in Throwabow: if you throw a bow with a high damage bonus, do you inflict the extra damage?

(Aside: I can immediately see from the above, that I need to include context specific damage dice and sides).

What other interesting bonuses are there?

jdunson's 'boost all fire damage by 200%' suggestion is actually more complicated than it initially appears, because of the number of different ways fire damage can occur - as I outline in Different Ways of Killing. There's weapons, spells, magic items (rods, staffs, wands), thrown oil and fiery potions. Do I also boost damage from a flask of oil (or another fire damage source) set in a trap? Does the bonus boost allies fire damage (which in Unangband is treated as equivalent to damage from the player)?

And for effects, such as spells, which persist over time, does the damage boost still apply if the item is removed?

For those bothered by my repeated mention of Team Fortress 2, the way damage effects apply there is another excellent example of unintended consequences of any of the above decisions. At the moment, TF2 has an example of a damage nerf (the Detonator) which is a secondary weapon which only does +35% damage against burning opponents, unlike the weapon it is based on (the Flaregun) which does +200% damage in the same situation. However, if you switch away from the Detonator before the projectile hits, the game no longer applies the nerf, and so you get the full +200% bonus. TF2's history of bug fixes is littered with this kind of interaction (damage bonuses against aerial opponents if they are merely standing on stairs and so on).

So I believe I'm better off by focusing on the context of the damage bonus, and then designing weapons which list the possible related contexts. To take an example: I could add boosts to casting spells by increasing the effective level of the player casting the spells, the effective level of the player when learning spells (which makes more spells available), the failure rate of spells and the casting cost of spells. In addition to a general boost, I could also add spell book specific boosts. A sword of fire would then list each of the above boosts which regards to the fire spell books, along with the relative minimum and maximum values; and when randomly generating a sword of fire item, specific values are chosen.

This does become a problem for the player to compare weapons - which is already a major issue, but hopefully the bonuses are going to be concrete enough to make a comparison (Do I want to be able to cast fireballs, or get an extra +x1 damage multiplier?).

Friday 8 July 2011

All fired up

A character is wielding a flaming sword (x3 fire damage), flaming gauntlets (x3 fire damage) and enchanted with an aura of fire (x3 fire damage).

Should he be doing:

1) x27 fire damage
2) x7 fire damage
3) +600% fire damage
4) x3 fire damage

This is an important decision that I have to make in the next version of Unangband, and it's vexing me, so I'd like your advice.

Option 1 is clearly overpowered, but one way of thinking about the problem. Options 2 and 3 are two different ways of explaining the same approach: x3 fire damage is short hand for 3 times damage against creatures not immune to fire, which could also be seen as +200% fire damage.

Option 2 is the less intuitive (how does x3 + x3 + x3 equal x7?) but option 3, which rewrites the original problem as "A character is wielding a flaming sword (+200% fire damage), flaming gauntlets (+200% fire damage) and enchanted with an aura of fire (+200% fire damage)." invites the player to think about weapons which might be +150% fire damage, or +87% fire damage. I'm designing Civilisation Revolution, not Civilisation with a V in it, so I like to work with nice whole numbers, not messy fractions.

Option 4 is the vanilla, balanced, safe option, so I have to ignore it.


Saturday 2 July 2011

Going full time

I'm stopping work for the next 6 months to look after our twin daughters. I'm not yet sure what this will mean for the blog or Unangband development: given that I was spending over 20 hours a week commuting, I hope to have some more free time but that may not end up being the case.

If opportunity permits, I'd also like to do something a little more 'experimental'.

You'll undoubtedly see some kind of change over the next few weeks. That should be indicative of whether things have changed for the better (from your point of view) or whether being a full time dad is in fact full time.