Gaming companies could learn a lot...

Rydian

Resident Furvert™
OP
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
Procedural content generation is a very powerful thing, and it generally refers to two aspects.
[*]Generating the game's content procedurally.

http://www.gamecareerguide.com/features/33...al_content_.php
QUOTE said:
Let’s say that, as an independent developer, you wanted to make a game in a similar vain to GTA3. You could spend months working on a single city, adding buildings and texturing the world, or you could spend a few weeks working on a way of creating these cities procedurally, the end result of which would be that you have an almost infinite number of cities that you can play through, with a vastly reduced development time.

You might argue that a city created in this way would be far less detailed than one created by hand, but that all depends on how much effort you wanted to put into your dynamic content. Your dynamic buildings could be simple boxes, with textured windows and doors, or you could have the buildings include real, dynamically generated windows based on the size and architecture of your building, which could then be textured depending on the neighbourhood that it is placed in.
http://pcgames.fdg2010.org/
QUOTE said:
With rich procedural generation, a single person becomes capable of creating games that now require teams to create, thus making individual artistic expression easier to achieve. Automated content generation can take player history as one of its inputs, and thereby create games that adapt to individual players. Sufficiently rich content generation algorithms can create novel game elements, thereby discovering new game potentials.
With content generated by a computer, you spend less time placing buildings and more time fixing the damn coding.



[*]Generating the game's resources procedurally.

http://www.runescape.com/kbase/guid/dev_diary08a
QUOTE
The way we implement textures in RuneScape is slightly different from the norm as, even though PC graphics cards can deal with textures, they still need to be downloaded by the RuneScape game client. As textures can have large file sizes, they would take too long to download. Mod Nick explains the process: “The Graphics team create textures in an editor, which then converts it into a series of instructions at a fraction of the file size. Instead of the game downloading a texture, it's recreated on the player's computer from that series of instructions, as and when it's needed. This is called procedural texturing.” Texturing is not the only thing we do procedurally, which is what has allowed us to keep the experience of playing RuneScape in the new detail mode the same as it currently is (e.g. a comparable loading time after the initial download and no extra steps required).

Designing textures in this way requires more than artistic ability, though. Mod Farley says, “An artist controls a whole load of graphs, charts and nodes to build a texture; the combined art and math involved takes a lot of ability and skill. It's more like sculpting than drawing.” Indeed, it can, on occasion, cause unexpected results, as Graphics' Mod Lluis explains, “I once accidentally ended up with this crazy, jelly-like texture while trying to make a floor texture.” He kept it as, although it wasn't ideal for a floor, it was perfect for the spirit jelly familiar.
With resources created by the computer, you can fit the same game in a much, much smaller filesize.

To highly just how damn useful this is, I want you to see Heaven 7.
http://www.scene.org/file.php?file=/partie...64/h7-final.zip

Run the W version at the 800x600 resolution option, and take note of these aspects.[*]It's a full "music video", containing images, text, special effects, timing, and more.[*]It's all rendered real-time.[*]It's only 64KB.

My question to you is... which of these methods would you prefer newer games focus on?
 

Rydian

Resident Furvert™
OP
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
Sir-Fritz said:
Doesnt making things procedurally take alot longer to create?If you spend three days coding something to make a texture that would normally take you an hour, then that's longer.

However, if you then use that thing you coded to spit out 500 textures, you've saved yourself time in the long run. Major games usually take years to make, so while the initial time cost is higher, an ounce of prevention is worth a pound of cure.

QUOTE(Sir-Fritz @ Sep 23 2010, 09:52 AM) It also uses more system resourced then usual and has alot longer loading times.
This depends on what's being generated, and how (as well as how complex it is).

Generating a city block may be as simple as randomly choosing a number of buildings (random number between x and x+3), choosing a "theme"out of like 7 with probability modified based on surrounding blocks, then for each building choosing coordinates and textures, perhaps a "special" building like a shop or two.

Generating an entire city like that will of course be hard, but in a game the entire city isn't loaded at once.
 

Veho

The man who cried "Ni".
Former Staff
Joined
Apr 4, 2006
Messages
11,383
Trophies
3
Age
42
Location
Zagreb
XP
41,189
Country
Croatia
Rydian said:
If you spend three days coding something to make a texture that would normally take you an hour, then that's longer.
However, if you then use that thing you coded to spit out 500 textures, you've saved yourself time in the long run.
That's not how it works. You code each texture as a sequence of instructions and parameters ("code") that lets the computer generate the texture on its own. Each texture has its own set of instructions and parameters. Some of them are more similar than others, so you can code a new texture by tweaking a few parameters, but some are quite different, and you need to code them from the ground up. That means you'd still need a lot of time to create new textures. The difference is space; procedurally generated textures only take up a few lines of code, unlike traditional texture packages that are megabytes and megabytes of bitmaps. Saves on bandwidth/disk space. You can fit several gigs of textures into 100 KB of code. Have you seen Kkrieger? An entire FPS that looks like this, and fits in 96KB. Pretty impressive.



Procedurally generated content is interesting, in certain areas. Some games already have random dungeons (Pokemon Mystery Dungeon, Diablo, Hellgate London, I think?). A lot of genres could use well-made randomly generated maps, levels, dungeons, cities, etc. etc. But publishers don't want games that generate their own content, because they want to sell DLC and expansion packs
wink.gif
All about the moneyz.

Also, while random cities/maps/dungeons work with sandbox games or multiplayer skirmishes, you can't fit a storyline into an unpredictable terrain. You'd still have to find a way to populate the content with sidequests and a sense of purpose, or people will get bored of them. With procedural generated levels, you can have as many randomly generated levels/blocks/maps as you want, but you still have to assign a purpose for every one of them or else they'll just be filler, and players get bored of filler.

And the main thing is, procedurally generated content helps single developers create games faster, because with content that generates itself, they can devote more time to coding game mechanics, or finish the game faster. But gaming companies have separate departments for that, so that creating textures or levels or models doesn't intrude on the coders' time, or vice versa. And it lets people work on what they do best, so that programmers don't have to draw, and artists don't have to code.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
While I am a great fan of procedural generation to the point I have gone and studied it quite extensively I am an even greater fan of the its cousin- noise/randomly influenced base models.

Done properly it is far simpler than straight up procedural generation (no need for massively complex and resource consuming algorithms) not to mention the maths behind it all is closely related to a fair few pseudo random number generation methods. Also it allows for more developer control- if you have to beat your randomly made level into shape* it is far more troublesome than having a base model and growing that. Also from an animation perspective if you randomise facial construction using existing provisions (as you probably allow the player character to do) it makes like easier to ascertain things (is that pixel a cheek or is the one 3 down from it) and impose limits not to mention store (and reload- random is great but known entities). Do it at the right point in the process and between light, shadows, fog and overlaying things and it becomes even more random.

*see also genetic algorithms.

Similarly if you think it is not used I would say take a look at most of the action RPGs- diablo and clones, borderlands, many of the more regular RPGs (the random book covers thing for oblivion springs to mind at this point), elite (in fact it was rather famous for such things) and many space games, RTS games make extensive use of it (ever seen the "joining cites" part of generation).
I will certainly not say developers could not use more of it (many game players being afforded an annoyingly accurate long term memory and being trained in pattern recognition by the very games they play will notice repetition as many reviews of such games will note) but it is far from an unknown technique.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
For a very good (in my point of view) procedural texture creator program, you can try the DarkTree demo : http://www.darksim.com
It's intended to be use jointly with 3D programs (as 3DStudio MAX).
You create the textures in DarkTree, you specify modifiable parameters (intensity/color/randomness/etc.) which are editable/animable in 3D programs, and save the files as a list of command and mathematical sequences. then 3D programs can load these files and use them as normal texture.

The demo is fully usable, you just can't save the mathematically generated files, but you can understand how texture generation is working.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: @salazarcosplay, gta v is down since november 2021