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