The Hidden Art of Procedural Content Creation Techniques : Interview With Allegorithmic’s Sébastien Deguy
Dr Sébastien Deguy, Founder and CEO of Allegorithmic, speaks in-depth with LOGIN Beat about the art (and science) of procedural content creation techniques. This particular technique offers tantalizing potential in shrinking MMOG bloatware, improving the potential for user generated content and enhancing the end-user experience overall. Read on for much more in this preview of Sebastien’s lecture, Procedural Techniques for Optimized Distribution of Online Games and Large-Scale User Generated Content, only at LOGIN 2009.
PAUL PHILLEO: Sébastien, we appreciate your willingness to contribute your time and expertise to this issue of LOGIN Beat. What influences brought you into the game industry, and what did they do to motivate you to found Allegorithmic?
SÉBASTIEN DEGUY: First, thanks for the opportunity here, it’s greatly appreciated. I’ve always been a gamer, and overall CGI has always had a strong appeal to me. When I was a student, I hesitated between doing movies and math. At some point, I’ve not been accepted into “La Femis”, a famous French directing school, but I’ve been awarded a grant from the French government for my PhD, so I pursued that way. Then, the mathematical models that I would work on during my research started interesting great companies involved in computer graphics, which got me thinking maybe I could accommodate both my passions, art and science, in setting up a company devoted to producing tools for 3D, games in particular. That’s Allegorithmic, a mix between Allegoric and Algorithmic.
Describe procedural content creation techniques in general for anyone not versed in this aspect of the game development process.
Procedural content is described rather than painted. It is generated on the fly, according to parameters. For instance, when you describe a texture like “draw randomly a thousand lines in color C”, you have a parameter C allowing to create different realizations of the same resulting image. Give C the value (128,0,0) and you’ll have a red-ish set of lines displayed, give C the value (0,255,0) and the lines will be pure green. I didn’t draw the lines, I described the procedure allowing me to produce the image with the lines. This is what a procedural content is: a description of a procedure and a set of parameters controlling that procedure.
What that then means is that you can modify the parameters on the fly, while you play the game: for instance, you might want your textures to be shinier when it’s raining. The wetter, the more wet the texture should look like, and so the game engine will give to the procedure the value for “wet” and the texture will be generated according to that parameter.
Every technique that is physics-based, behavior-based is procedural. This is what we call the dynamic content.
Overall how does implementation and optimization of effective procedural techniques affect the end user in terms of the quality of game experience?
There are many ways procedural content can improve the quality of the game experience. A first example is size: procedural content is usually very compact, making games leaner. When it’s an online game, you don’t have to wait for hours before the game is actually downloaded. We know this is a very important factor for the quality of the experience.
Some other examples involve the dynamicity of the procedural content: never having twice the same action when speaking of procedural animation, never having twice the same environment when you launch the game because the whole city is new and all the textures are new, having a fully dynamic and interactive environment, not only in term of objects physics, but also in character behavior, weather impact and so on.
I personally believe procedural techniques will pave the way to future gameplays.
On the user generated content front, how can procedural techniques support the development of large-scale UGC? How might this benefit the game developer, the user content creator, and the content consumer?
In order for the users to be able to create their own rich content, they need to a/be able to produce it without being a trained artist and b/be able to share it without overloading the network.
By its descriptive nature, procedural content can be modified through higher level paradigms. What that means is that one can encapsulate the complexity of the creation process and propose very simple tweaks to the user to create and modify new, customized content.
By its compact nature, procedural content, even produced in mass by thousands of creators, can be easily shared through the networks without overloading them: you’re not sharing your uncompressed TGA maps, you’re sharing a small description file of 2KB.
Many free-to-play MMO games are huge in file size, measured in gigabytes, not megabytes, per download. Is there a risk of a trade-off in quality of experience with a significant reduction in file size due to procedural content creation techniques?
Actually, and this is key to understanding the new generation of procedural content, utilizing procedural content helps in IMPROVING the quality of Free2Play games.
F2P game developers are indeed facing the issue of size when they want to distribute their games (there is a direct relation between the size of the game and the money it will generate; this is true to every online game but especially true in the case of F2P games), and the way they are currently handling it is actually by reducing the quality of the game: decreasing the resolution of textures, not embedding normal maps for every object, not embedding any specular map at all, etc.
By utilizing procedural content however, game developers don’t have to care about the size of the content to be distributed anymore, and the full quality content is generated on the client size. One can actually go one step beyond: depending on the machine you generate the content on, you can actually generate higher resolution textures for instance. All from the same initial package of a few kilobytes! So overall, procedural content will make F2P games look not only the same, but better!
It is finally important to note here that although procedural content can’t be used for everything, it has now reached a point where it can be visually as good as any painted/hand-crafted content.
Is it possible procedural generation could be overused in game development in pursuit of its previously noted values, such as a decrease in client heaviness?
I see it as a possibility, but I will take it as a good thing. I remember when the first 3D games would appear: most of the games were really paving the way to future generations of games and gameplays, but sometimes 3D was just a marketing word to sell a game that had no real usage for it. The use of procedural content might lead to the same trends, but overall, again, I believe it’s paving the way to future games and gameplays.
The FPS demo project, .kkrieger, was released several years ago, and proved what could be done with procedural generation with an executable under 100K. What are a few of the more recent techniques created over the last 4-5 years that are reflective of next-generation game design, and why should they matter to developers?
.kkrieger was indeed impressive and I’m personally a fan of the demo scene. Since then, we have seen tremendous advances in procedural techniques, but also in the hardware able to run these new techniques. I can cite the quasi ubiquitous use of physics and middleware like NVidia’s PhysX or Intel’s Havok, procedural animation and behavior with middleware like Natural Motion’s Euphoria utilized in GTA4 and Force Unleashed or procedural texturing like Allegorithmic’s ProFX and now Substance which is used by companies like Microsoft, Acony Games or NCSoft. We also lately hear a lot about city building techniques like Procedural’s City Engine and Gamr7’s Pad.
The reason they should matter to developers is: these techniques are now out of the lab, real production tools. They have been used with success in several productions and will lead to a lot of new creative opportunities. Jump in! :)
What’s the overall status of the quality of middleware tools that support the creation of procedurally generated textures, terrains, scripts, etc. How could these tools be improved for online games being developed in the near future?
As I was saying previously, you can now find really packaged middleware dedicated to specific tasks such as physics, animation, behavior, terrain, textures, cities, etc. the ones I have cited here are well put tools, with excellent companies and/or very devoted people behind them, so the quality you can expect is the highest. When speaking of online games especially, I guess taking into account immediate feedback and interactions through the network will make it unique. And again, the dynamicity and compactness of the procedural content will be of tremendous helps in providing true over-the-network interactions.
Lastly, by attending and speaking at LOGIN, what impact do you hope to make on online game developers?
I hope online game developers realize that procedural content is now a reality that can help them make better games, distributed more efficiently, RIGHT NOW. You should see me restlessly evangelizing people to this new truth :) |