| 3D games have become the main stream of game development with theenhancement of the CPU computing and the acceleration of the3D graphics renderingby discrete display card. It is too expensive for the lovers of game development thatmost of game engines today are ready-made to be bought or developed within theindependent research. However, the documents of the free game engines are notcomplete that it is hard to set up the programming platform.This paper introduced howto develop two different types of3D game scenes racing and shooting games usingthree engines graphics rendering engine Ogre, physics engine Newton and OgreNewtlibrary that connects these two as the development tool under Linux operating system.Some visualized and intuitive tools and components that could be used repeatedlyconstitute the complete game engine program. They connect with the externaldevelopment environment among each other and provide a very convenientdevelopment mode for developers in the data drive mode. These game enginedevelopers will bring forward various software components to promote the sales ofsoftware for the developers in the industry. Those software components are veryintelligent and many of them contain emerging functions, such as artificial intelligence,images and sound, etc. Because they have very flexible platforms that could be usedrepeatedly, and they provide key functions for developers in the game industry in thedevelopment process, these game engines are kindly called "transfer station". Takingadvantage of these "transfer stations" could save the related cost to a large extent andsimplify the process, quickening the game’s launch date, which is indispensable for theconstantly changing game industry. Some virtual game engines have greatly improvedgame players’ practical experience. Similar to other types of middleware programs,these engines usually provide a abstraction layer similar to a platform. Theseabstraction layers could realize the game operation on multi-platforms throughchanging only a few source code. Game could run smoothly on personal computer andgame console. Basic software architecture makes up these game engine, which makesit convenient to realize the brand new functions through changing some subsystems and adding the brand new game middle components(this will raise the cost). Throughthis engine middle layer, it could demonstrate the same game well on differentplatforms. These game engines are often designed to be replaceable for part or allcomponents to strengthen the game engine’s performance on the platform. These gameengine with replaceable components are usually relatively expensive. These gamecomponents with added functions mainly include several kinds, such as FMOD used todeal with sound related to physical computing and SpeedTree that could accelerate therendering speed. At the same time, some game engines are designed to be withindependent components to make it convenient for users to assemble personalizedengine components according to their requirements, such as Renderware. However,these will pose difficulties to the developers of game engines and such game enginedevelopers should give careful thought to their compatibility and the coordinationbetween the mutual work.Some game engines that only include three-dimensional real-time renderingwithout other development functions require the developers to develop functionsaccording to their own actual needs or make mutual integration through the existingcomponents. These include rendering, three-dimension and images. Because manywith obvious characteristics are generalized as "three-dimensional engine", this termhas no longer had a quite specific definition, such as some image engines like Vision,Truevision3D and RealmForge. The current images or game engines usually providethe scenario structure image needed and this kind of structure demonstrates thethree-dimensional game world in an object-oriented way, which brings greatconvenience for game developers to make relevant designs and also for rendering thevirtual world in the game.This paper will introduce under the Linux how to make use of Ogre imagerendering engine, Newton physical engine and OgreNewt that connects these twoengines as tools to develop two different3D game scenarios. The scenarioimplementation has good portability as long as there is necessary library file, and itcould also run under Windows system.Firstly, the Paper introduced the related technologies to Ogre, Newton andOgreNewt used in the game development. Then, requirement analysis and the wholeframework modeling of the two game scenes are presented. After that, a Makefilescript fusion of these three head files and link libraries made a complete game engine.Finally, the Paper introduced the concrete realization details using polymorphism, inheritance template and other technologies to decreases the degree of couplingbetween different modules and design patterns such as Singleton, Factory to integratethe instantiations and manage entities that reducing unnecessary code. |