Sunday 27 December 2009

Thursday 24 December 2009

It'll be a busy few weeks for some people

Because who wins really matters.

Games I've Not Played in 2009

Looking back on my year of gaming in 2009 makes me realise I'm stuck in 2008. With the exception of Torchlight*, I have bought no major commercial releases this year, and Torchlight is not a full priced game. With the ability to buy games as cheaply as the sales that Steam and other digital distribution services have on now, as well as the discounting curve that most major release games follow, I have no incentive to pay full price for a game. I am prepared to shell out not very much money for iPhone games, of which I've bought a few. Unfortunately, the only one I play on a regular basis is Civilisation Revolution.

Of the games of 2009 which interested me:

  • Borderlands: Procedural weapon goodness. I'm there. Ridiculous Australian pricing. I'm not.
  • Left4Dead2: Censorship Australia has censored my wallet. Yes, I can hack around it, but I'd rather not buy, on the basis that Valve has more chance of pressuring the Australian government to change that set of ridiculous laws then I do (I'm a foreign national, so I can't vote in Australian elections). Besides which, I'm more angry about other ridiculous laws that are getting passed here...
  • Section 8: My multiplayer experiences this year have been cramped by a poor ADSL connection. And is it better than the continually evolving Team Fortress 2?
  • ARMA 2: Waiting for the patch that fixes everything...
  • Men of War / Order of War: Just didn't get into the demo enough to justify buying at this stage.
  • AI War and Solium Infernum: Played the demos. I can see how these games could be good in a world where I had a lot more time than I do now. What I want is a strategy game that plays like Civilisation Revolution on the iPhone. On the iPhone. Uniwar doesn't feel like it has the depth I need. And I'm sick of tower defense.
  • Dragon Age: I have Baldur's Gate disc sitting in the package, unopened. I've played the first 30 minutes of Oblivion and the first two hours of Morrowind. Why buy another RPG I won't play because of time constraints and the paralysis of 'which mods do I load?'
  • Captain Forever / Successor, Spelunky, other critically lauded indie games: I'll play these as soon as they start developing them in a genre I enjoy. Just not platforming / scrolling shooter... to be honest, this is the one area I regret not spending more time on.
  • Some console games which have got rave reviews: I still don't have a Playstation 3, Xbox 360, Nintendo Wii. And I'd only want to play Metal Gear Solid anyway. To the point where I might go look for a PSP second hand.
  • Some great sounding Nintendo DS games: Since I bought the iPhone, I haven't picked the DS up once. Actually, since Brain Training...
So a disappointing year all round. But it's been entirely my fault...

So what have I been playing?
  • Civilisation Revolution: I had to stop playing this, and start functioning as a human being. So I did what I always do to stop making a game enjoyable for me. I redesigned it.
  • Canabalt: Great two minute filler. Should really download the improved version. Review is here.
  • Puzzle Quest: Challenges of the Warlords: Parts 1 & 2 for the iPhone: Review is here.
  • Rolando 2: Bought this on the Edge's recommendation as iPhone Game of the Year (or at least #1 in their top 50 lineup). I can appreciate the vibe, but it just doesn't click for me.
  • Far Cry 2: Haven't reviewed this beyond some snide comments, but the game is surprisingly pick up and playable if I have a spare hour or so. People complain about the check points, but I enjoy the flow of planning a path through or around check points and having it go horribly wrong. Feels repetitive if you play it too long in one sitting.
  • Team Fortress 2: BFF.
  • Plants vs. Zombies: So apparently this is a 2009 commercial release. Consumed it in one sitting. Never went back. Will get my wife to play this over Christmas some time.
  • Defense Grid: The Awakening: Consumed it in two sittings - one with no sound due to a Windows bug, one with sound to see if the sound track and dialog was worth it. It really wasn't. Never went back.
  • Red Orchestra: If you ever want to feel like a hero, play this game. I cannot recommend this FPS highly enough.
  • Day of Defeat: If you ever find that all the players on your Red Orchestra server are bots, play this instead for a slightly slower, more cerebral version of TF2.
  • Torchlight: Played the heck out of the demo. Bought it, while feeling ambivelent about the poor monster path finding, resulting kiting gameplay and the slot machine loot fest. Haven't touched it since.
  • Stalker: Clear Sky: Ended up trapped in a warehouse that was just a buggy as the Stalker: Shadow of Chernobyl release. Never made it out with enough motivation to keep playing. Would go back, but suffering from mod paralysis.
  • Strange Adventures in Infinite Space and Weird Worlds: Return to Infinite Space: Really fun pick up and play games. Would be perfect for the iPhone other than screen size constraints. I'd recommend the Weird Worlds demo ahead of downloading the free version of SAiIS if you want to try before you buy.
  • Vampire: the Masquerade: Absolutely enjoyed this while feeling guilty about playing this now I'm married. Stopped at the painful sewers section, which I understand is for the best.
  • Dystopia: Still playable. Still fun. Still only play Mediums with Assault Rifles and Mediplants.
  • The Chronicles of Riddick: Escape from Butchers Bay: Really enjoy the production values and story. Couldn't figure out the stealth sections so shot everyone. Ended up in the second Super Max facility, where I apparently turned into Link from Zelda and have to do fetch quests for everyone. Will revisit this with an FAQ.
  • Spore and Call of Duty 4: Modern Warfare: Went back with the new computer, for an honest reappraisel and to give these games a second chance. They failed.
  • Research and Development: This is my GotY. And it's a free single player map pack for Half-Life 2.
* And the Void, which I just picked up this morning off Steam.

Sunday 20 December 2009

Review: Avatar

James Cameron has clearly spent his time since Titanic both becoming a fervent environmentalist and working closely with the team at Weta workshop developing his new 3d technology, because Avatar both recycles the plot and characters from hundreds of science fiction stories and contains all of the nauseating overindulgence and none of the quirky characterisation of director Peter Jackson.

In this remake of Jim Henson's the Dark Crystal for the Harry Potter generation, any time this Jim is in any danger of expressing an original idea, he instead refers to the scribbled notes he copied as an angsty teenager whilst getting beaten up by seniors and reading Orson Scott Card. Actually, that's an offensive suggestion: the Dark Crystal had balls and something to say, whereas this movie makes Ewoks: The Battle for Endor read like Solaris. These skinny blue Ewoks with boobs set back the cause of science fiction - no, make that rational thought, by a decade.

The only person to emerge with any credibility is Sam Worthington, avoiding this train wreck of a film by managing to spend less than fifteen minutes on screen. Nonetheless, I have never punched the air quite as hard as when the protagonist dies at the end of the movie (spoiler warning), which is longer than any of the characters spend reflecting on the deaths of most of the supporting cast. African and Carribean traditional dress and accents are used as shorthand for alien, which speaks volumes about the racist sensibilities of the production and design direction.

Normally the special effects team would be commended in an otherwise lackluster big summer blockbuster, but they appear to have been lost in the collision of a truck carrying hyper colour t-shirts and a tanker of vaseline.

Ages 5 - 13 will find this movie an enjoyable and inoffensive rollercoaster ride.


Saturday 19 December 2009

Request for votes: Ascii Dreams Roguelike of the Year 2009

Voting is open for 'Ascii Dreams Roguelike of the Year 2009'.

How did the roguelikes qualify?

The list was taken from the roguelike releases announced on the Rogue Basin news section between January 1st and December 19th 2009 and from the list of Actively Developing Roguelikes maintained by Jeff Lait. There are a record 99 entries this year - up from 75 the previous year.

What about 'x'?

Make sure you announced your roguelike on Rogue Basin for next year. In particular, NetHack didn't make it in, again. One of the previous winners also didn't make it in, much to my surprise. Although another roguelike developed by the same guys did, if you want to vote by proxy.

What about the 7 day roguelikes?

I decided to exclude any 7 day roguelikes that weren't announced separately. However, most of them were on Jeff Lait's list.

What's the prize?

Pride. And a sexy logo - if you want one. You can see the winning 2007 logo on the Dwarf Fortress links page. The Dungeon Crawl Stone Soup crowd didn't seem to need one. Logo designs for this year are welcome.

Having a competition is a dumb idea/offensive/stupid when you can't police the results.

Yep. Doesn't stop it being fun. You can vote for multiple different roguelikes. The idea here is that you will be encouraged to go out and download a roguelike that other people consider interesting, not that there is any kind of real competition element involved.

Results for 'What articles have you found the most interesting / useful'; new poll

Thanks to the 13 of you who voted - I always appreciated the feedback. The results were:

500th Post
0 (0%)
8PRL - My 8 pixel roguelike design
1 (7%)
A Day in the Life of a Roguelike Developer: Burnout
4 (30%)
A method for implementing player-crewed sailing vessels in Roguelikes
3 (23%)
Ascii Dreams Roguelike of the Year 2008
2 (15%)
Ascii Dreams Non-Roguelike of the Year 2008
0 (0%)
Asserting a Coding Style
3 (23%)
Confessions of a Roguelike Developer
2 (15%)
Design Reengineering
3 (23%)
2 (15%)
Here be dragons
2 (15%)
2 (15%)
Hard Core Spore
0 (0%)
I, Spy
0 (0%)
2 (15%)
IV the Revolution
0 (0%)
Left4Dead Week
1 (7%)
Moral simplification
1 (7%)
9 (69%)
Refactoring Hell
2 (15%)
Review: Puzzle Quest: Challenge of the Warlords: Chapters 1 & 2 for the iPhone
0 (0%)
Review: World of Goo
3 (23%)
The Canon of Procedural Games
1 (7%)
The Function of Narrative in Games: A Theory
0 (0%)
The Movement project
1 (7%)
The Trap of Perfect Pathfinding
4 (30%)
The Warrior's Dilemma
3 (23%)
Towards a Moral Code for Game Designers
5 (38%)
Trends for Roguelikes in 2009
3 (23%)
Violation of Contract
4 (30%)
Welsh Rarebit
1 (7%)

The next poll will be up... shortly.

Thursday 17 December 2009

Soldier vs Demo

The second best thing about the pre-release hype for the Team Fortress 2 update has been sorting out my Internet connection and getting some time spent gaming online. The ADSL 2 connection I have at home has had persistent short drop outs for the last 9 months or so, which has been fine for using browsing the net but absolute hell for online gaming. I borrowed a Draytech Vigor 2820 from work last week (because this model sorted out a similar problem one of our customers was experiencing), and since plugging it in the connection has been rock solid. I don't normally mix work and pleasure - and have no interesting in astroturfing this blog - but I am impressed enough to pass on a recommendation.

After having stayed away from online gaming for so long, I expected to be rusty, but the time away turned out to have made my heart grow fonder and made the experience seem fresh and alive. It helped that there was a map update while I was away and I suspect that the line "Significantly reduced the amount of network traffic being sent." from that update has made network play much smoother. I achieved 2nd milestone for the Heavy, Spy and Sniper - with an Uberectomy of a medic standing amidst five of his team mates - and spent plenty of time soloing as a Heavy with Natasha and a sandvich.

(As an aside, it looks like I've glitched on several achievements - I've definitely achieved Does it Hurt When I do this, and I've somehow caused no damage as a Pyro).

As for the Soldier and Demo weapons - the sword and shield leave me cold, and I'll have to play with them to get a feel for how they change the game, but the Scottish Resistance sounds exactly like the Sticky Bomb gun that I want. The Soldier weapons seem more pedestrian, catering to higher skill players - although a banner rush will be a challenge - and to be honest, since the scout update I've been playing less Soldier than Scout. I'm sure there'll be plenty of happy soldiers ready to assplode me with their crockets.

In the big scheme of things, Valve has done an incredible job balancing the introduction of so many new weapons into an already finely tuned game. Only the Sandman aka nerf bat has been rejected by high level players and it's still a fun weapon to use for those of us who are less skilled. Of the remainder, the Heavy, the Spy and (if I could shoot that damn bow) the Sniper have all had viable alternate builds added to the game, without harming their core 'feel'. The introduction of the alternate fire for the Pyro has added well needed depth to that class to the point where I think the Back Burner needs to be unnerfed (+50 health) to compete.

The Medic has suffered the most, being the first class with weapon upgrades, and the Bonesaw and Syringe Gun need to be differentiated further from their replacements (the Syringe gun should boost uber at a rate moderately faster than healing a wounded player if all shots hit at maximum rate of fire; the Bonesaw should make the medic's weapons kritz or perhaps minicrit if it hits twice in a row - similar to the KGB, but obviously with much less potential for damaging the opposition).

As for what to look forward to, I still can't think of anything more compelling than the Quik-R-Ratchet and the Big Red Button, or whatever it is Valve ends up designing for my favourite class. And whatever the 10th class is, I'd like it to be something from the list I suggested (Even if I stole them all from Dystopia).

And the best thing about the pre-release hype for Team Fortress 2's latest update? Tom Francis getting the weapon he so rightfully deserves...

Tuesday 15 December 2009


There are several approaches to allocating space for rooms for dungeon generation - Angband and variants use a cell based approach where the dungeon is divided up into 11x11 cells and then cells are marked as being filled when a room is placed which intersects the cell. The most common room size is 33x11 grids, or 3x1 cells, which was chosen because the space available in the Angband main screen was 66x22 grids on the majority of platforms it was ported to. The room sizes ensure that most rooms can be cleanly fit within the display.

A naive approach to placing the rooms is to pick a random top left-hand corner from 0 to dungeon_width - room width in cells, for the x-axis, and 0 to dungeon height - room height, again in cells, for the y axis. This approach is used in Angband and persists for the more sophisticated implementation used in Sangband (and I suspect Oangband and variants) in the find_space routine.

I've discovered several issues with find_space. The first is that space is never freed (cells marked as empty) if the room fails to be placed subsequent to find_space being called - easy enough to fix. But the one I want to talk about here is that the random approach fails significantly often - often enough for room placement to fail even when multiple attempts are made (25 per room in find_space).

My initial attempt to rectify this was to slide the room into an available space 'nearby' by moving it either horizontally or vertically a short distance and checking if it fit again. But this routine just highlighted how expensive multiple iterations within find_space was: making it 5 times more expensive (4 directions to test, plust the initial placement) resulted in a significant slow down in dungeon generation even on my Core Duo notebook.

I realised that there is one fact we know from attempting to place a room and failing that I could exploit: that the location we had tried was full. Sliding 'nearby' was counter-productive because nearby full was probably also full. So I should instead be looking as far away as possible, on the assumption that that would be empty.

The quickest way of doing far away as possible was to try reflection in either the x or y axis and try again. For checking grids near the midpoint, instead of reflecting, the code chooses either edge on that axis; basically a transformation from inner to outer. And to avoid checking the same far away multiple times, the code keeps choosing a random value for the axis that we don't transform - just like the original naive implementation.

To minimise calls to random, we just modulo the loop counter to determine which tactic to use, ensuring that the first time through the loop, as well as frequently enough in later iterations, we keep trying the naive approach.

This approach noticeably improved the success at placing rooms using find_room. It works well even if you don't randomly pick the position of the untransformed axis - because Sangband and Unangband attempt to place rooms from largest to smallest, I ended up with clusters of smaller rooms together, which had collided with a larger room in the originally attempted position, but could be placed near each other in the transformed position. I'm still undecided if I'll keep this artefact - it improves the dungeon aesthetic at a cost of requiring increased iterations to place rooms successfully.

As for moving to another placement method I've seen other coders use, such as binary subdivision, or even simulating playing Tetris, I want to keep compatibility with the original Angband code as much as possible, to keep this portable between variants.

Friday 11 December 2009

Oryxlike Assemblee Competition

Slashie wisely points out at the Temple of the Roguelike, that by far and away the best tile sets in the TIG Source Assemblee competition are for the roguelike tiles produced by Oryx. Since I have no time at the moment, I'll just point you at the Temple link and you can go from there...

Monday 30 November 2009

If you have a minute

You may want to check out Minute Dungeon by Night Flyer Games. Although I'm recommending it for vanity reasons (See the comments at this link), it is a fun 60 seconds of your time.

Wednesday 25 November 2009


My apologies for the lack of updates recently; I hope the wait will be worthwhile.

Developing roguelikes is unique in that you can reasonably be assured that if you wait long enough, someone else will come up with the solution. I added cellular automaton driven cave generation to Unangband earlier this year from an article on Rogue Basin, but never fixed one major issue with this algorithm, which is connecting the disconnected regions that this method generates. Fortunately, Ray aka Bear has come up with an elegant solution in this Post-processing to ensure map connectivity post on rgrd.

You may also want to check out another roguelike development blog (added to the roguelike links on the right) If Error Throw New Brick, where Chris Hamons is working on his roguelike Mage Crawl.

I've also played a few Unangband sorcerers recently, and realised that the class doesn't have a strong starting game. Unlike other Unangband mages, Sorcerers start with only a single attack spell, which means any creatures which resist this attack will kill the player quickly. In this example, the Sorcerer has a psychic attack spell (Mind Thrust) to which mindless creatures are immune. In the first few levels, this consists of insects (which have 'weird' minds) and plants (mushroom patches, molds etc.)

I played around with adding a second attack spell, and making the sorcerer trap spells accessible earlier, but neither felt the right approach - they ended up playing like other mages.

Instead, I've gone with adding a first level Charm Plants spell. This hopefully won't be over powering - almost all plants are stationary, and where they move, they do so by breeding, which allied monsters won't do. And it means the player has a more flexible and indirect attack method with which they may be able to snare insects and other mindless enemies. Which is the intention I had with this class all along.

Monday 16 November 2009

They are pixels, not people

Mild controversy during the week I was on holiday: Is burning a picture of a baby morally equivalent to burning a real baby? Discuss.

Friday 6 November 2009

Self-hosting Dwarf Fortress

Far more interesting than the recent release of another Dwarf Fortress visualizer, is this wiki page discussing computation using Dwarf Fortress. I look forward to a Gnu-DF module, followed shortly by a self-hosting Dwarf Fortress release.

Saturday 31 October 2009

The Quest for Quests - Part Four (Assumptions)

You may want to start this series with part one, two or three.

Quest content design is hard: which is why so many quests are either Bounties or Fed-Ex quests. In their simplest form, a Bounty is a 'go get me x of y', and a Fed-Ex is 'take a to b'. But even these simple forms raise many interesting questions and hidden assumptions - and are worth examining further.

Bounty Quests

Bounty quests traditionally involve killing n rats where n > 0, but can equally be seen as collecting n items, for similarly sized n. But rats are traditionally difficult foes in quest design, because they make the following assumptions:

i. n rats exist to be killed
ii. the rats to be killed move slower than the player and remain in accessible locations which are known to the player
iii. the player always has access to the appropriate rat-killing equipment
iv. rats in the boundaries of the agreed quest location are only killable by the player, never by anything else including natural causes, or are else recreated through spontaneous generation if they are killed by other means despite the absence of a procreative rat population due to the ongoing rat holocaust
v. by rats, the quest giver and player automatically agree that this includes or excludes rats of a particular age, gender or profession, completely distinguishable and agreed postmortem, and that the moment of gestation of a rat is definitively known
vi. the quest giver has the omniscience to know when the player has killed n rats, or the rat evidentiary material required by the quest giver only ever exists on a rat in a singular form and cannot be subdivided and is only produced due to the specific actions of the player, or there is a thriving black market in rat body parts to the exact value of the quest reward
vii. if rat evidentiary material is required, this material is perfectly preserved in perpetuity and contained within an immaculate boundary which extends beyond the player's body sufficiently to interact with this material in a defined way, or if it should decay or be lost, the rat population should replenish itself miraculously
viii. the killing of rat n, is more interesting and challenge an exercise to the player as rat n-1, which was as fulfilling as rat n-2, and so on

Assumption viii strongly suggests that there should be an increasing challenge as the player progresses through the quest. One approach may be to simply have the initial encounter be with 1 rat, the next with 2, then 3, and so on, which will guarantee that nth rat will be as interested, provide n is on the Fibonacci sequence, or the remainder included in the final encounter. Another approach may be to scale the difficulty of locating or fighting each rat higher than previously, which could be achieved by placing them randomly across a location of varying difficulty (the player will naturally migrate to the easier rats first).

As you can see, the amount of effort required to ensure that Bounty Quests cannot be failed can be considerable, and are often diametrically opposed to suspension of disbelief. If we simplify a Bounty Quest so that we just count the number of times we perform an action, instead of counting the successful outcomes of an action, we end up with a Do Something quest. The Do Something quest is an instruction to do an action so many times: such as chin up exercises in Metal Gear Solid 2, or the fight tutorials in Zelda: the Wind Waker. The Do Something quest is far easier to measure, but does not necessarily gauge skill, just determination.

If you are interested in measuring skill, you could get the same effect as a Bounty Quest but with easier to control the outcomes by using an Arena, where we place the player in a defined area, and measure their actions. Similarly, puzzles, skirmishes and mini-games can be used to measure player mastery of a set of skills without the complex boundary conditions that a Bounty Quest demands. The benefit of the Bounty Quest is that we allow the player to suspend the quest while having achieved partial completion, and potentially replenish the resources they require from elsewhere in the game world. I would argue that this benefit comes at considerable complexity and inflexibility.

Fed Ex Quests

Let's look at the set of assumptions required to perform the minimal Fed Ex quest for which the game designer has made it absolutely trivial for the player to complete:

1. The item is provided by the quest giver
2. The player can carry the item easily and safely without impact their existing abilities
3. The player cannot drop, lose, consume, sell or destroy the item in question
4. The item has no utility value to the player
5. The player cannot find the item elsewhere
6. The player can reach the requested destination
7. The destination is at a fixed point in space
8. The destination is known in advance
9. There is no time limit
10. The shortest path to the destination is clearly indicated at all times
11. The shortest path to the destination requires no expendable resources be consumed
12. When the player reaches the destination, they automatically complete the quest
13. There are no other quests which it would be useful to be closer to the destination than the start of this quest
14. The reward for completing the quest is greater than any other bonus that the player could acquire with the same time and effort elsewhere
15. The completing the quest does not change the accessibility of any other game content

Some of these assumptions are involve complex logic, such as 1, 3, 4, 5, 6 and 12, where the wrong design can result in the player not being able to complete the quest at all. For instance, if the game designer has chosen to make quest items act like other objects in the game, which results in them sharing common code (command interaction, menus, physics engines and so on), the presence and reach-ability of quest items must be guaranteed at all times.

Taking a simple example of being able to drop an quest item from the player inventory. In this instance, the player must:
a. Be able to pick the item up again
b. Not be able to drop the item in an inaccessible area
c. Not be able to prevent themselves from reaching the area they dropped the item again
d. Any other actor which picks up the item must not be able to make it inaccessible
e. Any other interaction in the game must not be able to destroy or move the item so it becomes inaccessible
f. If the location containing the item is freed from memory, it must first be saved to non-volitile in a form which it can be retrieved in subsequently
g. Data structures and code must be bug free so that the item cannot be duplicated or lost

And so on. Note that some of the above assumptions may not be achievable at all within a reasonable development time frame.

Given the complexities of assumptions which can result in a game state where a player cannot complete a quest, it is amazing the lack of effort spent on varying the assumptions for which the failure states are far simpler to control, or impossible to achieve at all. Consider assumption 2. What if there were multiple parts to quest item, of which the player could only carry some of at one time. There is the classic puzzle example of crossing a river with a fox, a hen and grain, of which only two fit in the boat at any one time, and where the the fox cannot be left with the hen on either bank, and the hen cannot be left with the grain. These sorts of simple logic problems can be woven into a quest fabric where failure states can be controlled in a much more straight forward way.

Another approach to assumption 2 would be to turn the quest into an optimisation problem. Consider an example where the whole quest item consumes multiple valuable inventory slots, but parts of the quest item can be carried in single slots. The choice is then: do I give up equipment already in these slots (which presumably gives me greater capability to reach the quest destination), or do I make multiple trips, and so take longer to complete the quest? In these types of optimisation problems, there is no failure state, only a clearly delineated series of trade offs that the player must make. Assumptions 13 and 14 similarly encourage the player to think in terms of optimal route selection.

Take care when designing these problems that the process of solving it is interesting for the player. Inventory optimisation is already an interesting decision in Angband, so the inventory slot example is appropriate for that game, but in a game where the player never reaches their inventory capacity, this mechanic would be a waste of effort .

Let's turn the notion of Fed-Ex quest on it's head for a moment. If we start by violating assumption 14, and then progressively replace unique quest items with commodities through out the other assumptions, one natural conclusion is that the counterpart to the Fed-Ex quest is a trading game, such as Elite. In this genre, fungible, easily replaced items can be purchased and sold in multiple locations, and the player focuses on the strategy of buying low and selling high. It is possible to simulate this trading game using multiple Fed Ex quests to send the player along the optimal path, but this makes the assumption there is an easily discoverable path - which may not be the case in a game which simulates market conditions by varying prices over time. You may argue that the code complexity for an interesting trading game is high, but it is no more complex than some of the challenges I highlighted in simply allowing the player to drop quest objects. The fact that Fed Ex quests are more prevalent than trading games is because most games featuring Fed Ex quests don't allow you the luxury of dropping quest items.

If no tangible item is involved in a Fed Ex quest - e.g. no item that has any impact on game play other than a UI representation, we ensure that the quest meets assumptions 1 to 5 by default, and greatly simplify the implementation of the quest code. These simpler quests usually have the option not to deliver the quest item, so that the item has nominal meaning: this is usually a narrative fig leaf covering the fact that the player is simply going to a particular destination for the quest, where not delivering the item is the equivalent of 'I don't want to advance the story yet'. In any event, whether a player is given the choice or delivering the item or not, the result of this simpler Fed Ex quest is the Go To quest, where the player is told to go to a location, and does so. Assumptions 6 -15 then fall into two categories: violating assumptions 6 - 14 are ways of keeping the journey phase of the Go To quest interesting, violating assumption 15 is a way of keeping the consequences of the Go To quest interesting. The Go To quest can be seen as the atomic counter-part to the Do Something quest I discussed above. All quests consist of these two actions (Go To and Do Something).

Keeping the journey interesting is a function of ensuring the moment to moment game play is interesting - important in a game even without quests - while keeping the consequences of completing a quest interesting is traditionally seen as a much a function of narrative as it is of game play. It is consequences I want to talk about in the next part of this series, of success, of choice and of failure.

Friday 23 October 2009

The Quest for Quests - Part Three (The Map)

You may want to start this series with part one and part two.

The traditional approach to quests in games is hand written design, followed by scripted implementation. This is not to disparage hand-written design: the map for Shadow Complex is a beautiful, complex document, which was used to prototype the game in Adobe Illustrator and proved robust enough to virtually be identical in design to the final implementation. Scripting for quests is a natural approach, because the process of completing a quest appears procedural. First you do this, then you do this, then you do this. And scripting gives you the flexibility to have a wide variety of start and end conditions for a quest: because scripting languages allow you to set up complex logic to verify that these conditions have been met.

But it is these start and end conditions that make scripting problematic because every script requires that these pre and post conditions be correctly met. I've deliberately changed to calling these pre and post conditions, because the terminology is also used in programming to define the inputs and outputs of a function. And as should be clear from Unangband, the risk of taking a programmatic design to systems introduces the potential for bugs. This raises the bar for quest design, because every quest requires programmer-level understanding of game, which limits the total pool of people who can contribute quests to your game (or requires that you check every quest yourself). So the advantage of scripting quests: allowing complex pre and post quest logic, is the same as the disadvantage of quests. Scripting paradoxically limits your ability to use it to good effect.

That is not to say that a data driven design allows you to avoid pre and post conditions, but these are implemented once, in the programming section of the code, where exceptions can be rigorously handled in a single segment of code, as opposed to required for every script. You could equally argue that you can encapsulate the complex logic for pre and post conditions for scripts in functions to the same effect. But at that point, your scripts are not going to look dissimilar from data structures - just without the advantages that a data driven design gives you.

To see those advantages, I'm going to start with the strongest example of data driven quest design that I can find. Or, more correctly, I already have. That example is Shadow Complex, inspired by the Metroid series of the games, and the quest data structure used is the map.

In the Metroid series of games, the limits to your playing space are not scripted. They are instead limited by the current powers that you have - doors require rockets or ice beams to open, lava requires upgrades to your armour, small spaces require you can transform into the Morph ball in order to fit through them. This is a straight forward lock and key design, where the keys can be re-used. What is most important about this design: it is much more robust than a scripted approach. As can be seen in Metroid speed runs, it is possible to break the individual locks, without necessarily breaking your ability to continue playing the game. In a traditional scripted approach, if you somehow bypass a section of the map and do quests out of order, the designer must have explicitly considered this in the pre and post conditions of individual scripts. With the map-as-quest, you can do sections out of order without anyone having considered the ramifications of doing so. It is still possible to end up stuck if you skip multiple power ups, and end up falling into a section of the map which requires these power ups to traverse out of. But falling is the most general case of one-way movement which otherwise only rarely occurs in map design.

And the map as quest allows us to use a mature game design tool set where we are able to prove important attributes about the map, such as connectivity, in a way that we cannot necessarily prove with scripts. We can also take advantage of procedural generation to create sophisticated maps which are more complex in one sense than any script could be.

You may feel at this point I've performed a sophisticated three-card monte to prove data driven design superior to scripting. Every game has a map, and the important thing is the scripted triggers embedded in these maps, and not the maps themselves. In a sense you are correct because it is entirely dependent on whether you have made the map interesting to traverse. In other words, is it about the quest or about the questus interruptus?

Walking to Mordor

If your map degenerates to a series of nodes, interconnected by a graph of edges, then there is no point trying to represent the map as anything more sophisticated. Puzzle Quest is refreshingly honest in this approach, and it's how I've represented the Unangband wilderness. I don't necessarily think it's the most successful map design - it is another great example of data driven quest design though - but it is much more successful than games where you get a quest, then solely use the minimap in the top right corner of the screen to get there. In simple to traverse maps, the push component of the narrative that I talked about in part two is the most important, because there is nothing sophisticated required by the pull component of the narrative. Once you know where you have to go, there is no compelling puzzle stopping you getting there.

If on the other hand, the map is non-trivial to traverse, then pull narrative can become more important. In the idealized pull narrative, you already know the destination, and there is a compelling puzzle blocking you from reaching that destination. For Far Cry 2, this is the checkpoints between you and the destination, both those marked on the map and hidden, and the area around the destination, which you have been given the opportunity to explore previously. Metroid goes one step further, and just shows you compelling puzzles, with the implicit promise of a destination, or reveal, behind the puzzle. This has the effect of both a push and pull, but without the explicit quest narrative pushing you or a destination being shown pulling you.

We should really revisit our theory of how quests and narrative interact at this point. We've found at least two examples which fall outside the bounds of the push and pull based narrative structure velocity I described in part two. The first is a single, compelling push and pull at the start of the game, which is constantly interrupted as you move towards the destination (the Lord of the Rings model). The second is no push or pull at all, but puzzles in multiple directions without destinations (the Metroid model). Both appear to be about interruptions of some kind, one built from the top down, and the other from the bottom up, which allows me to segue to my own interruption until part four.

Wednesday 21 October 2009


An attempt to recreate Angband in Blender. Video footage below:

Tuesday 20 October 2009

Review: Canabalt

Canabalt is the most adrenaline pumping, heart-stopping four dollars* you'll ever spend on the iPhone - a homage to the chase scenes in Point Break, the Matrix and Se7en with but the purity of a John Woo movie and the timing of Buster Keaton.

*Australian iPhone pricing. As per usual, the most expensive world price.

The Quest for Quests - Part Two (The Puzzle)

(You may want to start this series with part one.)

I apologise again for the authorial ellipsis of the previous part of this series. It was one of those fumble in the dark, looking for a light and likely to be eaten by a grue moments where I had to write out my thoughts and objections before I could get to the gist of what I want to say. I should be far more direct from here on in.

My chief objection to quests is how they impart narrative velocity. Narrative velocity is the reason you move forward through the game - you want to continue to see additional content because you've been excited about the rules of the game and of the world it is embedded in. Your disbelief has been suspended, you're experiencing flow, you have invested in the characters and so on. Think of it as all the good reasons to continue playing.

There are two ways to impart this velocity: you can be pushed, and you can be pulled. A push is direct: you are told you have to move forward, but you don't know the unknown you are moving towards. A push is required during the early phases of the first time you play a game, until you've figured out the rules. But it would be wrong to think of the push as the tutorial phase of the game. Many games use push the whole way through, in the form of quests and quest givers. A push can be mechanically very simple: the push in Super Mario is 'move to the right'.

A pull, however, is indirect. You know what the destination is already - 'finding all the coins' in the Super Mario example. The pull comes from the fact the game has made this destination compelling to you. This destination could be as simple as 'reaching the end of the level' - this is a pull, not a push, because the end of a level is known quantity (a 'you've reached the end of the level' screen) - it's the beginning of the next which is unknown. The pull is the payoff from getting there (loud music, bright coloured lights, operant conditioning).

Both pushes and pulls involve a promise from the designer which keeps you moving forward. The promise of a push is 'I will reveal to you something more impressive than you have already seen'. The promise of a pull is 'This thing I have shown you will be as good as you think it is'. With these promises you can see how a combination of pushes and pulls can be used to impart continuous velocity through a game.

But if the challenge of the designer is to deliver on two quite closely related promises, the challenge for the player is quite different. With a push, the player is given a to do list by the designer - as simple as 'keep moving'. With a pull, the player compiles their own to do list - again, as simple as 'get there'. The payoffs of 'Wow' (amazement at narrative resonance) for pushes and 'Yeah' (gratification of operant impulses) for pulls are psychologically quite similar, but the process of player agency is completely different: either externally applied, or internally generated.

It is this internal generation of pull based narrative velocity which is unique to games and why traditional narrative techniques are only weakly effective in motivating a player to continue playing. The two techniques are diametrically opposed in form: the novelty of push countering the repetition required of pull (See The Function of Narrative in Games: A Theory for further argument on the power of repetition in game narrative). Traditional game design requires a balance between introducing new things, and providing the payoff for each new thing introduced (Giving toys, and letting the player play with them).

And this is why, as I intimated in the previous part of this series, the puzzle is such an effective paradigm for quests in many ways. Puzzles operate mechanically as 'given this set of tools, how can I reach the payoff at the end of this known problem?' - they are almost exclusively pull based. You solve a puzzle because it's there and you have been conditioned to solve it. There is almost no narrative backstory required to push you towards it.

But the strength of a puzzle is not just about the logical deduction necessary to solve the problem - for games it is equally about the psychological rewards for using each of the tools, in reality toys, in solving the problem. That is why puzzle games like World of Goo are so successful, while adventure games have done so badly - the difference in the operant payoff between negotiating with a text parser and stretching a viscerally represented ball of malleable goo.

The quests of Far Cry 2 to me feel so successful because they are essentially the same problem repeated with new combinations of shiny, operantly rewarding toys: the weaponry you unlock as you progress. Far Cry 2 is biased far more to pull than pushed based narrative velocity, whereas most traditional quests are push based.

So for the rest of this series, I'll be looking at the quest mechanics I touched on in part one: quest content, branching dialog, main quests vs side quests, procedurally narrative structure, open world vs hub and spoke, and trying to rewrite them as pull, puzzle based mechanics instead of push, narrative mechanics, and see if the results are more compelling. But first I'll touch on an issue dear to me, script vs data driven design, and give an overview of how a data driven design can solve some of the problems of the traditional scripted quest structure. For that, you'll have to travel far from here, to part three of this series.

Sunday 18 October 2009

The Quest for Quests - Part One (The Cast)

I've played a lot of quests recently: Puzzle Quest, Vampire: the Masquerade, The Chronicles of Riddick: Escape from Butcher Bay, Far Cry 2, Cthulhu: Dark Corners of the Earth, S.T.A.L.KE.R.: Clear Sky and the demo for Armed Assault 2, and stumbling out of these games, it is my intuition that the concept of quests in games is deeply troubled one.

But first, an apology. What follows is a rambling forage through the inventory of games I've picked up recently, attempting to look for the right item to use. You'll see plenty of misapplied (ad)verbs from a list which appears at the outset only partly appropriate (only two RPGs?), and attempts to force a somewhat inappropriate syntax to parse. It should get a lot easier to read in part two and beyond when I check the spoilers for the right answer, and come back and solve some of the puzzles I skip over here. This is not a deliberate technique at obfusticating the answers - it's simply bad design and underwhelming and tangled prose.

It doesn't help that in many of these games, quests themselves are broken and bizarre. I've discussed elsewhere the fascist fantasy politics of Puzzle Quest, and a stillborn review I'm writing of Cthulhu staggers around in a semblance of life stalled by a character not recognising a quest item I hold. Equally, I blame ready access to, a refuge from broken user interfaces and game bugs, for spoiling the meat of some of the story delivered in quest form. But to my refined roguelike palate, it's not the stories which are problematic, but the way quests are used to shape and propel the game play.

Strangely, it is the most repetitive of these games, Far Cry 2, which has felt the most quest friendly, with the similarly story-lite free form quests of S.T.A.L.K.E.R. and Armed Assault 2 providing an incentive to play through the bugs (to a point: in S.T.A.L.K.E.R.: Clear Sky, I gave up at the buggy warehouse in Garbage, reproduced with both the old bugs and additional bizarreness from Shadow of Chernobyl). All three games feature an attempt at procedural narrative, clumsily told. Armed Assault 2 builds clipped dialog from context specific information ('Machine. gunner. at. 300 metres. ahead'.) - whereas the rapid fire dialog of Far Cry 2 is delivered by different characters playing similar roles, in an ostensibly dynamic, but in reality quite symmetrical structured narrative. S.T.A.L.K.E.R (either version) plays best when the Russian jokes remain untranslated.

Contrast these failures in story telling with the pitch perfect notes played by the certain characters in Vampire: the Masquerade - Troika making the Source engine sing to be the only game to make me feel like I was cheating on my wife by playing it; and the wonderful opening scenes and smart decision in Cthulhu to have characters turn the uncanny valley into the Atlantic trench (A line I'll reuse in the review should I finish it). In Chronicles, Riddick's bad guy persona voiced with journeyman effectiveness by vin Diesel conveys a compelling series of events, and the broken inmates of Butcher Bay are no less believable than the damaged stalkers of Chernobyl.

As an aside, Source remains the only engine with verisimilitude to deliver something which successfully approximates a human being in game. Every other 3d game engine seems to me to leave their 'people' with a Cthulhoid plasticity - although Far Cry 2 is not far from the mark. Only military shooter Armed Assault 2 and Puzzle Quest from the above list have characters with close to what could be called 'normal' mental states, with every other game I've listed featuring a range of inhumanity and mental pathology - let's just use that as an excuse for their facial tics, stiff movements and unnatural sheen.

So the story component of the traditional narrative driven games is not the source of my quest frustration. But then what is?

It's not the quest content. All the games feature plenty of fetch and kill this quests, as well as light puzzle action and lever pulling. I will admit to fixed puzzles being my least favourite part of quests, but nothing which a quick perusal of can't fix. I'm not especially interested in solving word games, or shuffling through inventory screens looking for the right item. Luckily, the world agrees with me that the death of the genre which featured these the most - adventure games - was more than timely.

It's not branching dialog. The games which feature it wholesale, Puzzle Quest and Vampire, avoid the typical pitfalls of branching dialog by allowing real and interesting choices respectively to make most of the conversation decision points both natural and not obvious. In Puzzle Quest, you are presented at points choices which are more freedom vs. obedience than good vs. evil, and the seemingly consequence free outcomes allow you to shape the internal morality of your character to suit the tale at hand. In Vampire, negotiating the moral morass of social interaction is as important a choice in character development as your combat skills, and where maximising your seduction skill seems a natural decision. The only oddity is presenting choices where your character sets out to deliberately antagonise without clear motivation why you would do so: I'll have to sample those on another play through.

It's not the tension between the main quest and side quests. The RPG trope of rushing off to save the world, but then stopping to rescue a cat stuck up a tree, then solve the marital problems of two strangers, then choose the right colour curtains for a neighbour, etc. didn't feature in any of the above games - although the primary driver to find Lord Bane mysteriously disappears towards the end of the first chapter of Puzzle Quest. Vampire: the Masquerade has side quests which are more compelling than the main quest simply because they feel more important (stopping a plague, finding a serial killer, solving family disputes) than the somewhat dusty and archly political orders of a vampire prince.

It's not the procedural narrative structure. The narrative in Far Cry 2 is only procedural in form, not function. You experience a narrative where your buddies are selected dynamically, telling their individual story vignettes in different orders as they send you on the same stock missions, while the larger hunt for the Jackal has only a fixed number of possible outcomes: all controlled by decisions you make. I can't tell you if this variation in form changes the emotional arc of the narrative because I haven't finished the game. But it's the mechanical moment to moment interactions which give Far Cry 2 it's emotional punch - watching a wounded enemy lie writhing on the ground in pain, waiting for his comrades to try to collect him, the brief pause before the clinical assassination of a target. Far Cry 2 is procedural because these moments are procedural: fire, weather, the AI, guns jamming and malaria flaring.

It might be the way the worlds are structured. The 'good' quest games I highlighted are all open worlds, where you are free, essentially, to explore the entire terrain of the game with minimal gating of content; while the 'bad' quest games have a hub and spoke design, with most of the content being unlocked by completing previous quests. This is a continuum - S.T.A.L.K.E.R.: Clear Sky has one significant gate which requires the main quest arc be partly completed, Far Cry 2 a couple, but the locked doors of Vampire: the Masquerade and Riddick are a frequent barrier, and Puzzle Quest refuses to open it's fantasy network up until you progress. Cthulhu is a cleverly disguised corridor shooter for the most part: with a few limited hubs that have only a little more scope than Half-Life.

Paradoxically, I believe the fixed puzzles I don't like are the solution to the dilemma I find myself in. Having said that, I've still not answered why I feel uneasy about quests, and to get that answer, I'll have to ask you to wait here for part two.

The Rules of Game Design:The Golden rule

In Towards a Moral Code for Game Designers, I sketched out some brief rules of game design, and made the promise I'll expand on them - which I'm doing in this series. I'll keep the rules punchy, short and easy to remember - the ideas are usually not mine, and I'll attempt to credit them appropriately. Feel free to respond in the comments, buttress my arguments or undermine them. Remember, I'm trying to be a force for good to Ernest Adams' evil.

'The Golden rule:' The most valuable resource in your game is the player's time and attention.

Named after: Gold, particularly gold in World of Warcraft.

Why is it important: It should be self explanatory that the player's attention is the most important resource in the game - far more important that anything else that the developers can deliver - but many people design and play games as if this as not the case. Consider the following:

1. The majority of people never reach the end of a video game. Their attention gets exhausted before the game content does.
2. The best players in Starcraft are often measured by their actions per minute - the total number of actions that they can execute effectively in parallel. In the best players, this is over 200 per minute or more than 3 meaningful clicks per second. This resource is usually more strategically important than perfecting a build queue, or the population cap, or the decision to rush, boom or turtle.
3. The number one killer of characters in Angband is tiredness, followed by boredom. The best strategy to winning the game is to attempt this in as short a time as possible - a counter intuitive approach in a game which is effectively infinitely grindable.
4. No matter how you design a game, you cannot prevent a player from choosing not to play it. In fact, trading of characters and in-game currency in MMORPGs make it possible to put economic value on skipping playing parts of the game. Some people are clearly willing to spend much more than they did on the purchase of the game, to avoid playing it.

Consequences: Design your game so that playing better is more important than playing longer. Allow good players to short cut the process of playing by opening up non-linear progression options, and skipping over any unnecessary content. Leave it up to the player to decide what content is unnecessary, rather than lock them into cut scenes and out of in-game content.

Further reading:
Half-Life 2 completion stats: Episode 1, Episode 2.
Starcraft explanation of actions per minute. UC Berkley Starcraft class, week 1.

Further viewing:

Speed runs for Metroid, Half-Life, Morrowind, Angband.

Any other recommendations?

Saturday 17 October 2009

Poll results for 'What is your Brain Hex class'; new poll

Thanks for those of you who voted in the Brain Hex poll. The 71 of you who did so help contribute to over the 7,500 responses they had received as of the 30th of September. The results for readers of this blog were:

7 (9%)
17 (23%)
6 (8%)
37 (52%)
22 (30%)
11 (15%)
9 (12%)

Contrasting this with the responses in the overall survey population:

Conqueror: 2073
Mastermind: 1597
Seeker: 1475
Achiever: 809
Socialiser: 744
Survivor: 592
Daredevil: 464

suggests that the self selecting sample at this site is paradoxically less competitive than the self-selecting population that the survey has received - with a much lower proportion of Conqueror types. [Edit: Xopods points out that I should have done some maths. We have a normal distribution of Conquerors. It's Masterminds which appears to be over represented. And that may simply be an artefact of the fact I let you choose multiple types in the poll]. Other than that, the proportions are similar to the general population. I don't know how much more you can read into samples of this size which have not been randomly selected, but that single statistic is food for thought.

The next poll is some administrative catch up. I've sporadically asked which of the articles I write on the blog you find most useful. Unfortunately, I've not done this since September last year so there's a few articles here for you to reminisce over.

You may notice as well that the overall blog output year to date is half of what I've achieved in previous years. That's simply been an impact of the time constraints of both trying to get a major release of Unangband out the door, and now having a longer commute than previously (The two are unrelated).

I would have mentioned this earlier, but bloggers writing blog posts apologizing for the lack of blog updates is a little.. hmm... I guess if Warren Ellis does it, it's okay. (BTW: Friend him on Facebook if you haven't done already).

The Canon of Procedural Games

While updating the PCG wiki today, I've come across the difficult notion of canon in procedural content generated games. I've flirted with this concept before, by defining games which are prototypically procedural, but in general I've tried to be inclusive rather than exclusive when it comes to including games in the PCG wiki.

I've hit a stumbling point writing up an article on adaptive difficulty - always a controversial point in games. I'll quote the whole article to saving you having to go to the original link:

Adaptive difficulty is the process of adjusting the game in reaction to the player. By spawning new enemies or powering up existing enemies if the player is progressing quickly through the game, or by decreasing the frequency and/or difficulty of existing enemies if the player appears to be having problems progressing, adaptive difficulty techniques attempt to create the 'optimal' game experience.

Classically, adaptive difficulty has been seen as a hard problem, requiring a level of artificial intelligence in the game to attempt to model the player to attempt to determine if they are finding the game easy or difficult.

However simpler RPG style mechanisms can also be seen as adaptive difficulty techniques. Allowing the player to level up by playing through additional easier content can ensure the player is able to grind their way through parts of the game in order to decrease the difficulty of sections of the game where the difficulty level increases. Paradoxically, adaptive difficulty techniques which increase the difficulty of the game by scaling up enemy strength have been fiercely resisted by RPG players, as can be seen by the negative reactions to the difficulty scaling in Oblivion.

Adaptive difficulty is not usually seen as a procedural content generation technique, but it has most of the features of such techniques. It could be seen as decreasing a game's randomness instead of increasing it which would make games which feature it without other PCG features to fall outside the 'canon' of PCG games.

Should I include games which have adaptive difficulty in the PCG wiki? There are plenty of examples of games which have adaptive difficulty and are procedural (Oblivion I've already mentioned, Left4Dead) but there are plenty of games which are not (SiN: Episodes). And I don't want to include every RPG, based on the argument I've made above.

The real question is not whether I should include these games, and the answer to that is probably not, but why? What good reason can I give to not include SiN: Episodes, for instance, as a procedural game?

Again, the randomness argument is the most plausible, but it is not completely convincing.

Convince me.

Tuesday 6 October 2009

Duct Tape Programmers

I didn't link to this at the time, but it popped up again in an article on Slashdot, and I think it's worth reading: Joel Spolsky discusses how to get programming done.

Saturday 3 October 2009

Iso-Angband is back

Hajo, how we missed you.

I hope the Angband community is more welcoming this time around.

Read more here and here.

Friday 2 October 2009

Review: Puzzle Quest: Challenge of the Warlords: Chapters 1 & 2 for the iPhone

It was the word cull that finally made me balk. The sallow humans who needed me to thin the numbers of goblins in the nearby forest: sunken eyed and dark-lipped as if inbred with their ghoulish neighbours to the south. They wanted the goblins dead, but phrased the process in terms of clinical population management. The same goblin race that I was trading with across the mountains were here no more than cattle or game overrunning it's permitted habitat.

Sure, I killed a few. But the word echoed in my head as I butchered the first three: burnt flesh and blood on my hands (and boots, and hair and everywhere else that the clubbing blows I inflicted sprayed their arterial viscera). And I stopped. Not because of any moral code but mere distaste for the work. (and the decision fell nowhere in the deliberate morality I had chosen: freeing the daughter from an arranged marriage, who still travelled with me, never stealing or cheating - but brutal, brutal bloody murder...)

The storm giants were next. Their chieftain I had somehow chosen to spare, turned and asked for the head of one of the thieves who had guided me to his mountain habitat. I agreed to his request, but no thief will feel my stormblade. I did hunt pegasus eggs in the mountains for them, but the nobility of the mother in her throes of death turned me from hunting any more - even though taming one of these beautiful creatures as a steed would have greatly benefitted me.

The collection of heads as bounties is no trivial matter. The tendons in the neck are tough, and need to be cut, or more often hacked through with a sharpened blade post-mortem, with particular attention paid to popping the vertebrae apart between segments. You should move the body between three and four a.m. to minimise the risk of being noticed, cut into four or five approximately equally sized pieces in the bath or shower and double-bagged in plastic garbage bags. Store the parts in the freezer to avoid the stench of decomposing flesh until you're ready to proceed, and change the sumps that could trap human matter to minimize the forensic footprint.

Every fantasy world feels like a Pangaea through which you wade waist deep in a bloody river of your own design. Humanity has always acted this way: from some primeval fear when we stared deep into the eyes of Neanderthal man and saw something truly alien staring back at us. Our so-called civilisation still gives lip-service to the idea of universal intelligence, saving dolphins to sack the rest of the sea. But as soon as we can stuff it in our mouths and swallow, we'll 'harvest' it until the wellsprings run dry. Witness the fiasco of governments stumbling to avoid declaring the bluefin tuna an endangered species. But governments have always stumbled: perpetual extensions of our partitioned, hypocritical by design brains.

Humanity as a xenophobic monoculture - eusocial and spreading through the stars in a genocidal crusade. That's why science fiction to me rings truer than those tired recreations of the hero myth.

Distract me with the shiny gems of achievement, and let me not think.

Monday 21 September 2009

IV the Revolution

[Edit: This article is a repost after I somehow deleted the original while revising it. My apologies to everyone who commented as those comments have been lost. The Google cache already appears cleared.]

[Edit 2: Now expanded and written up in a PDF]

I'm coming down off the high of Civilisation: Revolution on the iPhone and each hit feels less powerful than the last - so it should only be natural that I turn to it's chemical predecessor, Civilisation IV (Beyond the Sword to be exact) to try to replicate the initial buzz. Playing Civ IV on the weekend was an instructive experience in game design. IV initially feels like an intravenous methodone drip by way of analogy - I spent hours zoned out listening to the classical score, gently clicking the recommended blue options and admiring the graphical upgrade; and then the AI deposits itself on my door step with what Civ players refer to coyly as a 'stack of death' and aiiiieeee the burning and the stabbing.

Rinse and repeat with amusing variations: never figuring out what all this gold I'm accumulating is used for until my units start disappearing with bursts of red text, and then never figuring out how to switch to gold production economy beyond clicking the tiny 'emphasize gold production icons'; starting a religion and having some success spying until an advanced naval stack turns up next to my capital from a country complaining about my sneaky ways and 'wait a sec I never spied on you at all, only my allies'. And so on.

After dropping the difficulty level from Monarch to Prince (I can beat Rev on Deity, how hard can it be?), and experiencing the same feeling of being on a growth curve with less exponents than the AI, I realised it was time to read some strategy guides. They were... instructive. But not so much in how to play the game, but what it is.

This may seem like a truism, but Civilisation IV players like to take micro-management to a whole different level. A level which is obfuscated by the interface. Reading through the numerous guides at Civ Fanatics, the strategies described feel like breaking the game. Switching to a slave economy, chopping down forests and rushing units to attack nearby players; micro-managing worker build orders; and so on, none of which appeared important in the ten or fifteen hours I played the game.

And then I started playing Civilisation Revolution using some of the strategies suggested for Civ's little brother, and realised how poorly I had been playing. Walking through the steps required to horse rush from an American start showed how I should be winning in 1000 BC on Deity, instead of 19XX AD. And the impact of the start conditions becomes much more obvious: having the last enemy Civ over water adds another 1000 years or so to the conquest timeline.

In both instances, the starting and default suggestions are less than optimal, and I had been playing through multi-hour long games without realising the serious errors I had been making in turns 1-10. Then there's the differences between single player and multi player: in both flavours of Civilisation, the AI plays nothing like human players, and so little of the skills learned in one flavour of the game are transferable - in fact many will ruin the game experience for you and other players.

In a classic strategy game like Starcraft, there is a delicate and interesting balance between rushing - where you spawn lots of small cheap units and attempt to overwhelm the other players; booming - where you attempt to climb up the tech up the tree, possibly through building a second expansion; and turtling - where you build up defenses in preparation for an early rush.

Both Civilisation user interfaces emphasize booming - actively asking you to choose which tech you want, and what buildings or units you need to build. Revolution improves on IV by at least defaulting to producing warrior units, and will continue to produce military units if you select to produce one. And the target audience seems to be at a casual level people who like the feeling of building up a huge delicately balanced empire. Then there's this grand tradition in multi-player in both turn based and RTS games of people setting house rules to prevent rushing, which misses the point of this strategy balance. If no one rushes, everyone booms because the turtling leg of this rock, paper, scissors solution is not worth investing in. If you're all booming, random start conditions and tiny mistakes get infinitely magnified, so that the game ends up being about which player can pull a slot machine the fastest or most accurately.

But reading through the Civilisation forums, the majority of strategies involve rushing - because booming and turtling strategies are ineffective at the highest level. More casual players only booming encourages dedication to this rush strategy for more competitive players. A big part of the problem is that it is too easy to boom while you're rushing: you steal geographical space over the map which then lets you build anywhere. Starcraft avoids this problem by geographically concentrating the resources required to build expansions in a few discrete areas instead of all over the map.

My dissatisfaction with Civilisation IV is at heart because the optimal strategies are so divorced from the way the game feels like it 'should' be played. Civilisation Revolution at least gets this mostly right - but it fails at the hurdle of making boom and turtle strategies more viable. Every strategy guide I've seen is rush, rush, rush.

The remainder of this post is going to be me engaging in my usual 're-design the game post-analysis'. I couldn't resist what amounts to intellectual masturbation, but that's how I'm programmed. So below are my Civilisation Revolution house rules - I'd love to be able to implement and test them, preferrably as a Civilisation IV mod, but that'll be a lot of work.

I've gone through several iterations of how I'd modify the game, and it's been a useful exercise for me when I eventually write my own technology tree based game. The first lesson is that expanding the tech tree itself has been a major design failure - so what you see here is based entirely on the existing Civ Rev tech tree. The Civilization IV tech tree throws too many tech choices at you far too early, with them only having minimal impact on your immediate game play. The Civ Rev tech tree feels about right in it's frequency and spread of tech choices: if almost a little too tech rich in the late game, but that could equally be the fact I've been playing like a boom player.

I've also thrown out all my early unit design additions - again you'll not see any additional units suggested here. I've done this after initially underrating horsemen, and then seeing virtually every strategy starting with a horse rush, excluding those civs which have an overpowered warrior unit. So if I couldn't get the unit balance right to start with, there's no point me suggesting anything that may completely blow the balance out of the water. (One significant issue I have is that tanks feel like they appear far too early - there's none of the uncomfortable drawn out trench warfare that characterised the First World War. I've tried to tune this a little with the Foundry building).

Similarly I've not created any new wonders - there's enough already.

I've borrowed one suggestion from the Civ Rev forums, by developing a set of economic, religious, philosophy and military doctrine civics. These are chosen the same way as governments, and cause anarchy when you change. In particular I can't overemphasise how much I want to explore non-traditional economic models of society development. I've tried to enumerate most of them here: in particular the cottage or free market economic model that was responsible for much of the early liberalisation in China in the last fifteen years before it was railroaded into oligopolistic state run economy. The one economic model I've missed out in the civics is the trading model which developed between settled agrarian societies and hunter/gatherer tribes which existed for so long in prehistory and was responsible for much early development.

Government Civics
Just 2 changes to governent civics: Despotism adds an ability and Democracy replaces the existing Democracy effect. I've included the remaining civics for completeness.

Despotism (from start)
You may change your economy without revolution. No loss of culture after firing a nuke.

Monarchy (requires Monarchy)
Doubles the culture bonus from the Palace.

Republic (requires Code of Laws)
Settlers cost just 1 population point.

Communism (requires Communism)
+50% production in cities. Temples and Cathedrals do not produce culture.

Democracy (requires Democracy)
You may change your philosophy without revolution. Units without Loyalty get +50% defense in home territory.

Fundamentalism (requires Religion)
All units get +1 to attack. Libraries and Universities do not produce research.

Economic Civics

Gift Culture (from start)
Give gold to other nations in return for culture. That nation only receives a taxable share of the gold at the start of their next turn and the remainder turns into culture for you. (e.g. you 'gift' 100 gold. The recipient gets 30 gold at the start of their next turn. You get 70 culture).

Slavery (requires Bronze working)
Sacrifice population to rush production early. e.g. you can rush at any time. If you don't have enough production stockpiled to do so normally, your city loses one population.

Bureaucracy (requires Literacy)
Palace doubles city worker output of your capital instead of culture bonus (Bureaucratic monarchies get the non-monarchy palace culture bonus) - the city worker output is the +1 production, +X trade you get from working the city square.

Vassalage (requires Feudalism)
Plains and grasslands generate +1 trade if they contain your military units (spies, caravans and explorers don't count).

Cottage Industry (requires Printing Press)
Plains and grasslands generate +1 production.

Oligarchy (requires the Corporation)
+50% gold production from cities. You do not get the benefit of resources.

Capitalism (requires Globalization)
Double the benefit of resources.

Religious civics

Paganism (from start)
Barbarians can be friendly (All other religious civics only receive 15 gold from sacking friendly barbarian villages - never any other bonus).

Ancestor Worship (Ceremonial Burial)
Your units being killed generates culture (equal to their production cost times a multiplier based on period: ancient 90%, medieval 80%, industrial 70%, modern 60%).

Polytheism (Writing)
Libraries generate culture. Cathedrals have no effect.

Monotheism (Religion)
Temples generate gold. Banks have no effect.

Theocracy (Code of Laws)
Temples also act like Barracks. Cathedrals also act like Academies. Libraries and universities are destroyed when you capture a city.

Atheism (Communism)
Temples and cathedrals not destroyed when you capture a city.

Philosophy Civics

Superstitious (from start)
Your cities cannot be captured if they have at least one building. You cannot choose to become Superstitious again once you adopt another Philosophy civic.

Open (requires Alphabet)
Other civilisation units may move through your territory without being at war with you. Each turn, you automatically trade one technology with a civilisation you have met and are not at war with, unless that civilisation already controls all the technologies you have. Each side randomly picks a technology the other does not have, and gives it to them.

Spiritual (requires Irrigation)
You may change your religion without revolution. Instead of culture flipping, your cities pay tribute when they fall under the influence of another civilisation; they fall under the influence more easily than culture flipping.

Expansionist (requires Railroad)
Your units get +1 movement.

Rational (requires Mathematics)
+50% research in cities. Cathedrals and Banks have no effect.

Industrious (requires Industrialization)
+33% production. Universities have no effect.

Pacifist (requires Printing Press)
+50% city growth. You may not declare war or refuse surrender.

Military Doctrine Civics

Raiding (from start)
Your units do not cost gold to maintain. Other military doctrines require 10% of the production cost of your units to maintain them at the end of your turn. If you cannot pay the maintenance costs, you automatically suffer anarchy and switch to the Raiding military doctrine at the end of the period of anarchy.

Militia (requires Code of Laws)
Your undefended cities sacrifice one population to be defended by a militia with strength equivalent to the current defensive unit (warrior, phalanx, rifleman, infantry or modern infantry) when attacked the first time during your opponent's turn. Militias do not attain veterancy or promotions and are disbanded at the start of your turn, before paying for upkeep.

Resistance (requires Monarchy)
New units get a free promotion. Existing units get a free promotion when you change to the Resistance civic. Units outside your home territory lose a random promotion at the end of each turn. When you change away from the Resistance civic, all your units lose a random promotion (but not veterancy).

Propaganda (requires Printing Press)
Barracks and foundries produce armies/fleets/wings instead of individual units. Academies, docks and high-tech labs have no effect.

Conscription (requires Communism)
Your armies consist of four units instead of three, and have four times the attacking and defensive strength.

Professional (requires The Corporation)
You can promote a military unit once per turn by paying gold equivalent to its production cost, up to a maximum of three promotions.

The biggest problem with Civilisation is that there is no balance against having too many cities, beyond some early expansion costs when the population cost of settlers is high compared to the starting city population. I believe that there should be two balancing factors: firstly, for every 3 cities you have, you should have to acquire one additional technology to advance an technology age (e.g. from Ancient to Medieval). Secondly, and more interestingly, the number of cities you control should impact the amount of anarchy you suffer.


You must suffer anarchy whenever you want to change any civic which you cannot change for free. You only suffer anarchy if you control more than one city - civilisations with one city may choose to change any of their civics for free. When you learn a technology which gives you access to a civic, you may adopt one civic which that technology makes available without suffering anarchy. You can only choose one, if a technology makes multiple civics available.

You may choose from the following types of anarchy:

Disaster (from start; lasts 1 turn)
A random city except your capital has a building or wonder destroyed or great person killed - for every two cities you control - ignore cities you gain tribute from or have installed puppets in. If all buildings and wonders are destroyed and great people are killed, one population is sacrificed instead for each remaining two cities not accounted for. It is possible to have a city destroyed this way. You choose which civic to adopt the following turn.

Unrest (requires Alphabet; lasts 1 turn for every two cities you control)
Your cities produce no output including those cities you have installed a puppet in. Civilisations which do not have city production affected by anarchy only do so for the first turn of unrest - subsequent turns do affect them. You choose which civic to adopt at the end of the unrest.

Plague (requires Pottery; lasts 1 turn for every 2 cities you control)
All your cities sacrifice one population per turn down to the minimum city size for the era - ignore cities you gain tribute from or have installed puppets in. You choose which civic to adopt at the end of the plague.

Pogrom (requires Writing; lasts 1 turn)
All your cities sacrifice one population for every two cities you control down to the minimum city size for the era - ignore cities you gain tribute from or have installed puppets in. You choose which civic to adopt the following turn.

Inquisition (requires Religion; lasts 1 turn for every two cities you control)
Your cities produce no science and you receive no science tribute. In addition, all your cities lose one population the first turn of the inquisition if they have more than the minimum city size for the era - ignore cities which you receive tribute from or have installed puppets in. You choose which civic to adopt at the end of the inquisition.

Revolution (requires Monarchy; lasts 1 turn for every two cities you control)
Your cities produce no wealth and you receive no wealth tribute. In addition, all your cities lose one population the first turn of the revolution down to the minimum city size for the era - ignore cities you gain tribute from or have installed puppets in - and the size of your treasury halves at the first turn of the revolution. You choose which civic to adopt at the end of the revolution.

Civil War (requires Democracy; lasts 1 turn)
You lose control of half of your cities. Control of your cities is given to a civilisation not currently in the game and controlled by an AI. The cities are split up geographically, and you choose which side to take. All the technologies you have learned are given to the recipient of the remaining cities, along with any units in those cities and that civilisation starts with the civics you had prior to changing. You choose which civic to adopt the following turn.

Coup (requires Communism; lasts 1 turn for every two cities you control)
Your units may not move. Any units in your capital are destroyed the first turn of the coup - if you have none, a random military unit is destroyed. You can choose which civic to adopt at the end of the Coup.

Fiat (requires you are currently Despotism)
Fiats are issued by Despots. You can choose which Economic civic to adopt the following turn without penalty.

Election (requires you are currently Democratic)
Elections are held by Democracies. You can choose which Philosophy civic to adopt the following turn without penalty.

Enlightenment (requires you are currently Spiritual)
Enlightenment is gained by Spiritual nations. You can choose which Religious civic to adopt the following turn without penalty.

One issue with Civilisation IV is that the loss of a city is too much of a set back in the early game. To try to slow things down, I added the default superstitious philosophy civic which prevents very early city captures. Ironically, I had spent some time working on this prior to reading that Civilisation V city capture rules - where you install a puppet ruler to get partial control over a city. The capture rules as codified here have demand tribute equivalent to the Civ V puppetry rules, and install puppet the reverse. By splitting revenue down the middle, both sides have an incentive to defend the city against a third attacker.

Capturing Cities

When you would normally capture a city, you are instead given several choices:

Capture City (from start, not permitted if your opponent is superstitious or you are receiving tribute from this city)
You take control of the city. Temples and Cathedrals are destroyed unless you have the Atheism civic; Libraries and Universities are destroyed if you have the Theocracy civic.

Pillage (requires Horseback riding, not permitted if you are receiving tribute from this city or have already pillaged it this turn)
You destroy a random building (except the palace), wonder or kill a great person and any accumulated production. The attacking unit returns to your palace (or a random city) and you get gold equal to 80% of the destroyed value.

Demand Tribute (requires Code of Laws)
You receive 50% of the wealth and research output of the city from the next turn onwards, but cannot capture, pillage or culture flip the city. You lose this if another civilisation captures the city, demands tribute or installs a puppet.

Install Puppet (requires Monarchy)
You take control of the city. The previous owner receives 50% of wealth and research output from the next turn onwards, but cannot capture, pillage or culture flip the city. The previous owner loses this if another civilisation captures the city, demands tribute or installs a puppet.

With Monarchy, Spies may Install Puppet if a city is unoccupied - or perhaps emptied by one or more successful False Orders (see below). The Install Puppet consumes the Spy (as all other spying actions); enemy spies will fight first to determine whether the spying mission is successful.

The other problem which is endemic in the Civilisation series is how to keep players in the game when they begin losing. I want to flatten the tech tree anyway, so that pre-requisites are not as important, and this seems an interesting way to do it.

Managing Setbacks

The prerequisites for some technologies are waived if you perform the following actions - allowing you to potentially leapfrog some required technology if you are doing badly:

Ceremonial Burial: You lose a unit in battle. (Religious).
Ironworking: You find the Iron resource. (No bonus if you already have Ironworking).
Masonry: You have a city pillaged. (Immune to city flipping for one turn).
Writing: A spy steals more 20 or more of your gold, or destroys a fortification which results in you losing a unit in a city the same turn, or kidnaps a Great Person. (Immune to espionage for one turn).
Construction: You lose a naval unit with units on board other than an Explorer (Random unit becomes veteran).
Code of Laws: You have a puppet installed in a city you controlled. (Military Doctrine).
Irrigation: You build a city with no food adjacent to it (Philosophy).
Mathematics: You build a city with no production adjacent to it (Philosophy).
Literacy: You have a city captured. (Military Doctrine).
Democracy: You spend at least 6 turns in anarchy in the game (Government).
Currency: You have tribute demanded of your city. (Economic).
Engineering: You have at least 5 buildings destroyed - by cities being captured, pillaged or spies destroying them (Increased chance of great person for one turn).
Monarchy: You have at least 7 units from civilisations at war with you in your territory or next to cities you control (Government).
Navigation: You circumnavigate the world. (Randomly chosen civic category).
Feudalism: You lose control of your capital city; either by someone capturing it or installing a puppet in it (Military Doctrine).
Banking: A civilisation has 10 more cities than you. (Any at war with you becomes peaceful. No one can declare war on you for 5 turns).
University: You are in the Medieval era when someone reaches the Modern era (Learn one technology for free).
Religion: You have a Settler or Great Person captured without a fight. (Religious).
Invention: You are in the Ancient era when someone reaches the Industrial era (Learn one technology for free).

If you already have the relevant technology, you instead may change the civic (in brackets) without revolution the turn the setback occurs but not subsequently, or otherwise get a temporary bonus if something other than a civic is listed.

You get this benefit only the first time you suffer this setback or perform this action in a game.

One area I have found really rewarding is seeing how much work Civ Rev does with its terrain with so few terrain types available. Hills in particular are a revelation - a simple +1 sight radius and +50% attack as well as defense makes a significant strategic choice in how the game plays. The suggestions I make below attempt to play somewhat on the choices of environmental exploitation versus preservation, with a more subtle mechanic than Civ IV's chop everything in sight. I suspect I'll have to remove the hill quarrying mechanic if only because it makes it too easy to defend locations near hills. I might keep this if only the fact that the world's only triple coned volcano was quarried out of existence in my home town.

Terrain changes

Add three new terrain types: jungle, scrub and wetlands. Jungle is +1 trade, +1 production and gets +1 food with The Corporation (+1 extra with Irrigation for river squares once The Corporation is learned). Scrub is +1 food, +1 production. Wetlands is +1 trade, +1 food (+1 extra food with Irrigation - wetlands are almost always next to rivers). Jungle only occurs within one third of the equator, wetlands only next to coastal or river squares, scrub separates forest and desert.

Settlers can convert some terrain types in return for gold. This takes a full turn and requires that the settler has movement still available. The terrain types are:

Forest to plains for gold with bronze working learned.
Hills to grasslands for gold with masonry learned.
Jungle to grasslands for gold with iron working learned.
Wetlands to plains for gold with engineering learned.
Scrub to grasslands for gold with irrigation learned.

Gold returned is 20 for ancient, 30 for medieval, 40 for industrial and 50 for modern.

Once construction is learned, fortified military units can build a fort in grids other than cities, coastal or ocean terrain at a cost of 25 gold. Forts prevent the attacker from seeing the defensive unit strength unless the attacker is a scout. With engineering, forts also provide +50% defensive bonus. Forts are destroyed when an enemy military unit enters the square.

Units cannot travel over deserts without Horseback riding being learned.

Units cannot attack an enemy location protected by a Fighter except for Forts or Cities, except with Fighters. Balloons and Bombers attacking a Fort or City protected by a Fighter are automatically destroyed.

Many land units can now travel over coastal terrain. They do this by converting into a sea going unit, carrying the land unit, which then moves over coastal terrain only (or ocean terrain with the Ocean going promotion below).

Warriors and Explorers turn into Outriggers (0/1/3).
Settlers, Caravans and Spies turn into Rafts (0/1/2) or Caravels (0/1/3) when Navigation is learned.
Melee and mounted units turn into Barges (0/1/1) or Transports (0/2/4) when Steampowered is learned.
Units with the Amphibious promotion move on water with the same defense and movement statistics as they do on land but cannot attack or provide fire support while on the water. This promotion requires Steel.

Spies may issue False Orders against any city or terrain occupied by an enemy unit. A random adjacent location that the unit may move to is chosen, and the unit moves to it. If the location is already occupied (by either friendly or enemy forces), the Falses Orders fail. The False Orders consumes the Spy (as all other spying actions); enemy spies will fight first to determine whether the spying mission is successful.

Units can only travel horizontally (e.g. east or west only / left or right only) over oceans until Invention is learned.

The last movement peculiarity is of course homage to John Harrison, and in particular by restriction movement in the longitude until he invents the watch necessary to allow it. It's also an attempt to balance out the Atlantis relic a little by making it harder to discover by early navigators.

If I've limited myself to no new units, I've not restricted myself at all when it comes to this next mechanic. Unit promotions - in particular more powerful and interesting promotions - are one of the best features of Civ Rev. I'm sure I've mentioned my love of customising units elsewhere. Well, I want you to be able to go crazy.

I've balanced this, hopefully, by making each promotion require a different technology as a pre-requisite. That way you choices in the technology tree open up what your units are capable of. I'd like to restrict this further by preventing you choose promotions from technology you've acquired through backfilling.

Unit promotions

Units also get experience from naming locations and discovering relics, which can be applied towards upgrades. This allows spies, caravans and explorers to be upgraded as well - which upgrades they can have is listed below.

All unit upgrades require a tech be learned in order to be allowed the promotion. The existing promotions are reproduced below with their requirements.

Blitz - Gains an additional move after attacking; requires Ironworking.
Infiltration - +100% city attack; requires Writing.
Loyalty - +50% defense in home territory; requires Alphabet.
March (Cruise for naval units, Aerodynamics for air units)* - +1 move; requires The Wheel; settlers, explorers, spies and caravans can get this.
Engineering - +100% city defense; requires Engineering.
Guerilla - +50% attack in home territory; requires Code of Laws.
Medic* - unit can heal anywhere; requires Irrigation.
Scout* - unit can see its opponent in city battle and has 1 additional site range; requires Horseback Riding; settlers, explorers, spies and caravans can get this.
Leadership - +100% defense in a stack; requires Literacy.

The following additional promotions are added:

Heroic - +100% defense against same unit type; requires Ceremonial Burial; only pre-gunpowder units can get this.
Irregular: +50% defense against different unit types; requires Gunpowder; only pre-gunpowder units can get this.
Formation: +100% defense against Horsemen and Knights; requires Bronzeworking; only pre-gunpowder units can get this.
Decoy* - Unit appears to be an army/fleet/wing etc. until attacked - only scouts see the real combat strength before combat begins; requires Invention.
Suicide - Unit does one hp damage if it dies; requires Printing Press; only gunpowder units can get this.
Chemical*: Unit ignores fortification and veterancy bonus when attacking; requires Industrialisation; only wheeled units & aerial units can get this.
Incendiary* - Unit promotions do not apply in combat for both attacker and defender when this unit is involved; requires Construction. Veteran bonus and fortifications still apply.
Paratrooper - Unit can be carried in bombers; requires Advanced Flight; only melee units can get this.
Anti-aircraft* - unit can attack aircraft; requires Electricity; only gunpowder units can get this.
Stealth* - not visible on world map unless attacking / defending; only applies to aerial units; submarines are automatically stealthy; requires Superconductor.
ECM* - reveals stealth and decoy units (including submarines) within it's sight range; requires Electronics; only aerial units can get this.
Polar* - Unit can travel over ice; when next to pole treats all other polar locations on same hemisphere as one grid away; requires Atomic Theory; explorers, spies, caravans can get this. Submarines automatically have this when built after Nuclear Power is discovered.
Oceangoing - Unit can travel over coastal and ocean locations; requires Navigation; settlers, explorers, spies and caravans can get this, otherwise warriors but no other unit types.
Mountaineer - Unit can travel through mountains; requires Mathematics; settlers, explorers, spies, caravans and melee units can get this but no other units.
Long Range* - Unit can stay in supply one turn longer. Only aerial units and vehicles can get this. Requires Mass Production.
Pioneer - Unit gets +1 defense and can participate in combat if it normally cannot do so. Settlers, explorers, spies, caravans and melee units can get this but no other units. Requires Pottery.
Amphibious* - Unit can move on water with the same movement statistics that it has on land and can move between land and water squares without stopping - but cannot attack or provide fire support while in the water. Only melee and wheeled units can get this. Requires Steel.
Marine - Unit can attack land from sea without penalty. Only melee units can get this. Requires Steampower.

To complement the promotions, I've added and tweaked some building designs. This way you'll be able to have David building fire boats and running them at the Spanish Armada as well as have something else to spend on in those high production cities other than wonders.

New and modified buildings

Barracks (and cathedrals with theocracy) can now only upgrade melee and mounted units (Horses and Knights).
Trading Post now requires Mathematics instead of Code of Laws.
If a Galley or Galleon is built in a city with a Library, the Explorer unit gets a free promotion.
If a Spy or Caravan is built in a city with a University, the unit gets a free promotion.
If a Settler is built in a city with a Granary, the unit gets a free promotion.
Academy (cost 100): All melee and mounted units get a free promotion. Requires Democracy.
Foundry (cost 100): All wheeled units; naval units; submarine units and aerial units produced in the city will be Veteran. Requires Metallurgy.
Docks (cost 100): All naval units produced in the city get a free promotion (this and Great Leader is the only way naval units be promoted as they do not earn experience in combat). Requires Invention.
Hi-Tech Lab (cost 200): All wheeled units; aerial units produced in the city get a free promotion (this and Great Leader is the only way aerial units be promoted as they do not earn experience in combat); requires Networking. Note only promotions with an asterisk above can be awarded by a Hi-Tech Lab.
Power Plant (cost 150): A city must have a power plant in order to build more than one of Factories, Foundry, Hi-Tech Lab or SDI Defense. Requires Steam power.

Oh what the heck. How about some new units and unit revisions. The revisions are mostly to slow down combat advancement in the later game. I think Civ Rev already has enough units, so this is more an exercise in design balance and fun quirks.

Melee units
Warriors (cost 10, hp 3, combat 1/1, move 1, from start, obsolete with Ironworking)
Legion (cost 10, hp 3, combat 2/1, move 1, requires Ironworking, obsolete with Gunpowder)
Phalanx (cost 10, hp 3, combat 1/2, move 1, requires Bronzeworking, obsolete with Democracy)
Pikemen (cost 15, hp 3, combat 1/3, move 1, requires Democracy, obsolete with Gunpowder)
Riflemen (cost 20, hp 3, combat 3/5, move 1, requires Gunpowder, obsolete with Mass Production and Gunpowder)
Infantry (cost 25, hp 3, combat 3/7, move 1, requires Mass Production and Gunpowder, obsolete with Electronics)
Modern Infantry (cost 30, hp 3, combat 4/8, move 1, requires Electronics and Gunpowder)
Special Forces (cost 40, hp 2, combat 9/3, move 2, requires Communism and Gunpowder. Begins the game with one promotion)

Mounted units
Horsemen (cost 20, hp 2, combat 2/1, move 2, requires Horseback riding, obsolete with Feudalism)
War Elephant (cost 25, hp 2, combat 3/2, move 1, requires Construction, obsolete with Feudalism)
Knights (cost 25, hp 2, combat 4/2, move 2, requires Feudalism, obsolete with Industrialisation and Gunpowder)
Cavalry (cost 30, hp 2, combat 6/2, move 2, requires Industrialisation and Gunpowder, obsolete with Combustion)

Wheeled units
Chariot (cost 20, hp 1, combat 2/1, move 2, requires The Wheel, obsolete with Horseback riding)
Cannon (cost 30, hp 1, combat 6/2, move 1, requires Metallurgy, obsolete with Combustion and either The Automobile or Mass Production, the cannon can choose to bombard indirectly using the siege weapon rules below)
Armoured Car (cost 40, hp 1, combat 6/4, move 3, requires Railroad or Combustion, if without Combustion may only move on roads, obsolete with Mass Production and Combustion)
Tank (cost 50, hp 1, combat 10/6, move 3, requires Mass Production and Combustion)
Machinegun (cost 25, hp 1, combat 2/8, move 1, requires Railroad or Mass Production, if without Railroad may only move on roads, obsolete with Electronics and Gunpowder)

Siege units
These only take damage from aerial units and other siege units when attacking, but can only injure, not kill units except units which started the fight with 1 hp. Unaffected by rivers or walls. Do not move into attacking square.
Archer (cost 10, hp 3, combat 2/1, move 1, requires Bronzeworking, obsolete with Gunpowder)
Catapult (cost 20, hp 1, combat 4/1, move 1, requires Mathematics, obsolete with Metallurgy)
Artillery (cost 40, hp 1, combat 16/2, move 2, requires The Automobile or Railroad, if without The Automobile may only move on roads)

Naval units
Galley (cost 30, hp 1, combat 1/1, move 2, from start; comes with free explorer who gets promotion if galley built in city with a Library, may not move over ocean, obsolete with Construction)
Trireme (cost 30, hp 1, combat 2/2, move 2, requires Construction; comes with free explorer who gets promotion if galley built in city with a Library. May move over ocean but not end up
finishing in ocean squares, obsolete with Navigation)
Galleon (cost 30, hp 1, combat 3/3, move 3, requires Navigation; comes with free explorer who gets promotion if galley built in city with a Library, may move over ocean, obsolete with Steampower)
Cruiser (cost 40, hp 1, combat 6/6, move 5, requires Steam Power, may move over ocean)
Battleship (cost 80, hp 1, combat 12/18, move 4, requires Steel, may move over ocean)
Aircraft Carrier (cost 100, hp 1, combat 4/10, move 4, may move across ocean and can resupply fighters, requires Globalisation)

Submarine units
These are automatically stealthy. It does not cost a move for a submarine to attack.
Submarine (cost 25, hp 1, combat 12/2, move 2, requires Electricity)
Nuclear Sub (cost 80, hp 1, combat 18/3, move 4, requires Nuclear Power)

Aerial units
These are unaffected by rivers, mountains, walls or hills. Cannot capture cities. Can only be attacked by fighters or anti-aircraft units except when in cities or on aircraft carriers (for fighters).
Balloon (cost 20, hp 1, combat 2/2, move 2, requires Invention, obsolete with Flight. Resupply required every 4 rounds)
Fighter (cost 30, hp 1, combat 6/4, move 8, requires Flight. Resupply required every 2 rounds. Resupply permitted from aircraft carrier.)
Bomber (cost 60, hp 1, combat 18/3, move 6, requires Advanced Flight. Resupply required every 4 rounds.)
Rocket (cost 30, hp 1, combat 30/1, move 10, requires Atomic Theory. Rockets require resupply after 1 round. This means if they are not in a city at the end of each turn they are destroyed. Since they cannot capture cities, they are destroyed if they attack).

For convenience, I've included what changes occur for each technology. I've overloaded some and left some unchanged. You may want to compare against the original at Civfanatics.

Technology summary

Advanced Flight: Makes available - Paratrooper promotion.
Alphabet: Makes available - Loyalty promotion; Open Philosophy civic; Unrest anarchy; Explorer unit (built separately for 5 production). Libraries give a promotion to Explorer units if they are built in the same city, either if directly or if attached to a Galley or Galleon. Libraries produce culture with the Polytheism civic. Libraries are destroyed when you capture a city with the Theocracy civic.
Atomic Theory: Makes available - Polar promotion, Rocket unit.
The Automobile: Allows Artillery to move offroad.
Banking: Banks have no effect if Monotheism or Rational civics are chosen. Prerequisites waived if a civilisation has 10 more cities than you.
Bronze Working: Makes available - Slavery civic, Formation promotion, Chop forest, Phalanx unit (in addition to redesigned Archer unit).
Ceremonial Burial: Makes available - Ancestor Worship, Heroic promotion. Temples produce gold if you have the Monotheism civic. Temples are not destroyed if you capture a city with the Atheism civic. Temples also act as Barracks with the Atheism civic. Prerequisites waived if you lose a unit in battle.
Code of Laws: Makes available - Guerilla promotion, Theocracy civic, Militia civic, Demand Tribute city attack. No longer makes Trading Post available (Mathematics is now required). Prerequisites waived if you have a puppet installed by another civilisation in city you controlled. First to reach bonus for Code of Laws allows you to adopt a civic for free without anarchy.
Combustion: Makes available Armoured car unit. Allow Armoured car to move offroad. Required for Tank unit. First to reach bonus replaced by free Armoured car unit.
Communism: Makes available - Atheism civic; Conscription civic; Coup anarchy; Special forces unit (with Gunpowder).
Construction: Makes available - Incendiary promotion; Trireme unit; War Elephant unit. First to reach bonus also includes free Trireme unit. Fortified military units can build a fort in grids other than cities, coastal or ocean terrain for 25 gold. Forts prevent attacking units from seeing defensive unit strength unless the attacker is a scout and are destroyed when an enemy military unit enters the grid. Prerequisites waived if you lose a naval vessel with units in it other than an Explorer.
The Corporation: Modifies jungle: +1 food. Makes available - Oligarchy civic; Professional civic.
Currency: Prerequisites waived if another civilisation demands tribute on a city you control.
Democracy: Makes available - Academy building; Civil War anarchy. Prerequisites waived if you have 6 turns of anarchy this game.
Electricity: Makes available - Anti-aircraft promotion.
Electronics: Makes available - ECM promotion; Modern Infantry unit.
Engineering: Makes available - Engineering promotion, Drain wetlands. Forts provide +50% defensive bonus. Prerequisites waived if you have 5 buildings destroyed - by having cities you control captured, by pillaging, by spies destroying them or by the Disaster anarchy.
Feudalism: Makes available - Vassalage civic. Prerequisites waived if you lose your capital; either by someone capturing it or installing a puppet.
Flight: No change.
Globalization: Makes available - Aircraft Carrier; Capitalism civic.
Gunpowder: Makes available - Irregular promotion. Required for Infantry unit, Modern Infantry unit, Special Forces unit, Cavalry unit.
Horseback Riding: Makes available - Scout promotion, Pillage city attack. Allows movement through Desert. The Oxen resource is now made available by The Wheel. Now requires 30 technology to research.
Industrialisation: Makes available: Industrious philosophy civic, Chemical promotion, Cavalry unit (with Gunpowder).
Invention: Makes available - Docks building, Decoy promotion, Balloon unit. Allows north/south movement over ocean squares. Prerequisites waived if you are in the Ancient era and someone reaches the Industrial era.
Iron Working: Makes available - Blitz promotion. Clear jungle.
Irrigation: Makes available - Medic promotion, Spiritual philosophy civic, Clear scrubland. Prerequisites waived if you build a city with no food adjacent.
Literacy: Makes available - Bureaucracy civic, Leadership promotion. Prerequisites waived if you have a city captured by another civilisation.
Masonry: Makes available - Quarry hills. Prerequisites waived if you have a city which you control pillaged by another civilisation.
Mass Media: No change.
Mass Production: Makes available - Long range promotion, Infantry unit (with Gunpowder), Tank unit (with Combustion), Machinegun unit. Allows Machinegun unit to move offroad. First to reach bonus replaced by free Machinegun unit, free Infantry unit (if civilisation has Gunpowder) and free Tank unit (if civilisation has Combustion).
Mathematics: Makes available - Rational philosophy civic; Mountaineer promotion; Trading Post. First to reach bonus also includes Free Trading Post. Prerequisites waived if you build a city with no production adjacent.
Metallurgy: Makes available - Foundry building.
Monarchy: Makes available - Resistance civic; Install Puppet city attack; Revolution anarchy. Prerequisites waived if you have 7 units from civilisatons at war with you in your territory or adjacent to cities you control.
Navigation: Makes available - Oceangoing promotion, Caravel seagoing vessel. Prerequisites waived if you circumnavigate the world.
Networking: Makes available - Hi-Tech Lab building.
Nuclear Power: Makes available - Nuclear Sub. Submarines built after Nuclear Power discovered have the Polar promotion.
Pottery: Makes available - Pioneer Promotion; Plague anarchy. Granaries give a promotion to settlers built in the same city.
Printing Press: Makes available - Cottage Industry civic; Pacifist civic; Propagana civic; Suicide promotion.
Railroad: Makes available - Expansionist philosophy civic, Armoured Car unit, Machinegun unit, Artillery unit. The units made available by Railroad may only move on roads or cities until other technologies are learned.
Religion: Makes available - Monotheism religious civic; Inquisition anarchy. Cathedrals have no effect if the Polytheism civic is chosen. Cathedrals give melee and mounted units experience if the Theocracy civic is chosen. Cathedrals are not destroyed if you capture a city with the Atheism civic. Prequisites waived if you have a Settler or Great Person captured or killed.
Space Flight: No change.
Steampower: Makes available - Power Plant building, Transport seagoing vessel, Marine promotion.
Steel: Makes available - Amphibious promotion.
Superconductor: Makes available - Stealth promotion.
University: Universities give a promotion to spies and caravans built in the same city. Universities are destroyed if you capture a city with the Theocracy civic. Universities have no effect if you have the Industrious civic. Prerequisites waived if you are in the Medieval era and someone reaches the Modern era.
The Wheel: The Wheel is a new technology which can be learned from the start and costs 20 to learn. It is the prerequisite for Horse riding. It is required to allow roads to be built and makes available Chariots; March promotion. It enables the Oxen resource be used instead of Horseback riding.
Writing: Makes available - Infiltration promotion, Polytheism civic; Pogrom anarchy. Prerequisites waived if a spy steals 20 or more gold from you, destroys fortifications and you lose a unit from the city in the same turn or kidnaps a Great Person.

If you've made it this far, let me know what you think.