Unreal Engine on iPhone
During the Game Developers Conference that has just ended, Josh Adams of Epic Games presented the new edition of the Unreal Engine 3 for iPhone. Adams thus showed the crowd a perfectly functional level of Unreal Tournament on the Apple device, with a frame-rate that ranged from 25 to 30 frames per second.
The intent to bring its technology to the little gem of the house. Apple was born almost as a challenge, and the results can be said to be mind-blowing. The obviously scaled-down graphics engine is based on Open GL ES 2.0, which means it will only be compatible with newer products such as iPhone 3GS, iPad and third generation iPod Touch. Previous devices remain cut off due to lack of support for programmable pixel shaders required by the engine.
Adams also showed Epic's proprietary technology running on officially unsupported platforms such as Linux, Mac and NVIDIA Tegra 2 , the latter present inside a possible Nintendo DS2, at least according to the latest rumors.
Converting Epic's middelware to iPhone was no small feat. The engine alone consists of two million lines of code in an executable of just 16MB. 90% of the code is platform-independent, while the remaining 10% relates to the proper functioning of the host hardware.
The good news is that almost all the basic functionality of the engine remain unchanged in the switch to Apple technology, using roughly the same gameplay, the same collision system and even the same type of file format. The developers therefore used the same tools used in Windows directly on the iPhone. The only place where Epic had to make more significant changes was the hardware rendering interface (HRI).
Adams also illustrated how light management works. The code collects the static and dynamic lights decided by the artists and transforms them into just one or two lights, supporting their direction and impact on the environmental elements. This allows a very low cost in terms of rendering and certainly excellent performance for an iPhone.
Clearly this new code has been optimized keeping in mind the particular control system adopted on the iPhone. The buffers are set to store the inputs provided via touch-screen, which are then processed at the rendering of each new single frame. The functions related to the 3GS magnetometer had also been taken into consideration, but apparently the requirements in terms of CPU proved to be highly prohibitive.
The main changes made to the engine are basically two. The first concerns the use of Open GL ES 2.0 (starting from the current Open GL drivers), the second is inherent in the fact that the chipsets in the mobile environment are necessarily less powerful than the usual reference hardware.
Unreal Engine support for shaders has been totally renewed. The engine works with thousands of shaders, and the team has even provided a preview tool so that future developers will already be able to understand the type of visual rendering of their software on the device screen.
It is clear that you have to get down in agreement with a lower quality of texture and a lower number of polygons, yet the results achieved already seem to indicate an excellent familiarity with the resources of the iPhone.
One of the limitations, at the moment, is that through the new libraries used with Open GL ES 2.0 it is not possible to operate through "occlusion", that is to say it is not possible to avoid rendering those polygons not visible to the player. This means that each polygon is processed indiscriminately by the CPU, making it imperative to create smaller levels that are easily manageable by the system. However, this problem could be solved with future Open GL drivers.
In addition to the iPhone, Epic also plans to develop for the new iPad, while admitting it has not yet had the opportunity to test any prototype of the device. Such hardware is expected to feature a 1GHz ARM A8 Cortex CPU, along with the PowerVR SGX535 chip, already present on the iPhone, but with a significantly higher clock rate. Epic argues that classic "bottlenecks" shouldn't be a big deal, as their technology mostly weighs on the CPUs, without overloading the graphics processors. If the performance on the iPhone 3GS is impressive, on the big screen of the iPad we could really see some good ones.
It took four months of work and a team of just two people to convert Epic's middleware to iPhone . This means that the potential of the new engine on the mobile platform is already within reach and that the new handhelds will have a very bright future.
The intent to bring its technology to the little gem of the house. Apple was born almost as a challenge, and the results can be said to be mind-blowing. The obviously scaled-down graphics engine is based on Open GL ES 2.0, which means it will only be compatible with newer products such as iPhone 3GS, iPad and third generation iPod Touch. Previous devices remain cut off due to lack of support for programmable pixel shaders required by the engine.
Adams also showed Epic's proprietary technology running on officially unsupported platforms such as Linux, Mac and NVIDIA Tegra 2 , the latter present inside a possible Nintendo DS2, at least according to the latest rumors.
Converting Epic's middelware to iPhone was no small feat. The engine alone consists of two million lines of code in an executable of just 16MB. 90% of the code is platform-independent, while the remaining 10% relates to the proper functioning of the host hardware.
The good news is that almost all the basic functionality of the engine remain unchanged in the switch to Apple technology, using roughly the same gameplay, the same collision system and even the same type of file format. The developers therefore used the same tools used in Windows directly on the iPhone. The only place where Epic had to make more significant changes was the hardware rendering interface (HRI).
Adams also illustrated how light management works. The code collects the static and dynamic lights decided by the artists and transforms them into just one or two lights, supporting their direction and impact on the environmental elements. This allows a very low cost in terms of rendering and certainly excellent performance for an iPhone.
Clearly this new code has been optimized keeping in mind the particular control system adopted on the iPhone. The buffers are set to store the inputs provided via touch-screen, which are then processed at the rendering of each new single frame. The functions related to the 3GS magnetometer had also been taken into consideration, but apparently the requirements in terms of CPU proved to be highly prohibitive.
The main changes made to the engine are basically two. The first concerns the use of Open GL ES 2.0 (starting from the current Open GL drivers), the second is inherent in the fact that the chipsets in the mobile environment are necessarily less powerful than the usual reference hardware.
Unreal Engine support for shaders has been totally renewed. The engine works with thousands of shaders, and the team has even provided a preview tool so that future developers will already be able to understand the type of visual rendering of their software on the device screen.
It is clear that you have to get down in agreement with a lower quality of texture and a lower number of polygons, yet the results achieved already seem to indicate an excellent familiarity with the resources of the iPhone.
One of the limitations, at the moment, is that through the new libraries used with Open GL ES 2.0 it is not possible to operate through "occlusion", that is to say it is not possible to avoid rendering those polygons not visible to the player. This means that each polygon is processed indiscriminately by the CPU, making it imperative to create smaller levels that are easily manageable by the system. However, this problem could be solved with future Open GL drivers.
In addition to the iPhone, Epic also plans to develop for the new iPad, while admitting it has not yet had the opportunity to test any prototype of the device. Such hardware is expected to feature a 1GHz ARM A8 Cortex CPU, along with the PowerVR SGX535 chip, already present on the iPhone, but with a significantly higher clock rate. Epic argues that classic "bottlenecks" shouldn't be a big deal, as their technology mostly weighs on the CPUs, without overloading the graphics processors. If the performance on the iPhone 3GS is impressive, on the big screen of the iPad we could really see some good ones.
It took four months of work and a team of just two people to convert Epic's middleware to iPhone . This means that the potential of the new engine on the mobile platform is already within reach and that the new handhelds will have a very bright future.