gunnerhkjp Posted January 31, 2007 Share Posted January 31, 2007 http://www.watch.impress.co.jp/game/docs/20070131/3dlp.htm Since the interview is in Japanese, I'll translate some interesting bits: From Onimusha 3 onwards, there was a move inside capcom to make a multi-platform engine due to the increased complexity of the new consoles. The engine is called "Capcom MT framework" and is used to power "dead rising" and "lost planet". It was originally planned to use a outside engine, but none matched their specific requirements in performance and flexibility. MT framework running on the PC Same screen on the 360 MT framework was originally made for the PC/360, but is also being ported on the PS3. The strength of the MT framework is its ability to run a performance monitor in real time, making it easy to find bottlenecks. Graphics settings and rendering method can be changed in real time allowing highly tuned performance. They currently do not intend to sell the engine to the outside, due to managerial constraints and loss of flexibility from version control. Lost planet running on the PC!!!!! According to the programmer at capcom, multithread processors are actually fits very well to gaming, contrary to popular belief. Games can be split up into parts with minimum dependency, and game programs can be easily made to run in parallel. With multicore consoles, the key to performance is maximising parallel processing, and syncing the threads must be done as fast as possible. For syncing in the 360, the huge 1mb L2 cache and its bandwidth is completely allocated to it. Although there are opinions that the 3.2Ghz PowerPC 970 (compatible) core in the 360 is not powerful enough, according to the programmer, performance of each core to his experience is about 2/3 Pentium 4 with the same frequency, and making use of 6 threads (3cores with SMT) totals to about 4 times the P4 performance. The key is in parallel processing. The major weakness of the 360 is in its memory controller. GDDR3 SDRAM has a very high latency, and the memory controller is on the GPU side which adds to the latency. Memory access from the CPU has a very high latency cost. But thanks to its efficient implementation of the SMT, the latency is hidden. Programming for the PS3 version of the MT framework is going very well, and will be powering DMC4 and RE5. Since the processor configuration is drastically different between the PS3 and the 360, the MT framework also runs somewhat differently. The PS3's PowerPC 970 (compatible) core also has SMT which can run 2 threads in hardware. In the PS3 version, threads are run in software (as opposed to the 360s hardware threads) and each thread outsources its processing to the SPE. Parallel processing on "dead rising" and "lost planet" was so successful that compared to the single thread version, is speed was increased by 2.6 and 2.15 times respectively. Due to the way MT framework is designed, the PS3 version and the 360 version of the same game can get the maximum power out of the console. Light load scene. The gauge on the left shows current load. Scene with heavy load. Lost planet runs on a newer version of MT framwork compared to dead rising. Each character has about 10000-20000 polys, VS robots have 30000-40000polys, and background has about 50000. Including shadows and unseen polys, one frame has about 3million polys. Dead rising had more polys per frame at 5 million for the zombies, but Lost planet uses more effects. Rendering is done at 720P. 4x Multi-Sample Anti-Aliasing is used, and the game runs at 30fps, but if the engine detects that the framerate is falling below 30, the engine switches to 2x Multi-Sample Anti-Aliasing or even turns MSAA off. Although it is a huge generalization, 2xMSAA adds 10% load and 4x adds 20%. MSAA off (43.80fps) 2x MSAA (38.76fps) 4x MSAA(35.91fps) Amount of texture in memory at any one time is about 160MB. 60-80MB is used for background. A single stage in lost planet uses more textures, but seamless loading is used. Most of the physics inside the game runs independenly from the MT framework, and lost planet and dead rising uses the HAVOK engine. Some of the more minor physics are handled by MT framework, and also by custom made Inverse Kinematics engine. Havok engine. Hair, accesories and clothes handled by MT framework. Collision detection by MT framework. The move from SD to HD means that the resolution increased by 4 to 7 times, but the GPU fillrate has only increased by about 4 times. Adding to the limitation is the fact that higher resolution also means more elaborate effects are needed since "more" can be seen. Even with this limitation, lost planet achieves its phenomenal screen atmosphere with the clever use of compression buffer and a 360 "trick". Smoke, snow and lighting occupies a large amount of fillrate since many overlap. Compression buffer overcomes this by using reducing the resolution of the semi-transparent particle. This compression has a cost, and realism is lost. To overcome this cost, capcom uses a trick that makes full use of the 360. The 360GPU has a 10MB EDRAM can handle 4x MSAA with no cost IF it fits in 10MB. With normal compression buffer technique, the sceen frame itself is reduced by 1/4 to create the destination buffer. With the 360, the scene frame is transfered to the EDRAM as its original resolution. Since the scene frame pixel configuration and the MSAA sub pixel buffer configuration is different, pixel shader is used for the conversion. After that, (without running 4xMSAA) the semi transparent particles are written into the EDRAM. Due to the MSAA algorithm, 1 pixel of the particle becomes 4 pixels inside the buffer. After the particles are all drawn in, the sub pixel buffer configuration is converted back to scene frame. The benefits this trick are: 1 pixel write become 4 pixels. Although is an over-generalization, consumed fillrate is 1/4. Since the scene buffer is kept at its original resolution, compression artifacts occur a lot less. Ofcourse, since 1 pixel is increased to 4 pixels, the end result of the particles can be blocky, expecially when the particle is far away. This is overcome by incorporating the LOD function in the MT framework to ONLY use this trick when the particle is close. Particles far away are smaller anyways and does not require that much fill rate. This trick was well received by microsoft, and will be used more often in future games. Smoke and fire effect with artifacts. Intersections of particles shows clearly. After soft particle effect applied, achievable from using the 360 "trick" Lost planet uses the LSPSM:Light-Space Shadow Maps method for its shadows. This method is currently the trend on high end games, and will also be used in doom4. Demonstration of complex self shadow. Lost planet uses many advanced 3d technologies which will become standard in next gen games. Advanced bump mapping HDR Bloom and glare FP10-32 bit buffer HDR ---------------------------------------------------------------------------------------- Phew. The original article goes into a LOT more detail, but I have to sleep. :yes: The interview concludes with the comment from the programmer saying how awesome the 360 is. Link to comment Share on other sites More sharing options...
Elliott Posted January 31, 2007 Share Posted January 31, 2007 That is very, very cool, and it's great how the 360 aids them so much in developing amazing stuff like this. :happy: Link to comment Share on other sites More sharing options...
Fabian- Posted January 31, 2007 Share Posted January 31, 2007 very interesting read! :) Link to comment Share on other sites More sharing options...
Sheppard Posted January 31, 2007 Share Posted January 31, 2007 Thats awesome, maybe as we move into quad core processors we might see some cross platform xbox 360 games on the pc? Link to comment Share on other sites More sharing options...
gunnerhkjp Posted January 31, 2007 Author Share Posted January 31, 2007 (edited) The article also has a whole lot of info on the implementation of motion blur. I liked the comment about how motion blur is used to make 30fps look better, and how motion blur makes screenshot on magazines and website look bad but the actual moving game look better :laugh: Impress has TONS of articles like this that goes into game programming and hardware technology. Its all in Japanese though... Edited January 31, 2007 by gunnerhkjp Link to comment Share on other sites More sharing options...
neoadorable Posted February 1, 2007 Share Posted February 1, 2007 thanks for posting this, always nice to see the inner workings of game making. Link to comment Share on other sites More sharing options...
Meshuggah Posted February 1, 2007 Share Posted February 1, 2007 awesome article.....really awesome :D Link to comment Share on other sites More sharing options...
goji Posted February 1, 2007 Share Posted February 1, 2007 WOW, I don't think I want to be coding for a game anytime soon... I'll play them instead. Link to comment Share on other sites More sharing options...
Menge Posted February 1, 2007 Share Posted February 1, 2007 wow this is REALLY amazing :blink: i've done some Direct3D coding in my free time. but this is simply awesome! totally overwhelming! btw.: Doom4? was that officially announced? :p Link to comment Share on other sites More sharing options...
Gibwar Posted February 1, 2007 Share Posted February 1, 2007 Very nice job translating! It's awesome that games have come to this level! Link to comment Share on other sites More sharing options...
+dnast Subscriber² Posted February 1, 2007 Subscriber² Share Posted February 1, 2007 Good read. Thanks for the translation! btw.: Doom4? was that officially announced? :p I thought I was just out of the loop or something. Link to comment Share on other sites More sharing options...
The Teej Posted February 4, 2007 Share Posted February 4, 2007 Oooh, that's a really great article! Many thanks for translating it! And, I never really figured that something like placing of certain components can actually be more beneficial to the games performance! Of course, it's obvious once its stated, but, y'know :p I can't wait to start developing games properly...gonna be well fun :D Link to comment Share on other sites More sharing options...
Recommended Posts