Unity vs Libgdx vs Cocos2d-x [closed] - cocos2d-iphone

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm a Android and a Software Programmer.
Currently I know three languages C++, C#, Java. Now I want to make games as well. After searching the Internet I got the names of these three engine, so which engine should I use for game development for mobile?
Please, provide the reason as well.
Requirements:
I want to use it for 2d and few ideas are
A platformer shooter
A RPG game
A strategy game
Important:
I am indie dev and I am quite bad at graphics designing, and I have 0 budget
And you.can also recommend any other lib or engine

cocos2d-x
Opensource.
Less community support but good support on other sites (3k search results on stackoverflow).
Many Famous games like 2048,BADLAND are developed using cocos2d-x
The minimum size of game developed on cocos2d-x can be as low as 1.5MB
Supports both 2D and 3D but mainly used for 2D.
C++ is mainly used for development.
Supported Platforms: Android, Tizen, Windows 8, Windows Phone 8, Linux, Mac OS X, iOS
libgdx
Opensource.
Good community support as well as on other sites (9k search results on stackoverflow).
Some famous games like Ingress,Apparatus are developed on libgdx.
Supports both 2D and 3D.
Java is mainly used for development.
Supported platforms: Windows, Linux, Mac OS X, iOS, Android, BlackBerry, Java Applet, Javascript/WebGL
Unity
Paid.
Huge Community support and huge support on other sites (15k search results on stackoverflow)
Many famous games like monument valley, Temple Run 2, Angry Birds Epic are developed on Unity.
Supports both 2D and 3D but mainly used for 3D only because developing 3D games on unity is very easy as compared to other platforms.
The minimum size of game developed on unity is around 8MB.
C#,unityscript is mainly used for developemnt.
Supported Platforms: Android, Apple TV, BlackBerry 10, iOS, Linux, Nintendo 3DS line, OS X, PlayStation 3, PlayStation 4, PlayStation Vita, Unity Web Player (including Facebook), Wii, Wii U, Windows Phone 8, Windows, Xbox 360, and Xbox One
I hope it helps

It pretty much depends on what you kind of game you want to make.
Unity is more for 3d games like FPS or gun games, while cocos2d-x and libgdx are for anime-like games.
You can browse the stores for each platform and see what kind of games are created by that platform.
Also note cocos2d and libgdx are open source while Unity is closed.

Related

Embedded 3d graphic engine with supporting Blender models [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm trying to develop desktop application. User can load 3d models from Blender with animation (simple object (move, rotate, etc) animation and NLA tracks) and interact with it (rotate model, zoom, click on different object, run animation).
Requirements:
Platforms: Windows, Linux.
High performance
Blender support.
Application's language: C++, C#, maybe another.
I know about Blend4Web (low performance for big model) and Ogre3d (tried to export scene from blender but in app see only black screen unfortunately). I will wonder if I miss something usefull.
Most Graphics Libraries can store files in the WaveFront obj format. libObj can parse and read this format. You should then be able to upload the models to OpenGL and perform the operations that you require.
For a framework to build your app look at GameKit
Using Ogre for graphics, Bullet for physics, OpenAL for sound
OgreKit is most actively developed
Engine is written in C++ and the game logic can be done in C++, Lua scripting or logic bricks
Reads all data from Blender .blend files, with future FBX import planned
Free from viral licenses: only using components using MIT/BSD/Zlib style licenses
CMake cross-platform build system support that works out-of-the-box, see http://cmake.org
Gamekit supports Windows and Mac OSX, Linux, Android and iPhone.
While it doesn't directly read blend files godot is a graphical game building application with python like scripting, it has a gui toolkit that can be used for non-game applications and they offer a blender addon for collada export that is meant to be better than the official one. Being open source you can also adjust it to your needs.

Need advice on 3D and 2D C++ framework selection [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
We are a small company with only 2 programmers. We currently make small 2D and 3D games for desktop and mobile using Adobe Flash/Air. We want to stop using that framework and start learning and developing on C++ because there are much more and better libraries and frameworks available on C++.
I'm not sure about the libraries to use for rendering. I know that Ogre3D is a great rendering engine for 3D content but sometimes we need to make 2D games or "2.5D" games, sometimes with video playback, and all that need to be mixed with 3D scenes.
I know there are 2D frameworks like cocos2D-x and smfl that works with OpenGL (I don't know much about OpenGL) and can do all the 2D things I need, but can those frameworks be combined with Ogre3D? And can it be done without the need of knowing how all the Ogre3D internal stuff or OpenGL works?
If Ogre3D can be combined with any 2D engine, what do I need to learn to merge the frameworks?
Given that you have been using flash, I am guessing you are not porting old C++ code.
Also, since you don't want to know about how the internals of the framework you're using or how OpenGL actually works, you don't need a low level language like C++.
An abundance of open source libraries is not a very good reason to program your game in C++ either.
Unity3D has a free basic license, and provides everything you need out of the box.
For now, you can use planes with textures to do your 2D work, but Unity will also be coming out with a set of Native 2D Tools in the near future. Also, a new GUI system is being created.
For any C++ library you think you may need, there is probably something already built into unity that does what you want. If there isn't, there is probably a .NET port that you can use. And if all else fails, you can write a C interface for any library you need, and use it as a plugin in Unity.
One big problem with Unity though, is that you need Unity Pro to use plugins. Unity licenses are per-platform, So if you decide to use plugins, and release your game for multiple platforms, you could end up paying a lot of money in licensing fees.
Finally, it's not just an application framework you'll need. You'll also need a level editor. Building a 3D level editor is not a trivial task, and given that your team consists of only two people, this fact alone should be enough to seriously consider using Unity.
So unless you are porting old code, need low level access to hardware, or have specific needs for native code, my advice is don't use C++, just use Unity.
Yes, Ogre3D can handle such "2D tasks" as playing a video. Simply a plane in 3D space that it gets projected onto. However for pure 2D projects an 3D rendering engine such as Ogre3D is usually overkill. If you are talking about 2,5D though, you are back in play with Ogre3D.
Regarding integrations: Not completely sure, but I guess those other 2D frameworks need an OpenGL rendering context that you can get from Ogre.
EDIT: Same question has been asked in the official Ogre3D forums.
We are another small team working on game development.
We tried many rendering engines and finally settled down with Irrlicht Rendering engine. Irrlicht is no way better than Ogre 3D or am not trying to prove that. We felt Irrlicht more flexible for our need. It also supports 2D rendering and it is quite fast with batching. Irrlicht can be easily ported to other platforms, It took us a week to port it to Google Chrome NaCl.
Irrlicht is a very basic rendering system that supports OpenGL and OpenGL ES, so its easy for your to go mobile. You can add any advanced features without much effort. Some of our games are available for iOS, Android, Windows PC, Mac OSX, Linux and Google Chrome Native Client.

Choosing 3D Engine for iOS in C++

Good day.
Currently I'am looking for 3D engine for iOS written on C++ as powerful as Marmalade and I don't know which to choose.
Why C++? I need it to be crossplatform (for future plans).
Why not Marmalade? If I'll use Marmalade it means that I can't anymore use my favorite Objective-C libraries and frameworks. I want to make interface/network/all using XCode and just one screen will contain 3D scene (and I need to do many things here. Shaders, CSG, texture masking, boolean operations, procedural mesh generation, etc).
Unity is a pretty popular 3d engine for iOS. Check it out:
http://unity3d.com
You may also check out Cocos 3d which is an extension of Cocos 2d which is written in C++.
http://brenwill.com/cocos3d/
You can also check out http://irrlicht.sourceforge.net
You may also find some information on these posts:
https://gamedev.stackexchange.com/questions/21/easy-to-use-cross-platform-3d-engines-for-c-game-development
Cross-platform 3D game engine for hobbyist developers?
Because you mentioned Objective-C, I think I have to mention about this.
Currently as far as I know, three companies are trying to offer Objective-C based 3D engine on Android. By definition, it will be supported natively on iOS.
http://www.yeecco.com/stella/features
This company already released the product, but no sure about stability or range of supported devices. It's pretty sure that this is supporting Samsung devices because they are sponsored by Samsung. Location or developers are unknown, and also no showcases.
http://www.apportable.com
This company has no release yet, but very promising. As you can see, they listed several famous iOS games ported to Android by their beta product. Also, they have more information on their website.
http://www.madewithmarmalade.com/ko/juice
Marmalade has also released an iOS to multiple platforms (including Android) tool called Juice, that makes Objective-C games run on Android.

Learning to create animations in C++

does anyone know where I can learn to create and manipulate animations in c++ for the purpose of game development?
GameDev.net would probably be a good place to start, they have links to plenty of tutorials for both DirectX and OpenGL. The NeHe OpenGL tutorials are a pretty good introduction. Microsoft alos has quite a few tutorials and sample applications that come with the DirectX SDK.
You'll want to use a library to display and manipulate 3D models. As Kevin suggested, OpenGL and Direct3D (DirectX) are the industry standard libraries - DirectX if you're target platform is Windows-only, OpenGL otherwise.
Is there a reason why you must learn this in C++? C++ is my favourite language, but the XNA Toolset (C#) is phenomenal and will have you up and running in no time:
http://creators.xna.com/en-US/ (windows only, but can compile to Zune/360 very easily)
Another great way to start learning about game development is to build some mods - Half-Life 2 and Unreal Tournament 3 would be my suggestions to start with; Half-Life 2 uses C++ and is very easy to work with (I have no experience with UT3).

OpenGL Windowing Library for 2009 [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
Trying to decide on a library for creating a window and capturing user input for my OpenGL app, but there are just way too many choices:
GLUT (win32)
FreeGLUT
OpenGLUT
SFML
GLFW
SDL
FLTK
OGLWFW
Clutter
Qt
Others?
GLUT is simply outdated. I liked GLFW but it seems you can't set the window position before displaying it (I wanted it centered, is that so much to ask?) so you see it appear and then shift over, which bothers me. Plus development seems to have stopped on it too. SFML has some nice features, but it uses event polling rather than callbacks which I prefer for decoupling. I don't think I need all the GUI features of FLTK. SDL is slow (doesn't seem to take advantage of the GPU). And the other 3 I don't know much about (FreeGLUT, OpenGLUT, OGLWFW). So which is the lesser of the evils? Are there others I haven't heard about?
I'm just trying to make a simple 2D game. I'm familiar enough with OpenGL that I don't really need drawing routines, but I probably wouldn't complain about other functions that might be useful if they are implemented properly.
SDL allows you to create an OpenGL context that is accelerated (depending on drivers / hardware support).
I know you tagged as C++, however pygame (python) is a great library for creating 2D games, which also supports an OpenGL context. Pygame is built on SDL.
Clutter is a new OpenGL based GUI library with bindings for Perl, Python, C#, C++, Vala and Ruby. I haven't used it myself. From the website:
Clutter uses OpenGL (and optionally
OpenGL ES for use on Mobile and
embedded platforms) for rendering but
with an API which hides the underlying
GL complexity from the developer. The
Clutter API is intended to be easy to
use, efficient and flexible.
GLUT and the other GLUT alternatives should not be used in any sort of production application. They are good for putting together a quick demo application or to try something out, but not for much more than that.
If you're trying to make an OpenGL game, I'd recommend SDL. It focuses more on gaming needs. It most definitely can be used with OpenGL. A brief google for "SDL OpenGL" turned up this link on how to initialize OpenGL with SDL. Enabling OpenGL should also enable hardware rendering with the GPU.
Qt is a reasonable alternative, but it's better if you want to embed OpenGL within a larger, desktop application (think 3D modeling, CAD/CAM, medical visualization, etc) where you need access to standard OS widgets for the UI.
I'd go for Qt. Nice general purpose library + opengl support
IF "learning c++ part of what you're trying to achieve":
then
IF "you only want to learn OpenGL with a fullscreen mode":
USE GLUT //Because it's VERY VERY simple. You can get set up VERY quick
ELSE:
USE QT //Great library, has many many things that will help you. It is portable, it has a nice API
ENDIF
IF "you don't need C++":
then
USE Python //I recommend it, it is fast, no long link times, good api, omg I love this language
Background:
I also tried to make simple 2D games once, I started with C++ and NeHe. I knew nothing about OpenGL and C++ (had Java background). The language overrun me, so did OpenGL. So it was a very hard learning curve.
I don't recommend going that way, since you can get faster results by using a dynamic language (such as Python). So I started learning some years later with python. I could get the "rotating cubes" working much faster.
We have had rather good experiences with ClanLib 0.8 in 2008 and ClanLib 2.1 in 2009 on our C++ course. The productivity of the students (as measured by the quality of their project works) has greatly increased since switching over from SDL. However, it needs to be noted that 2.1 is still very incomplete and one will certainly run into features that are simply not implemented yet.
A couple of groups used Irrlicht (3D engine) with good results.
SFML looks promising, but I haven't had a chance to try it yet.
As others have stated, GLUT is not really suitable for anything serious. The rest of the libraries mentioned are something more of GUI toolkits than game development libraries.
Per recent corespondance with the author, development on OGLWFW has stopped.