It's all in your head, Part 3
- Chris
- Introversion Staff
- Posts: 1172
- Joined: Sat Nov 25, 2000 7:28 pm
- Location: Cambridge, UK
- Contact:
It's all in your head, Part 3
First week of game development is over, and its time for some new screenshots.
These screenshots represent the first weeks work in writing a procedural City Generator. Just a few incredibly simple rules govern the growth of roads in these prototypes. By making small changes to those rules, you can vastly change the result. Encouraging roads to run North-South or East-West results in Manhattan style street grids, whereas encouraging roads to circle population centres results in lovely radial street patterns. These are obviously very early prototype shots but I wanted to show the incredible power (and beauty) of procedurally generated content, even at this early stage.
Procedural content is a phenomenally powerful tool for game development, utterly crucial to companies like Introversion and basically ignored by the bigger boys in favour of banks of expensive artists. For those that have absolutely no idea what I’m talking about, Procedural content is basically content that has been generated automatically by a computer algorithm, rather than hand crafted by an artist. So for example I could hire an artist to sculpt a mountain surrounded by some hills, and he could work for hours carving out caves and rock faces and etching detail into the surface. The more detail I require, the longer my artist has to work and the more it costs me. As the years roll by, the bar is gradually raised and the amount of detail required for todays models is extraordinary – the time and money required goes up every year.
Alternatively, I could write a few hundred lines of code and generate the entire mountain and hills procedurally, using fairly easy to understand mathematics. I can control the amount of detail I am generating – more detail doesn’t cost any more to produce than less detail. As the years roll by and the standards rise, CPU power increases and higher and higher detail landscapes can be generated with exactly the same algorithms. Mountains and hills are good examples, because most landscape follows simple mathematical rules and can be easily approximated, but in reality most things can be modelled using algorithms – trees, streets, cities, planets, star systems. Darwinia made extensive use of procedurally generated landscapes – we designed the landscapes at an extremely high level (eg Mountain here, Flat land here, Water there) and the algorithms did the rest. Will Wright’s “Spore” appears to be blazing a trail – procedurally generating an entire universe from the galaxy level right down to the amoeba. The content generation in Spore is even guided by the players as part of the game – absolute Game Design Genius.
It’s not even a new method – procedural content generation used to be the only way to generate content for games, as storage space was so extremely low and it just wasn’t practical to store high resolution models and graphics in memory or on disk/tape. Ever wonder how Frontier fitted a whole galaxy onto a single floppy disk? This was one of the best examples of procedural content, generating each star system and planet in memory when it was required using simple algorithms. Now that storage space is no longer an issue Procedural generation has become something of a lost art, but I believe it is the secret weapon that most developers have yet to (re)discover.
Here’s a video showing the algorithms at work in realtime. (xvid codec)
These screenshots represent the first weeks work in writing a procedural City Generator. Just a few incredibly simple rules govern the growth of roads in these prototypes. By making small changes to those rules, you can vastly change the result. Encouraging roads to run North-South or East-West results in Manhattan style street grids, whereas encouraging roads to circle population centres results in lovely radial street patterns. These are obviously very early prototype shots but I wanted to show the incredible power (and beauty) of procedurally generated content, even at this early stage.
Procedural content is a phenomenally powerful tool for game development, utterly crucial to companies like Introversion and basically ignored by the bigger boys in favour of banks of expensive artists. For those that have absolutely no idea what I’m talking about, Procedural content is basically content that has been generated automatically by a computer algorithm, rather than hand crafted by an artist. So for example I could hire an artist to sculpt a mountain surrounded by some hills, and he could work for hours carving out caves and rock faces and etching detail into the surface. The more detail I require, the longer my artist has to work and the more it costs me. As the years roll by, the bar is gradually raised and the amount of detail required for todays models is extraordinary – the time and money required goes up every year.
Alternatively, I could write a few hundred lines of code and generate the entire mountain and hills procedurally, using fairly easy to understand mathematics. I can control the amount of detail I am generating – more detail doesn’t cost any more to produce than less detail. As the years roll by and the standards rise, CPU power increases and higher and higher detail landscapes can be generated with exactly the same algorithms. Mountains and hills are good examples, because most landscape follows simple mathematical rules and can be easily approximated, but in reality most things can be modelled using algorithms – trees, streets, cities, planets, star systems. Darwinia made extensive use of procedurally generated landscapes – we designed the landscapes at an extremely high level (eg Mountain here, Flat land here, Water there) and the algorithms did the rest. Will Wright’s “Spore” appears to be blazing a trail – procedurally generating an entire universe from the galaxy level right down to the amoeba. The content generation in Spore is even guided by the players as part of the game – absolute Game Design Genius.
It’s not even a new method – procedural content generation used to be the only way to generate content for games, as storage space was so extremely low and it just wasn’t practical to store high resolution models and graphics in memory or on disk/tape. Ever wonder how Frontier fitted a whole galaxy onto a single floppy disk? This was one of the best examples of procedural content, generating each star system and planet in memory when it was required using simple algorithms. Now that storage space is no longer an issue Procedural generation has become something of a lost art, but I believe it is the secret weapon that most developers have yet to (re)discover.
Here’s a video showing the algorithms at work in realtime. (xvid codec)
Last edited by Chris on Tue Jan 02, 2007 7:01 pm, edited 2 times in total.
- The GoldFish
- level5
- Posts: 3961
- Joined: Fri Mar 01, 2002 9:01 pm
- Location: Bowl / South UK
- Contact:
So, after all the hocus pocus, tomfoolery and mystery talk, it's now obvious to us all what Subversion is;
The best screensaver ever!
:P
The best screensaver ever!
:P
-- The GoldFish - member of former GIT and commander in chief of GALLAHAD. You could have done something, but it's been fixed. The end. Also, play bestgameever!
When is IV going to release a screensaver pack? :P
Seriously -- Defcon rolling demo, Darwinia bootloaders (especially souls, raytrace, and game_of_life[_glow]), and Subversion's landscape generator.
And, obviously, Subversion is the next SimCity clone. Honestly, IV, I am a bit disappointed by yet another city simulator. Hasn't that been done to death already? :P
xander
Seriously -- Defcon rolling demo, Darwinia bootloaders (especially souls, raytrace, and game_of_life[_glow]), and Subversion's landscape generator.
And, obviously, Subversion is the next SimCity clone. Honestly, IV, I am a bit disappointed by yet another city simulator. Hasn't that been done to death already? :P
xander
For some reason quicktime won't play that video but it sounds amazing. Sorry if i've missed something but if the terrain is generated using equations then how do you generate different hills, would there not have to be a new set of equations for every hill made to stop them all being identical? i know next to nothing about game development so IV writing this blog seems like a great way to learn, thanks alot!
xander wrote:And, obviously, Subversion is the next SimCity clone. Honestly, IV, I am a bit disappointed by yet another city simulator. Hasn't that been done to death already?
xander
yes, but this is a Simcity clone that plays itself, giving you a lot more time to raise taxes and overall subvert the system
- Chris
- Introversion Staff
- Posts: 1172
- Joined: Sat Nov 25, 2000 7:28 pm
- Location: Cambridge, UK
- Contact:
The video is encoded using Xvid. We will probably be using xvid for all our videos in this dev blog, as it does excellent compression without losing the sharp vector lines. You can download the xvid codec for windows or mac here.
Really interesting.
Tho, it looks like YACS ( Yet-Another-City-Simulator ). Of course, I don't know Introversion are doing with it. Neither do I know if it's even a city simulator.
The video is pretty nice, although it looks like you had some frame rate problems when you recorded it. Also it looks like a screen saver. When will you release a screen saver pack? ;P
Anyways, I like it.
EDIT: Prophile, none of those are red.
Anders
Tho, it looks like YACS ( Yet-Another-City-Simulator ). Of course, I don't know Introversion are doing with it. Neither do I know if it's even a city simulator.
The video is pretty nice, although it looks like you had some frame rate problems when you recorded it. Also it looks like a screen saver. When will you release a screen saver pack? ;P
Anyways, I like it.
EDIT: Prophile, none of those are red.
Anders
Last edited by sirvoks on Tue Jan 02, 2007 7:23 pm, edited 1 time in total.
Where is the pre-order button?
Jelco
PS: Creator, the landscape is not generated automatically. The video shows the same landscape over and over again, but the road pattern is differently generated each time. The landscape generation was part of building Darwinia, as Chris (a.k.a. God) explained.
ah ok i see now, thanks!
- Ace Rimmer
- level5
- Posts: 10803
- Joined: Thu Dec 07, 2006 9:46 pm
- Location: The Multiverse
sirvoks wrote:Really interesting.
Tho, it looks like YACS ( Yet-Another-City-Simulator ). Of course, I don't know Introversion are doing with it. Neither do I know if it's even a city simulator.
EDIT: Prophile, none of those are red.
For some reason, if the game is going to be a YACS, I doubt they would be doing an algorithm that builds the cities by itself. more likely, that will be the game maps or something.
And the herrings do lack a certain reddish tonality.
Chris wrote:The video is encoded using Xvid. We will probably be using xvid for all our videos in this dev blog, as it does excellent compression without losing the sharp vector lines. You can download the xvid codec for windows or mac here.
That's got it! I can see the video now, thanks. Interesting - looking forward to watching it develop.
Who is online
Users browsing this forum: No registered users and 4 guests