I would like to hear your recommendations on which framework/engine I should use for a mobile game.
I know C++ and C# but I’m still a beginner in both. I’m considering 3 frameworks/engines to make my game with.
I want to publish to both android and ios, but I don’t want to rewrite my game for each platform. I also don’t want to spend a lot of time on the engine, and to spend more time on the higher level game functions. I would prefer 3d, simply because I can make 3d art but cant do 2d art at all. However I could make 3d models, render them as images, and import them as sprites in my game. So I’m not against 2d. So with that in mind, here is what I have gathered about each framework or engine.
Cocos2d-x is C++, but is only 2d, and I’m unsure if I can publish to ios without rewriting my game in ObjC.
Cocos2d-xna is C#, can do 2d and 3d, and can publish to android and ios. Both Cocos2d-x and xna give me more control, but will require me to do more low level engine work.
Unity3d is C#, can do 2d and 3d, can publish to android and ios, and allows me to focus on just the higher level game functions and not have to worry about engine stuff. But it also cost ~$700 (for students), im also assuming this is a one time fee?
None of these options have royalties to worry about. Cocos is open source but I don’t think I will be taking advantage of that for this project.
I might also have some of this information wrong. So I’m asking for your advice/recommendations.
Thanks in advance.
Also what is the difference between Cocos Creator and Cocos Studio?
Do they work with Cocos2d-xna or just Cocos2d-x.
And should I use them or just stick with the Cocos2d frameworks.
If you decide to create a 3d game Unity3d is your best friend.
Unity3d is more suitable for designer and artists than programmers.
cocos is a great option for programmers and who want to have “control” over everything in “depth”.
so I prefer cocos2d-x and recommend Unity3d for you.
Unity is a good tool. It requires a different learning curve and different approach to development than we do. You not only have to learn the language, the tools also have a learning curve. You sort of have to set aside dedicated learning time or learn by the seat of your pants. This works for a lot of developers.
Cocos2d-x, you need to install, create a new project, open the api ref and start coding. We use languages that are a bit more mainstream for games (C++, Lua, JavaScript), IMHO. This is why I picked Cocos2d-x over Unity and Unreal. I took one day with each and at the end of the 3 days, I felt very productive with Cocos2d-x.
This being said, Unity is a better choice for 3D at this time. I think for 2D we are right up there with any of the other engines.
@Waffle_Dragon Studio is EOL’d. Please don’t use it to start a new project. Cocos Creator is our start on a unified development environment. It is JavaScript only at this time. Lua support is close and C++ is being added.
@slackmoehrle Thanks for the info. I would like to do this project in 3d so Unity seems like the best option. But Cocos2d seems like a better option for any 2d projects I do later on. Hopefully C++ is implemented in Cocos Creator by then.
The only concern I have is whether Cocos2d-x can build to both android and ios. Thats why I was considering Cocos2d-xna, but I can find very little help and resources for Cocos2d-xna, and plenty of stuff on Cocos2d-x.
Cocos2D-XNA - requires Xamarin which used to require payment for deployment. The community appears to be virtually non-existant (although there is a small monogame community) and there is no showcase of games. Does not appear to be a good choice.
Cocos2D-X definitely supports both android and ios as it has been used in thousands of games on both platforms. The right choice for 2D.
Cocos2D 3D support is limited.
Unity was made for 3D… 2D development is much improved still frustrating, and payment is required to remove the splash screen. The right choice for 3D.
Ah, that makes sense. The way I read your statement was that you should use Unity if you can afford it and if you cannot use Cocos2d-x. I think there are more reasons to use us than just being license fee free.