
What if all games were made with procedural synthesis in mind? That's the question that About.com's Aaron Stanton is proposing. If a game is made entirely using algorithms, could an older console game look vastly improved
on a next-generation machine? Imagine Ocarina of Time looking like Twlight Princess.
While theoretically beneficial to consumers, it would be a logistical nightmare for developers and publishers. If Madden 2007's graphics and realism continued to improve with each generation and processor upgrade, what incentive could EA give for us to buy future annual installments? Stanton outlines the other issues associated with procedural synthesis, so be sure to check them out -- it is an interesting read.
[Thanks, Jake Sartori]












(Page 1) Reader Comments
Reply
I'm sure that we'll see advances in programing that will dramatically impact and improve gaming. I'll have to research this...
For a long time I've thought that they'll be a dramatic improvement in physics programming coming soon. Programmers will drop in a physics environment, tweak the properties to their specifications, and be done with it.
For example, there could be a standard "Earth" physics library, or an "other world" physics engine, etc. Tweak the way certain classes react, and it'd be done. Then programmers could be off to develop something else important. And we'd have fully interactive environments.
Reply
Finally a developer that has done just what I have been ranting about can prove it. This person deserves recognition throughout the gaming and technological community.
Reply
Reply
Reply
What ever the case my be, to Joystiq's question about re-releaing last gen games on next gen systems with improvements, I say they not waste their time chugging with remakes.
Reply
Reply
Reply
Reply
The graphics chip actually does the rendering from the high level descriptions. Otherwise, it's too bandwidth intensive to push all that crap across to the graphics chip.
Reply
Reply
@ Mr. Miller, it wouldn't really be a logistical nightmare for devs/publishers. The realism wouldn't continue to improve just by virtue of a new cpu/gpu. Aaron spells it out perfectly in the last page of the article, the advantage of procedural synthesis is that it would make it easier to patch a game to take advantage of newer hardware; it can't magically upgrade poly count or take advantage of new shader models without new code though. Honestly a far more likey scenario, IMO at least, is that EA wouldn't offer patches for last year's copy of madden, but rather use procedural synthesis to effectively sell us the exact same code-base/game over and over again, with less time/money spent on developing said "new" versions. Of course, they most likely do that to us already...
Reply
Anyway, there is no way for developers to depend that much on Procedural algorithms. What if you need the CPU for other things?
Procedural generation is good, but it isn't the second coming. You might want to save CPU power for other things, while leaving some things static. You might want some extra space. The cinematic effects you want to give to your game need "next-next-next-gen" visuals, therefore making it impossible to generate, and needing cut-scenes (and therefore, SPACE on discs).
What I'm trying to say is, you shouldn't have to rely on it, as it's not always the best solution. It's good, but other things that would be sacrificed are also good.
Reply
It's the 2-D nut in me!
Reply
Reply
A) A game with less on-screen content, less physics, less AI, and so on.
OR
B) Insane loadtimes and huge requirements on RAM to store "rendered" data in
To me, the sacrifice of any of those bits, is something that would be completely unacceptable. It can be used for good though if used in SERIOUS moderation. But to go off and believe that with this technology, we can simply produce next-gen or even current gen full game titles, and have no pre-generated content such as models or textures stored on a physical media (HD/DVD/BD), would be foolish.
Try to run kkrieger, and you'll soon discover that it chews up 500MB of RAM and at least on my top of the line gaming PC takes almost two minutes to start. And the graphics, cool and good looking as they may be, what is and will be available on next-gen systems shortyly, will be surpassing these with polycounts and textures of insane numbers and sizes. Keeping all that in memory is not possible on a next-gen system such as 360 or PS3, and dynamically synthesising all these assets on-the-fly as needed is not even to think about.
If it could be used for anything, it would be as for such things as elements in spore which are more simplistic in nature than what you would find in 99% of all other games. Or in things such as some types of maps, characters, nature, or other things which need to be dynamically created for a "random" experience.
Perhaps when consoles come equipped with something simmilar to a 24 cluster Cell or somethign along those lines, and have 4GB of extremely fast RAM to operate on... than we may see fully synthesised games, but I'd bet that even then, there would still be somehting that makes full utilization of such a technology infeasible or unpractical.
Reply
(Sorry for spamming....)
Reply
Reply
That said, I did run the game on my machine. I have a gig of ram so I didnt realize it taking 500 of it. But the graphics look very very well on my PC that struggles to run the Sims 2. Even when getting very close to walls or objects the textures do NOT get grainy.
Reply
What are these "things"? with the onset of multi core processing, what has to be sacrificed? This article is mostly looking at this technology for graphics rendering, but what happens when you have beautiful artist created with procedurally created physics. spore uses it to determine how your characters walk, hunt, use tools,eat, etc.
Reply
Reply
Reply
Also as a note, the article did mention that procedural synthesis will likely not be used until XBox 720 and PS4, due to how much processing power and RAM it will take to run smoothly.
Reply
Reply
The article mixes apples and oranges. Procedural synthesis and scaling are two different issues. Stuff produced by PS lends itself well to scaling but a game will only be a sharper version of what was always there. It will not gain additional details there were never part of the original code.
The Xbox 360 BC already uses scaling to run Xbox games at 720p but while the effect is very nice it doesn't create new details. It just makes the same stuff look better. A game can be almost completely scalable without any real PS being used. Abstract very high resolution textures will find their limit eventually but how much should a developer in 2007 be concerned with how his game might look on a Ultra-HD display that isn't likely to be widely used by consumers for at least twenty years?
Pretty much any mathematically generated object can benefit from scaling on more powerful hardware and that applies to most 3D games. It's like the difference between a draw app and a paint app. Draw programs deal in object while paint program use bitmaps. The draw object can scale infinitely while the bit maps lose quality as they're required to cover a larger surface. Thus a PS texture can scale better than a bitmapped texture but for many objective the bitmapped texture is so vastly more convenient to create and use that scaling to look good ten years down the road is just not on the list of concerns.
The real advantage of PS, and one we're just beginning to see, isn't merely making a unique forest on the fly but having one that really looks like it grew there. Trees that are very close together will grow differently than widely spaced ones, for example. It does more than move past visual monotony. It gives developers the chance to create real worlds with making a single game their life's work. The system can generate thousands of square miles of believable wilderness while the developer focuses on just those spot where something interesting should happen.
This paragraph is completely wrong:
"In order to allow Xbox titles to be run on the Xbox 360, Microsoft included an 8 Gigabyte emulator on the harddrive containing information for each game compatible with the system. If a game like Oblivion were designed for it, it should theoretically be possible to upgrade a title by simply updating the mathematical algorithms to be more advanced as it moves to a faster processor."
Has he actually played an Xbox game on a new 360 system? Did he not notice that there was a download required? Does he really think this is what consumes 8 GB on a new 360 system? Any emulator that took up that much space should cover almost every game system and personal computer from the PDP-1 running Space Wars to the generation leading preceding the Xbox 360.
It's an OK article but he's very confused about some things.
#3 Billy, you have it completely backwards. Itis the immense growth inprocessing power that make heavy use of PS practical. If a believable human face can be generated in realtime from a few hundred K of data, that is a big win over storing megabytes of animation for the same face.
The game referenced in the article uses a very small code base but it requires a platform that can not only run Unreal Engine 3, which is a significant load before you've added any unique elements for your game, with the additional through put requirements to everything algorithmically rather than relying on fixed bit maps for most of the visual elements.
These aren't new techniques on the software side. Some of them have been around since the 70s but only used in pre-rendered animation. Being able to execute these algorithms in real time for improved graphics quality that can respond to inputs, for instance, a bashed in wall looks different depending how you hit it rather than just being a generic scripted event that looks the same every time, is a big gain for the realism. If I through a boulder at a wall I want a visible effect that corresponds in a detailed way to how far away the boulder was thrown from, how hard it hit, and at what angle. It may not change the outcome of knocking down the wall but it makes the experience much more fun.
This takes a lot of power. Back in 1981 the graphics for 'The Last Starfighter' took six months to render on a Cray supercomputer. Today, a game that delivered those graphics in real-time would not get a good review. The growth of machine power has raised our exectation for what the software will do. But it doesn't matter if the programmer has the techniques down tens years previously if the hardware can't let him make it work in a game.
#6 There is a conceptual relationship in that the early 3D era came about when systems got fast enough to do simple stuff in software but it was the advent of affordable dedicated hardware that made things really happen. As PS becomes a more common procedure more systems will be designed to better enable it.
Much as they did to create the MMX and SSE SIMD functions, processor companies will analyze game code and interview developers to find what ways their products can be enhanced to perform better for those types of use. This is especially true for groups of instructions that happen with great repetition, such as decoding compressed textures. Putting hardware support for that in GPUs was a big gain in memory efficiency for very few transistors dedicated to the task.
#7 Sean, that is true but the critical difference is that a texture generated in real-time can be altered by conditions in the game. It opens up all sorts of possiblities for creating more believable worlds.
#13 Boots, this is run of the mill decision making for game design. You lock down your static requirements for CPU time, then see what more is required to meet the minimum performance of the scalable elements. That gives you your minimum system requirements. People have been living with that ever since PC games began commonly allowing people to choose what resolution to run in. Reviews of video cards especially have long focused on performance of well known games at different resolution with various effects turned on or off.
#16 Kawf, how is this different than things have been for a long time? Many people found it preferable to play PS1 games on the PS2 because the faster drive reduced load times a bit. An entirely PS game would make for another item for benchmarking. A top system from a year later could be expected to have a much faster initialization of the game than the current speed king.
The thing is that tech stuff keeps evolving. What was once remarkable and expensive becomes cheap and run of the mill. A few years down the road, between improving broadband speeds and improving PC performance, a game like this could download from a web site almost instantly and be ready to play within seconds.
For stuff coming off a high capacity local disc there would of course have to be a more rational application of the techniques in mixture with more conventional approaches. Why spend weeks getting a PS algorithm just right for something that can be done much more quickly and satisfactorily by just having the art department deliver several versions of a bit map? As I said above, it would be ridiculous to future proof your game for an audience that isn't even yet born. If there is still call for the game that far down the road then surely it's worth paying someone to do some new work on it.
Doing a whole game as PS is today more of a stunt than anything else. It serves to demonstrate some of the potential but isn't terribly practical in of itself.
Reply
Reply
Reply
Procedural Synthesis is kinda cool, yes. It can make for some fun effects, some really cool tech demos (like .kkrieger), and can be a great help in creating art resources where it would have been humanly infeasible, like the trees in Oblivion.
HOWEVER!
The idea of using it to create "Self Upgrading" Games is a bit ludicrous, if you ask me. For one, graphics that are generated entirely procedurally tend to look very artificial in large amounts (because, well, they are!) You simply can't match the touch of an artists hand with an algorithim. The best way of handling content like this is usually to let the computer do it's thing and then "tweak" it manually. Look at Enemy Territory: Quake Wars as an example. It has technology that allows the entire landscape to be covered by one gigantic high-res texture. This, conceptually allows an artist to hand paint the entire thing. This is, however, fairly impractical because of the work required so what they end up doing is procedurally generating the inital texture and having artist do touchups in places where it will be noticed. The results look pretty dang good in the end, but the point is that you've still moved away from entirely procedural, and therefore it can't evolve as it goes.
There ARE ways of allowing artist to create content that can "improve" procedurally, such as modelling in NURBs. The curved surfaces in Quake3 were a simple example of this, and with enough computing power it could be applied to pretty much everything. This is not without it's problems, though. Today's hardware, as fast as it is, still isn't up to handling those types of surfaces in large amounts (in fact, they're fairly hard-wired against it) and there's no real indication that that's going to change in the future. On top of that, though, one has to wonder what the real benefits would be to such a system, since after a certain point the eye can no longer detect the added detail. Also, you wouldn't get any extra fine details unless you added them into the base model, which negates the point anyway. And that's JUST for geometry. With textures it get's even nastier.
Finally, even IF it was feasible to create such a game, would it be worth it? Pure Procedural graphics are really really hard to make look good, arguably harder than creating content by hand, but in the end there's only so far you can take your graphics before nobody cares anymore. What really matters in a game is gameplay. Let's say the original Zelda magically upgraded itself to Xbox 360 level graphics. Would it matter? Hell, don't get me wrong... I think it would be great fun! There's a reason it's a classic. But would that negate the need/want for Twilight Princess? Would you really WANT to keep playing Mario 1 over and over again, a little bit prettier every time? No matter how fun the game, if the gameplay itself didn't evolve over time with the graphics the public would quickly loose interest, thus making all your hard work on making the graphics spectacular null and void. Now of course, you could get around this by creating some awesome procedural gameplay creation system (like that game from Enders Game) but graphics would be cake compared to THAT monstrosity.
Give me a hand built universe any day, even if it's a little dusty in the corners.
Reply
Reply
Reply
This seems like technology that's way ahead in the future (at least its deployment, since it's very unconventional). As you may have noticed, the article's most recurring phrase was "what if".
Reply
For more than 10 years I've been waiting for somebody to base a procedural synthesizer on fractals (not just the "Photoshop filter" type of generators used by Farbrauch). It's not difficult, you just need lots of vector power to do it.
Even realtime fractal demos are extremely rare. Haven't game developers ever seen XaoS in action, or visited www.fractalus.com? Does anybody else have JuliaSaver as a screen saver? I'm sick of mp3 and ogg soundtracks, too.
What's really funny is that I'm listening to a ripped soundtrack of "The Product" as I'm reading this. Best 64K soundtrack ever.
As for the people complaining that kkrieger is slow, please keep in mind that the game was designed to be as small as possible, as a proof that is CAN be done. It's not designed for practical usage. That's what the demoscene likes -- breaking the rules. Also keep in mind that kkrieger is based almost exclusively on procedural synthesis. Real games would have a better balance of technology.
The TRUE test of a 3D engine is how scalable it is. Some 3D games have lightning-fast load times. Some, like Painkiller, are rediculously long. The reason why is because the "bad" games scale hi-res textures to fit into your video card memory every time the level loads. "Good" games don't do that -- they use caches. Apply caches to procedural synthesis, and you've solved the slow loading problems. Also note that PC games have to use scaling of some kind, because the amount of available memory is different every time you use your computer. Consoles don't have to worry about that (yet).
* Tom: "I want a completely NURB-based game."
Most 3D engines, even those used for movie special effects, have to tesselate NURBs into polygons for rendering. True, textured NURB rendering is a nightmare, and doesn't make a very big difference in terms of quality. You're better off with tons of polygons than throwing processing power out the window with true NURBs.
NURBs are entirely hype, I'm afraid.
Reply
Reply
on a next-generation machine? Imagine Ocarina of Time looking like Twlight Princess."
Procedural synthesis has nothing whatsoever to do with porting older games. You could rewrite Ocarina completely to use procedural graphics, but then you could rewrite it completely to use the graphics engine from Twilight Princess.
On the other hand, a game originally written for procedural synthesis would scale very, very well to higher-end systems if you set it up to generate greater detail if it detected more available resources.
Fun fact: The PS2 was designed with procedural synthesis in mind: a low-memory highly parallel architecture with very good system bandwidth. The tragically doomed Exo was to make heavy use of the technology for its textures. The downside was of course that the PS2 wasn't all that efficient at "normal" rendering. The PS3 continues the theme, so we'll see how that turns out.
Reply
Doesn't the Unreal Engine 3 use procedural texturing to some extent?
Reply
The slowness of the game engine is an entirely different issue related to the fact that the engine wasn't fully developed.
This is what sets aside .kkreiger from what we REALLY want to talk about, which is procedural generation of textures and assets in real time for inclusion in a game. This is, in part, what Oblivion does, it is what Neon does (textures are being fed back into themselves, it's very neat), and it's what you're going to have to do to generate a believable wide open world on the current next generation consoles, because the man-hours needed to generate that content would be terribly prohibitive, and the storage space available, both on discs and in system and graphics memory (combined on the 360, segregated on the PS3) is limited.
Reply
http://produkkt.abraxas-medien.de/faq
"You need that fast graphics cards to calculate the textures, right?
no. all the textures and models are calculated entirely doing the loading phase and by the CPU. in case you wonder why, different graphics cards render things very similar, but not quite the same. even a small level of unpredictable inaccuracy is unacceptable - some of our textures and models are made in hundreds of steps, and very small errors in each of those steps can (and will) cause an entirely different result. The reason we need fast graphics cards is because we use rather expensive (but also visually exciting) techniques like per-pixel lighting and realtime shadows in rendering."
Reply
I hope that developers will use it for downloadable games even if they just tap it for generating textures.Takes less time to download and less storage space on the HD.If Procedural Synthesis should ever take off then downloadable full price games could be a dream come true.
Reply
If the programming is done on the fly, are the algorithims going to produce the same "effect" on all same type systems like the 360. I read the article and they mentioned that no 2 games of Oblivion would look exactly the same using the Speedtree PS.
So how will this come into play in multiplayer games? Will the different systems create different visuals or even different "cover" formations. Can this be corrected by an overriding contol program, or does the linking of two or more systems create an integrated world environment.
Reply
Reply
Reply
Now if only they'd used a more efficient programming language like x86 assembly instead of C++, they could probably drop the size several more kilobytes and speed up the game in the process.
Reply
Reply
Thats what PS could do, Force us to be creative, not focus on pushing 10 quintillion pixels on the screen at once...
Reply