Q&A: Allegorithmic's Sebastien Deguy Talks ProFX
In May 2003, Dr. Sebastien Deguy decided to use the work he'd done in his PhD studies to found Allegorithmic, and Gamasutra spoke to Deguy about the nuts-and-bolts of ProFX, the company's procedural texture rendering middleware (RoboBlitz), and how
In May 2003, Dr. Sebastien Deguy decided to use the complex media modeling work he'd done in his PhD studies to found Allegorithmic, with the goal of designing advanced tools for digital artists. The company's flagship product is ProFX, a middleware for rendering procedural textures. Gamasutra spoke to Dr. Deguy about the company, its tools, and its goals in supporting game development. What does Allegorithmic aim to do for the game development industry? We're very ambitious and we aim to deeply enhance the way games are a. produced; b. distributed; and c. experienced. Our methods for doing this comprise the following: Producing textures with ProFX is usually between 1 and 2 times faster than producing the same textures by hand using Photoshop; ProFX texture files are typically 500-1000 times smaller than regular bitmaps, so it becomes easy to distribute these textures online (think MMORPGs, virtual worlds, mobile, etc.), and the generation speed of ProFX is now faster than streaming bitmaps from a DVD or HD-DVD/Blu-Ray. Computing them on-the-fly instead of loading them from the device can free up the DVD, providing more room for sound and meshes. In the case of an open world for example, you can imagine streaming more texture to the memory, displaying richer worlds, and accelerating overall the speed of a vehicle. In the same way, MMORPGs could benefit from the infinite power of expression of procedural data created using ProFX. For example: generate unique worlds every time, so no two worlds are ever the same; instantly produce unlimited environments in a click; customize every single asset, etc. 4D games are also a cool theory and I look forward to seeing them applied. Having the textures alive and generated on-the-fly instead of "deep frozen" lets you re-compute their appearance according to external constraints, such as season, weather, ambiance, time, etc. You can literally have "living" environments and characters and get a level of immersion never experienced before. How did you realize the need for products like MaPZone and ProFX? I could try to sell you the fact that we made a deep study about the needs of the gaming industry, compiling loads of data, interviewing the most glamorous people of the field and in doing so identified a problem, and came out with a solution called ProFX. But the truth is, it came about rather spontaneously, after a few drinks at the closing ceremony/party of a very cool festival called ResFest in Los Angeles in 2005… Joe, the biz dev manager of Allegorithmic at that time, was having a casual chat with a girl at the party and I ended up talking to her brother, a great guy named Jake Carvey. Jake was a 3D artist who had heard about MaPZone 1 (our very first product!) and was actually working on a game project called RoboHordes. Jake immediately saw the potential of our tech for the gaming industry, but at that time, frankly, I was in a repulsion phase with games (after having once been a real hardcore gamer) and our tools were more targeted towards motion graphics, so I didn't really pay attention about what he was telling me. Then I attended my first GDC in 2005, in San Francisco. My decision to attend turned out to be very fortuitous. Jake Carvey was there, and he introduced me to the biz dev manager of Naked Sky Entertainment (the development studio behind RoboHordes), a funny looking guy with long blond hair, named Dave Taylor. Dave immediately bombarded me with very strange and very personal questions using flourish slang every four words. (Pretty tough for a naïve French guy!) During my challenging conversation with Dave, he introduced me to some Epic guys who immediately told me that our tech could have a huge impact on the gaming industry. This time, I clearly started to pay attention. I would eventually realize how brilliant, thought-provoking and connected Dave is, and would make him Allegorithmic’s bizdev manager, in charge of targeting the gaming industry. RoboHordes would eventually become RoboBlitz, and the game, which was intended to be released on XBLA (with a 50MB limit!), would be the first to benefit from the alpha version of ProFX, our inaugural product for the gaming industry. Then, well, it became clear indeed that the technology could have an impact on the gaming industry... How do your products work on a technical level? ProFX is made of two major elements: an authoring tool (called MaPZone) and a rendering engine (called ProFX engine). MaPZone lets artists design textures in a procedural way. The core of this tool is our patented in-house mathematical model that lets users design very flexible and never-seen-before noise patterns. As soon as you have these base patterns, it clearly becomes a compositing procedure, where you filter noise functions, mix them up all together several times to obtain the diffuse, normal, specular, alpha, etc. maps defining your final texture. What you save at that stage is a .map procedural file (weighing few bytes as it is only parameter values). As soon as you have enough textures for your project (let's say the level 1 of your game), you do a "cooking": starting with several .map files, the cooker will analyze the graphs of each .map file, clean them up and reorganize/optimize them, to form a big graph. The graph is optimized so that it won't let the engine recompute the same noise function or filter twice. This is a totally automatic process. This optimized file (.pfx; here again, weighing only a few kilobytes) is then embedded within your game. As soon as you need the textures of your level (either at install time, load time or in streaming), you give that .pfx file to the ProFX engine, so it can rasterize the final bitmaps that will be used in a traditional way by the rendering engine. You can see our approach as simply embedding a new image file format within your game engine. Or a kind of Flash for textures. How might ProFX be used in a modern game to make it stand out above the crowd? There are several ways. The most direct ones are related to the size of the texture content: for casual-ish games, you can provide users with a click and play experience by reducing the time of download [for] whatever the amount of content gamers will obtain. There's a proven, direct link between size of the client to be downloaded and the money you can make out of it, so here it's about user experience as well as about money. For MMOs, you can provide users with updates, new worlds and characters without demanding them to wait for 24 hours before they get it. That way, you can keep your players happy. Developers and publishers can also reduce storage costs and really consider fully digital distribution, allowing it to reach more customers, especially on emerging markets. You can also have a real value proposition for user-generated content; because the textures are generated on the client side, you can let your users customize every single texture of their character or environment, using dedicated tools (inherited from our tools), tweaking the existing texture library or creating new ones from scratch. They can then share their creations with other players without overloading the networks. You can also improve the visual quality of the game (more texture variety, more resolution, etc.) or you can even improve the very essence of game play: make the vehicle go faster by streaming more data per second is only one example. Finally, you can use our technology to make your game "4D”. For more information please refer to: http://www.profxengine.com/index.php?PAGE=FUTURE Do you feel that your product works best when combined with other middleware? We designed it to work with any game or 3D engine, in any kind of environment. That being said, I'd love to see ProFX used in cooperation with some other procedural or physics middleware, such as NaturalMotion's Euphoria, Havok, Novodex, SpeedTree, Bionatics's stuff or Gamers7's brand new procedural city tech. Could you describe how your products have been integrated into Microsoft's XNA Tool Suite? It's been very straightforward so far: MaPZone is part of the XNA tool suite. You can download MaPZone for free and use it to produce your textures for you XNA creation. MaPZone is only available through Allegorithmic's website, and the next steps will be to provide with a special library of textures for XNA creators (in short: a dedicated version of MaPZone), and potentially a dedicated version of ProFX. We're still working on that. There's a lot of sense here: XNA creations could definitely find a nice distribution channel with XBLA, and reducing the textures storage size by a factor of a1000 with ProFX would be a definite plus. For us, XNA is clearly a great test bed, and the XNA creator community will become more and more important, so we really want to push forward there. Stay tuned, more news soon on that front! How long have MaPZone and ProFX been in development, and what challenges did you run into while preparing the products for industry use? Starting back in the time when I was still a PhD student, I was working on the mathematical core of ProFX and MaPZone. I completed my PhD in 2001, so we could say we've been working on it for about 6 years now. I remember the very first version of ProFX, there was no GUI and you had to enter the parameters by hand. It would look something like this: 0.5 1 0 gaussian uniform -0.5 1 1.5 0 0 {exp(x*x+y*y)}. It was quite cryptic. MaPZone is now the authoring tool for entering such parameters and to new users it can still seem somewhat cryptic, but it's come a long way. Much of its development and design is a result of using it on a real project: RoboBlitz. Here I must say Naked Sky Entertainment has really been playing the visionary role (and wearing the man pants) by taking the risk of utilizing a technology that was not ready for production. This has been a true test for the technology and the goal was to make MaPZone and ProFX useable in a production context. Having now overcome that challenge, MaPZone and ProFX are now production-ready and production-proven tools. Having said that, we are always looking to improve the technology and plan to enhance the ease-of-use and overall workflow of both products. Users can look forward to these improvements in MaPZone 3 and ProFX 3 (to be announced at GDC 2008!). How have your products evolved since Allegorithmic was founded? We started with motion graphics and animation in mind. So MaPZone 1 was a Photoshop plug-in, MaPTime 1 (MaPZone's equivalent but with time as a parameter for producing animated textures/patterns) was a plug-in for After Effects and Combustion. Then came the time when we understood the impact the technology could have on the gaming industry ;) so we really focused on making tools dedicated to that market. While MaPTime is currently on hold, texture became our main interest, and MaPZone was tuned to be production ready. It is designed to function not only as a pattern maker, but a powerful texture designer, allowing artists to obtain exactly what they want to create. We now have a complete tool set with MaPZone and ProFX engine, a middleware for game developers that is useable and production proven. The next iteration of ProFX/MaPZone, v3, will bring a lot to the table. We've learned from MaPZone and ProFX 2, and I invite everybody to come discover our next generation of tools during GDC. How have you acted on feedback to improve your tools? We've always been very open to user feedback, and actually we have gathered quite a lot of comments and ideas for improvement since the very first release of MaPZone. We also have an internal studio and our technical artists are consistently pushing our R&D team to obtain bug fixes and improvements: easy, as they’re about 5 meters away from each other… What do you see as the next evolution of Allegorithmic's products? There are many directions we want to explore, and while I can't disclose all of them, I will say that we will definitely continue to work on ProFX and MaPZone to propose the best possible tool for texturing. We intend to enhance the GUI, improve the power of expression, obtain a faster rendering, support more platforms, better integrate within the production pipeline, better communicate with 3D packages and game engines, etc. We will also explore the possibilities of the technology for web-based applications (here again, think Flash for textures). We might also push the idea of procedural content creation a few steps further, for nice applications you’d never think about ;) Finally, I'm particularly interested in exploring new worlds like mobile content and Web3D.
About the Author
You May Also Like