Without a game engine there is no game development. The class of GAD 412 had a fully developed prototype in Unity 3D and decided to progress it as its final project on a sophisticated, commercial engine.
The change, however, did not go over without some issues and did cause a lot of frustration for everyone involved. More than a few people did have second thoughts as Christian Ehrich und Christopher Meis report.
Text: by Steffen Ringkamp; Photos: Christian Ehrich, Christopher Meis
It all started as a study week project during the first semester.
The team of GAD 412 made a simple vehicle-based First-Person Shooter with life-like tanks, which engaged in LAN skirmishes. Engine Unity 3D was selected due to its availability as well as its easy usability. The game featured simple buildings that could be destroyed. It also had trees which the player should also have been able to destroy, but for various reasons, including the limited capabilities of Unity 3D this was not possible. After being somewhat successful at the GamesCom in Cologne, where the prototype had been presented, the team decided to make the game its final project and continue the development work.
During discussions regarding the next steps to take, it was mooted whether or not to progress with Unity 3D or to switch to a more powerful engine.
Although there are quite a few products available, most of these are only licensed for significant fees. This meant only two of them were viable and taken into consideration: Epic’s Unreal 3 and Crytek’s CryEngine 3. After receiving a demonstration of the capabilities of the CryEngine the team decided to switch and continue the development with this engine.
The difference between CryEngine 3 and Unity 3D is vast and like comparing a Ferrari to a Lada!
That is because it is faster, far more capable and efficient and above all, has a much more sophisticated look.
However Unity 3D is easier to use and does forgive even more severe mistakes. This turned out to be the first big issue the team had to adjust to. While it is possible to just copy any model into Unity 3D, the export to the CryEngine 3 is far more complex.
Not adhering to the naming convention or even the smallest irregularities within the model structure will lead with 100% certainty to an abort of the entire operation, often without any feedback why.
After overcoming those hurdles and implementing strike rules among the team regarding the export of assets, the next major issue occurred.
The CryEngine 3 had originally been developed as a base for First-Person Shooter. However our project, which was named Boom was designed as a third-person game. Although there is a fully functional vehicle control system implemented within the engine, the premise is that the player is actually sitting in the car, driving it – rather than being the car itself. The consequence is that the whole display array, like Health, Ammunition and Reticle, is useless. Unlike in Unity 3D writing a simple script within CryEngine 3 to circumvent that issue does not solve anything. A complete restructuring of certain parts of the engine code itself is necessary and can only be done with a serious amount of work.
Another topic that had a vast potential for frustration, especially in the early stages, was the physics simulation system within CryEngine 3. While extremely powerful when working, it is also very receptive for any kind of bug. For example, it is possible to destroy large objects such as houses by firing upon them, causing them to disintegrate according to the laws of physics. However at the same time the fragments into which those objects disintegrate can lose all textures without reason. It has been painfully time consuming to eradicate these problems by utilising trial and error.
Last but not least, some of the initial problems were also a result of the serious lack of support along with the sparse documentation that covers topics only on a trivial level. Almost all of the elements implemented had to be thoroughly tested until the majority of glitches where finally removed or resolved.
Summary: When considering taking on game development with CryEngine 3 needs to be aware that during initial stages of the process being disappointed is almost guaranteed. However after getting over these early hiccups the CryEngine 3 provides a fantastic platform for ideas to come to life.
GAD 412
■ He was born in 1971
The Class Interactive Animation started April 2012. It has 14 students: Christopher Meis, Stephan Ehses, Patrick Koch, Barbara Beil, Alessandro Esposito, Patric Lieweries, Patrick Angenendt, Matei Tzvetanov, Christian Phillipaerts, Christopher Evangelou, Marcel Trippe, Alexander Joering, Lukas Janssen and Christian Ehrich. Headinstructor is Steffen Ringkamp.