Sunday, 17 August 2008

A Technology Bird's Nest

The smudged schizophrenic bird's nest of a graph to the left (click here to download a hi res copy) is the Graphviz output of a technology tree that I've been building. I'm in the early stages of designing a Civilization like game that incorporates a whole lot of my thinking around invention and progress, and I'm doing so in the same data-driven design methodology that I've used so successfully in Unangband, which is to come up with a whole lot of examples, play around with the data until it fits together and then develop the game play from the data.

This technology tree has been an incredibly useful exercise, even in its infant and incomplete stages. I've tried to make it invention focused - that is to take specific examples of how an invention came into being, without worrying so much on the social and economic framework required to take the invention and propagate it through society: that'll be the player's problem.

It turns out that technology is a relatively shallow phenomenon - it only takes a few steps to get from the start of human civilisation, to quite advanced technologies. For instance, as soon as you have a stove and rubber, you can invent Vulcanised rubber, and tires only requires the addition of a wheel (and maybe spokes). The discovery of electricity only requires a kite, metereology and penchant for experimentation. Gunpowder happens very early on: in fact I'm forced to deliberately delay the gunpowder invention by inserting fireworks and pyrotechnics technologies, but as the Chinese showed, you need an effective metal-casting technology, and the expansive aggressiveness to weaponise it. The Maori invented trench warfare with only fortifications and muskets, and if you think subterranean cities occur too early, realise that the Christians were building these in Turkey in the 13th century due to religious persecution and favourable local geology, with little more than determination and sharp digging tools.

That technology is shallow allows me to encourage out of order acquisition of technology that I previously wanted in a game, without flying in the face of the historical accuracy that Chris Bateman from Only a Game suggests many players want to emulate. It also shows me that I'm going to have to design a much better user interface to display up-and-coming potential technologies than the technology tree most games use: because of the wide and promiscuous linkages between inventions leads to the messy tree that I've shown you. I suspect this will be a case of displayed a limited number of technologies at the next age based on what you have currently invented, where the age is defined by the minimum number of nodes to get from nothing. So First Age technologies are hunter, gatherer, cave dweller etc, second age technologies are charcoal, sled, skinning and so on.

And thanks to Wikipedia, I've already learned that certain technology tree tropes are in fact historically inaccurate. Bronze is superior in every way to iron - the reason the iron age follows the bronze is because the Philistines unlocked the secret of recovery the metal from hematite ore and made it far more readily available: it should in fact be called the Metallurgical Age.

9 comments:

Mikolaj said...

Wow, at last your secret project comes out! =:-D

Mikolaj said...

Very interesting graph and very interesting approach.

Mikolaj said...

What engine? FreeCiv? Wesnoth? Your own, I'd guess? What programming language then?

Numeron said...

I might suggest you add Organised Crime, a fairly with a link from cocaine and money lending. A civilisation with a developed organised crime could have interesting side effects, like smuggling related trade and community protection and/or dissatisfaction. After all, once a civilisation has hit the industrial age, crime stops being rural banditry and becomes very urban. Such a shift is definately notable.
-Numeron

Antoine said...

You might be interested to know that I'm also in the middle of designing a Civilisation style game.

Looks very different from yours though :)

Antoine

Andrew Doull said...

Antoine: So when are you starting a blog? All the cool kids are doing it...

StormSeed said...

Hi,

Just so you know in the future:

Phenomenon - Singular
Phenomena - Plural

Andrew Doull said...

Thanks. Fixed.

SZDev - Slash said...

I *had* a civ-like game in development in the past...

I even looked for a community similar to roguelikes for civlikes, and found none.

May be I should get back to it.