OpenGL is an Operating System interface (API) that operates
on a low level. This allows you to write code and determine the best way to
control the hardware, such as the sound card or video card.
(OpenGL + OpenCL  can
be a full alternative to Unity for creating your own games.)
This can be considered a more complex approach.
ü  More control (particularly over hardware)
ü  OpenGL’s libraries can be good for figuring out  good ways to do what you are asking the
hardware to do.
ü  Free.
-     
Does not do as much as Unity.
-     
Less productive.
-     
Higher learning curve
Unity (AKA UDK)
Game engine. It lays on top of libraries like OpenGL or
DirectX.
If you are working in Unity, you should know C# or JavaScript, too.
If you are working in Unity, you should know C# or JavaScript, too.
ü  All in one tool
ü  Rapid prototyping. (drag & drop editing etc)
ü  A whole development suite, not just a library of parts to put together
or a framework to help make sure they all fit. You can create the whole game in
Unity.
ü  Helps simplify as possible to create games. (easy for beginners)
ü  Better geared for beginners (good starting point for game development)
ü  Unity does far more than OpenGL. For example, it can handle game levels
and inputs in addition to figuring out how to render your backgrounds and play
music.
ü  Large amounts of documentation and tutorials available.
ü  Free version if earning less than $100,000
ü  Personal version allows distribution to multiple platforms.
-     
Less control or specifics.
-     
Runs on it’s own VM
-     
Large game file sizes. (A minimum of 9mb
due to bundling Mono with every build)
-     
Shaders not great in free version
C# or JS in Unity –
js in unity
is unique (unityscrpt) – more flexible but potentially slower
slightly more common in forums
can be slow!
C# - less flexible,
strictly typed.
but always runs at JavaScript’s top speed.
(fast)
More access to tools and advanced
techniques.
Other programs use c# - good for
learning overall.
Monkey X PRO
ü 
Programming language for easily creating multi
platform apps . It translates “Monkey code” to other languages at compile time –
(C++, C#, Java, JS and Actionscript).
ü 
Has a number of built in modules
ü 
Doesn’t
run on its own VM (unlike unity / corona)
ü 
Rapid
prototyping
ü 
Easy
to learn object oriented language.
-      Not well documented
-      Limited asset store
-      Learn a new language, that is
somewhat limited
libGDX
ü 
Fast development via desktop deployment
(no need to deploy to android every time.. test straight from desktop)
ü 
Free and open-source (open source under
apache 2.0 license)
ü 
Doesn't force a specific design (design
any way you wish.. customisable)
ü 
Interfacing with platform specific code
-      Java dependency leading to performance issues.
-      Low level engine difficult for inexperienced programmers
-     
Limited documentation 
Given all of the above, Unity3d appears to be the most appropriate in terms of effort required to get started, stability and available information.
 
No comments:
Post a Comment