Pretty impressive
Fucking awesome if it pans out.
Note: All pictures are made using procedural textures, click on them to view for yourself the quality of the image.
The Interview
bit-tech: The first thing most people said upon reading the original story was 'I saw this with .kkreiger a few years ago.' What is the difference between that game and your procedural texturing technology?
Sebastian DeGuy: Well, .kkrieger is a spinoff from the demo scene. In the demo scene, there are contests for doing more with the less. People compete with one another, starting from a very small program producing the most impressive demo. To do this they used a lot of procedural methods for generating the content (models, animation, textures, etc.).
On the other hand, you've got several researchers who worked a long time ago on procedural techniques for generating content. When people see what we're doing they sometimes say: "We've seen that with .kkrieger," and they are right in some ways. Procedural techniques have been considered by industry experts for a long time, even before .kkreiger.
Despite some similarities, technique-wise, we are quite different in several ways. First, the inner technology (the maths) that we use is based on modern maths. We use 'Wavelets', instead of classic maths method of 'Fourier Transform', which was the mathematical technique used in the past by all the procedural texturing techniques (including .kkrieger). Our technique works on a new mathematical model that I developed whilst studying for my PhD.
So in basic terms, you guys use a modern mathematical technique, whereas older procedural texturing techniques were based on old maths?
Exactly - our technique allows developers a more complex ability to express themselves. A major reason procedural techniques for textures haven't been used that much so far has been the limitations of the Fourier method.
And the complexity of the maths?
The inner characteristics of the Fourier Transform, yes. You would have to be a strong mathematician to master it sufficiently to produce good looking textures. We, on the other hand, can produce these with far less effort. The complexity of the Fourier Transformer is the main reason you wouldn't see that many people using procedural textures... using that technique is hard.
The gallery shows what we can do with our program ProFX technology. We are doing real-time renders of our procedural textures, and the output looks like photographs to me. Doing that in traditional programmes would be quasi-impossible. It's quite easy with our tools.
What do you think the impact of this technology could be in terms of physical space, with regards to games and PCs?
At least 70% of the textures of your game could be replaced by procedural equivalents. 70% is a minimum number of textures you can replace, in actuality the likelihood is you can replace more. So for example: replace 80% of the textures and if those textures occupy 50% of your game size, the overall game size would end up a little less than 50% smaller.
I have some actual examples from a recent game, Roboblitz. In this game, we replaced about 95% of the textures. The game has 6 levels and for each level the developers would use 80MB of compressed textures. So, let's do the numbers, a total of 6x80=480MB. Using our tools we replaced the 480MB with about 3MB of procedural data, a pretty spectacular decrease in game size.
The game now fits within 50MB and can be downloaded through Xbox Live. Without our technology this game would weigh approx 50MB-3MB+480MB=527MB. So the gain, for Roboblitz, we saved 90% of the entire game size. That is a massive gain for the developers which allows them to reach the Live audience - something they couldn't otherwise have done.
How long have you been around as a company? What is your history?
I created Allegorithmic one and a half years after I completed my PhD in 2001. We've received a lot of help/prizes/medals from the French government for the project due to us being considered 'innovative'. At the beginning we focused on VFX and Animation by focusing mainly on the authoring tools and the technology.
We decided to make the move to the games industry one and a half years ago and focused on developing ProFX, our tools suite. We worked closely with Naked Sky on its Roboblitz game and they provided us with the access to the Microsoft XDK and Epic's Unreal Engine 3. In the mean time, we've been giving talks at various Games Developers Conferences and trying to make developers aware of the technology.
What would you say to companies like Crytek or Valve and the way they use their textures?
Valve has a very interesting approach to things with Steam. I love the concept of digital distribution. The way that game developers use the bitmap textures so far on that service, I would say it's the best you can do with bitmap textures - it's very impressive.
However, at some point this technology becomes limited. By this, I don't mean that bitmaps are visually limited, I say bitmap textures have limited advantages given that they are causing a lot of difficulties for next-gen game development given the sizes required to accommodate them.
Do you have any rivals at the moment? Does anyone do anything similar to you?
On the authoring side, there are about four companies offering ways to design procedural textures. We have the most powerful, modern and patented approach and on the engine side, we are the only ones to propose an engine for next-gen consoles and PCs. In conclusion, the market exists, but as Torsten Reil (CEO, Natural Motion) says: "Allegorithmic is the leader in real-time texture synthesis".
Is what you guys are doing the opposite of Id software's megatexturing, which John Carmack is rolling out in Quake Wars: Enemy Territory?
Kind of. I think what Carmack made is very impressive, but we attack the problem of texture sizes from the other side. Funny you mention this, our business developer used to work at Id so he talks with John quite often.
Do you know what John thinks of your approach?
He's chosen his side.
PhysX has struggled, most probably because Microsoft hasn't adopted it - and thus developers are struggling to justify bringing it on board. Are you in a similar position - do you need Microsoft to adopt this technology to make it work?
Interesting question. We certainly wouldn't be against a little help from Microsoft, but we are also working with Sony on the PS3. I'd say that PhysX made a very interesting move by providing Novodex for free but is struggling with its card.
We want to stay in the middleware for now, so we won't put effort and money on hardware. The problem for PhysX is fighting against an established base of other physics engines such as Havok. We, on the other hand, are starting to conquer an empty land. In some ways our position is similar but in many others it is different.
So as well as developers, do you hope to work with hardware manufacturers like Nvidia, Intel or ATI?
We're very close to some of these people and I'd love to see some of our instructions hard-coded into graphics chips. That would help a lot.
What is the likelihood of that?
We have to become the standard in the procedural texture middleware land first. It's early days yet, but I'm very confident what we are doing will be a success. Imagine having our technology in mobile phones: download a few kilobytes then generate a whole, top-quality game on your handset. This is the same for a whole host of devices; we could even do something similar with digital television. This could lead to great looking games on every platform.
The wooden textures are at least of an equal standard to games like Half Life 2, even though they are far smaller in file size. Click the image
How will this all impact the bit-tech reader?
Well, if we think of games distribution, your readers will be able to download their games, add-ons or updates faster. Waiting a long time to download all the extras is pretty annoying. They will also wait less time at the launch of the game, as it is mainly faster to compute textures at load-time with ProFX.
Most interestingly though, this technology would let gamers customise almost every texture of their game. The mod communities will love this, as the enthusiastic tweakers will love that procedural textures are computed on-the-fly, so you can tweak them easily.
They will be also be able to play 'Living' Games. What are living games? It is the same concept that Ken Kutaragi recently called "4D" games. I'm talking about games that 'evolve'. Watch the demo (.mov link) of the bathroom getting old. All that will be possible thanks to procedural content creation.
In terms of how these textures are 'living' do they contain all the data to age within the texture, or does an external computation have to occur to make them age?
It's all computation so you don't need to store all the intermediates nor the shapes of the impact all that is computed. So you can imagine a car hitting a wall, the car has a certain colour, shape, weight, speed. The physics engine then computes the impact vector field on the wall this vector field can be used to modify the textures in its inner properties and modify the normal map, the colour map, etc. according to all these parameters. Nothing has to be stored in the memory, it is all computed.
Ultimately will this equal, cheaper games? More detailed games? Games hitting release dates?
I'd say: all of that, in the sense that some developers will choose to get a cheaper game indeed but others will choose to fill the gained empty space with some other data and sell it at the same price. Procedural Textures help people design bigger worlds in the sense that if you want to create 100 times more content, you won't need to hire 100 times more people. Procedural Textures is simply a more efficient technique.
Conclusion
So there you have it - hopefully that answers some of the questions regarding procedural textures. Whether or not this system will be used by games developers over the coming years remains to be seen but if you fancy experiencing this first hand then why not try downloading Roboblitz through Steam. Take a look at the Unreal Engine 3.0 when you download the game too, and kill two birds with one stone.