However, it is wonder that the modern computer game
engines are lack for research literature as described in
Anderson et. al. 2008 [1]. The overview of the computer
game engine architecture is described in Bishop et. al. 1998
[2]. More details on the game engine design are described in
Eberly 2006 [3]. There are many famous cross-platform
engine for examples: CryENGINE (www.crytek.com), Unity
(unity3d.com).
Bindubaih et.al. 2007 [4] presented that game portability
and can divide into 4 categories:
1. Game Engines-Independent Game, a game required
to make portability to the engine and the engine portability –
this will gain most portability but using lots of power to
maintain each engine compatibility. It is difficult to manage
when developers try to maintain portability through many
engines.
2. Game Engines-dependent Game, a game required to
make compatibility to the specific engine and the engine will
solve a cross-platform portability problem – portability only
the platform that engine was supported. With no support
from the game engine, the game developer can't make their
game run on the unsupported platform.
3. Hardcoded Games (software based) a game
software required a specific hardware – no portability.
4. Hardwire Games (hardware based) a game is
hardware and their circuit connected with the platform – no
portability.
Presently, some of game engines can port (2.GameIndependent
Game Engine). For examples, Unity3D Engine
[5] and Unreal Engine [6] can quickly and easily develop a
great cross platform game on both PC and MAC. However,
in the case of source code dependencies bind tightly to the
engine, and a future work in Bindubaih and Maddock 2008
[7] on moving to another engines need the software adapter
layer for matching in every engine or at worse cases all
event-driven scripts are useless and need to write a new set
on another engines.
Our work is fully framework portability. Users can
develop and test on the PC/MAC platform by copy all folder
of the project including source codes and resources. The recompilation
before run a program is needed as binarydependent,
but no need to change the code or resource. The
problem of portability game will solve with our own engine's