Procedural content generation (PCG)? WTF is it?
Well, I’m sorry for my evil language/slang, but probably, if you are not a professional game developer (I mean a professional worried for knowing the advanced computational intelligence techniques 😉 or a game AI researcher, then those are the two questions that one would submit to the world! The answer is that PCG is one of the main issues in which game industry will invest more money in the future; Note that graphics are, every day, producing images that are close to the reality (i.e., to real images) and therefore the advances in this field seem to be less interesting (this is not totally true;,-) if we are considering just realism; in fact, any videogame that aspires to be successful has to show (mandatorily) a very good graphical representation (in certain form, nice graphics are nowadays an inherent feature that any game must have so that games have to be different from other point of views, for instance, non-player characters, also know as NPCs, should exhibit an “intelligent” – or at least attracive- behavior). PCG provides many interesting “things” to both players and developers, and also can drastically reduce development costs. More to be said on these issues in future posts
According to the wikipedia (what a wonderfull world!) PCG “refers to content generated algorithmically rather than manually“, and I intentionally remove “rather than manually”! PCG consists in the generation of game content by means of the application of algorithms specifically designed for such a purpose. By “content” I refer to any content, that is t say, levels, weapons, character design, maps, music, armor, opponent nature, etc, etc and also non-player character behavior (i.e., game AI), story telling, narrative, dialogues, social relations among characters, etcm, etc, and basically all that can be created for a game. And how is this possible? Well, currenty there are many researchers workin on this issue, in both industry and academy; for instance, one can find many research papers describing the employment of bio-inspired techniques to game programming/design, with impressive results (slef-publicity: see my link research papers 😉 . In future posts I will mention explicit examples, but this post is just dedicated to introduce the term PCG.
One of the persons that first begin to work in the automatic generation of content (although perhaps not directly in the area of videogames) is Karl Sims, and I have to say that the first time that I saw his work I got really impressed and I am sure that you also will be. Karl Sims is a “computer graphics artist and researcher, who is best known for using particle systems and artificial life in computer animation” (wikipedia, accessed 30/11/2013). As an example of his work, have a look (I strongly reccomend it ) to this video.
The wonderful thing here is that the creatures in this film were not handy bult-in or designed by a human!! Karl designed a program that completely evolved the creatures moving in a physical universe that was simulated within a computer, and the great news was that no human intervention was executed during the generation of these creatures! Sims constructed an artificial neural network (i.e., an advance AI technique) that received inputs from a set of virtual sensors and generated as output a sequence of VIRTUAL movements (to be executed on land and water environments) that were the consequence of the reactions (to the inputs) of the muscles between cuboid ‘limbs’. The result is that his “creatures” swom/moved following a natural (and believable!) sequence. Just awesome!
He has also applied interactive genetic algorithms to produce artificial art….but this is another story.
PCG……to be continued…..