Epic Citadel - lean, mean development
Therecent outing on iPhone of the amazing looking Unreal Engine 3 demoentitled EpicCitadel(available free) by Epic really shows the underlying capability of thehardware that current mobile devices have. In short, it’s like nothingyou’ve seen on any iOS device so far. But is it all good for gamedevelopers?I’m reminded when I see such apparent wonders of technology thatactually, this is what most developers can achieve if they’re preparedto go as low down in the API as they can, right down the HAL ifpossible. The closer you get, the more layers of noisy slow API you getpast and the more precious CPU & GPU time you get to spend on yourcontent.I’m also reminded of the fat, lazy techniques that it’s easy to get awaywith when you’ve got a lot of CPU & GPU power to play with on mostnon-portable systems such as PS3 / X360 / PC / Mac.Why bother to optimise your artwork, level design, code when you canjust let the video card do all of the work for you? This is a badattitude.Sloppy implementation really hurts handheld devices and the best teamsknow how to be lean with their systems and really squeeze every ounceout of the available hardware. This is generally good practice anyway.As an example for iPhone; If you can, go straight pastCOCOS2D / Unity /Prime to EAGL and Open GLES. From here low-level code, smart techniques, clever level design and diligent artists will all combine to get you a great, fast experience. I appreciate it’s tougher to do but the benefits are worth the effort.If you’re not careful, the danger then is adding in fat such asscripting languages such as LUA or UE3Kismet (Unreal’s embedded scripting language) that cost you performance to interpret at run-time.You should also consider the type of game you make. I’ve personally workon a few UE3 titles and from personal experience, and many game devswill tell you, UE3 is great at making Gears of War type games. Thefurther you get away from doing short-view FPS games, the more and moreof UE3 you have to re-write to make it work. Just ask the team on APBwho tried to make an open-world MMO using it.Try and think about this when you’re setting out with your systemarchitecture and you’re choosing your low-level systems that you’regoing to build everything on top of. Make sure it’s right, make sureit’s going to stand the test of time and get the game *you* want tomake.Check out what can be achieved in just 4,096bytes if you try.