A Kyoto Game Company Making a Global Splash:
The Q-Games Interview (Part I)
3. Fluid Simulation
--I’d like to ask you both about the fluid simulation technology that we can see in action in PixelJunk™ Shooter, PixelJunk™ Shooter 2 and PixelJunk™ SideScroller. Please tell us how you developed this technology.
A varsity intern who was working with us from Kyoto University who had a strong interest in technical research projects decided during his time with us that he’d like to try and make a fluid simulation system for use in a game and he wanted to push himself to see how flexible he could make the system. So we had ourselves a basic fluid simulation system that did what we needed it to do. At that time not many games had made use of this idea and we had to consider what kind of game a system like this would work well in. We also engaged in further research to look into different types of fluids. So in addition to water and magma, we also looked at using the system to express the movement and flow of other fluids such as ice, gas, etc.
--Can you give us some technical details as to how you made this happen?
The PS3 is equipped with a powerful set of SPUs that can crunch through simple vector calculations at a very fast rate of knots. There are a total of 7 SPUs in the PS3, of which we as game developers have access to 6. Perhaps with a PC equipped with the very latest video card you could create a similar system but on the PS3 this much easier to implement.
Up to and including PixelJunk™ Eden we had only used one of the SPUs, but for PixelJunk™ Shooter we started to make full use of the SPU cluster in the PS3. A regular 3D game in the PS3 will not use that many SPUs.
--So you really decided to push the PS3 to its limit, even though the PS3 is already an outstanding machine compared to game consoles of the same generation.
The technology and research team at Q-Games have been working with the PS3 since well before its launch. Consequently they have a wealth of know-how and this was put to good use when putting together our cutting-edge technology.
Another thing we insisted on with the PixelJunk series is that all games would run at a native frame rate of 60 frames a second. Running a fluid simulation at 60fps is quite something.
To give you an idea of what Tomi means, in one frame of action, the fluid simulation system could be running calculations for around 30,000 particles. Then you have the added complication that these particles can mix with other fluids to make new fluids with different properties.
--So you have attributed mass and gravity effects on these virtual particles and then made them part of a system that displays them acting like a fluid. It seems that the fluid dynamics differ depending on where you are in the game, but can you tell us a little more about the method that you employed?
These calculations are carried out to move the game along, so the fluid simulation does not have to be 100% perfect. The algorithms were put together to meet the game’s requirements. More information on the algorithms that we used for our fluid simulation are available on the SIGGRAPH*4 website.
Actually, PixelJunk™ Eden incorporates some graphics technology that we found out about from a SIGGRAPH presentation.
At SIGGRAPH someone had presented a paper on depth of field and I thought it was very interesting. We got a chance to use this technology when smoothing the edges of the plants in Eden. The theories detailed in the paper are not going to be understood by everyone, but at Q-Games not only were we able to grasp the theory, we also have a number of people who could put it into practice. Just reading and understanding the paper is quite an undertaking, but if you can put those theories into practice they can be used in a variety of situations.
(*4)SIGGRAPH (Special Interest Group on Computer GRAPHics) is an annual conference/seminar held by and for companies and individuals involved in the creation of computer graphics and related fields. Luxo Jr., the first animated short from Pixar Animation Studios, debuted at SIGGRAPH.
SIGGRAPH WEBSITE http://www.siggraph.org/