Looking for 2D game development engine

Started by
8 comments, last by kburkhart84 6 years, 9 months ago

I plan to make a 2D game with some turn-based RPG elements, very programming heavy but not heavy on graphics. I am not interested in 3D although pseudo-3D is a possibility as long as its as easy to implement. I would prefer a java-based engine since that's what I've done the most with, but I have no problem picking up a new programming language as long as it can do everything java can, and it has to be object-oriented; classes, interfaces, and inheritance are all very important to what I'm doing. Its also important that the engine be capable of advanced math and efficiently process things such as fractional exponents, although I care less about efficiency with processing graphics. If the engine has anything built in to help troubleshoot, even something as simple as showing syntax errors without having to compile and read error reports, that would be a huge plus.

I've played around with gamemaker a bit, but I'm not sure it can do all I need it to, and it looks like it's intended more for platformers and the like.

The engine does not have to be free but I would like to have a trial version so I can tell if its what I'm looking for before spending money on it. 

Any suggestions? 

Advertisement

The only thing you described there that I think Gamemaker can't do is some of the language syntax/features you mentioned from Java.  The scripting language(GML) has plenty of functions for math, etc... so I'd be surprised if it didn't do what you want.  Care to elaborate specifically what you want that you think Gamemaker can't do?  It does have limitations but just based on your post I don't see you going past them.



Does Gamemaker have some equivalent to inheritance? Also what are some of its limitations and why don't I see more commercial developers use Gamemaker?

http://www.cocos2d-x.org/

Cocos2D is the most powerful 2D engine there is. It has ALL the fancy things and the basics, you can make simple and advance games with it.

The only downside is because it can do so much it takes a long time to learn, although if you keep things simple it will be less of a problem.

What language does cocos2D use?

2 minutes ago, Gigawatts said:

What language does cocos2D use?

C++ it also has an editor for those who don't want to do heavy coding.

If your language is the main factor then you should look into Unity, it's a better 2D engine than 3D, it supports many languages.

Edit: my friend says that cocos2D also supports java.

1 minute ago, Scouting Ninja said:

C++ it also has an editor for those who don't want to do heavy coding.

If your language is the main factor then you should look into Unity, it's a better 2D engine than 3D, it supports many languages.

C++ is fine, it'll just take some getting used to. I'll take a look at Cocos and see how it works.

On 6/24/2017 at 5:47 PM, Scouting Ninja said:

C++ it also has an editor for those who don't want to do heavy coding.

If your language is the main factor then you should look into Unity, it's a better 2D engine than 3D, it supports many languages.

Edit: my friend says that cocos2D also supports java.

Scouting Ninja is correct in that Unity will probably be your best bet. It offers C#(very similar to Java), JavaScript and Boo(not too familiar with that).

Unity is a very powerful engine and you can create virtually any kind of game you can imagine; Either 2D or 3D.

The only downfall is like every other powerful tool, there is a steep learning curve. But try to take it in chunks and definitely start with 2D and you should be fine.

Good luck with your project!

@Gigawatts

I will answer a couple questions about Gamemaker.  Yes, the objects support inheritance, in fact quite similar to other languages.  The objects can have parent/child relationships, where the child is generally the exact same as the parent, except where you change something.  So you can have an object child be the exact same as the parent, and change just the sprite...or you can change specific events, for example, making it move differently, while keeping the rest the same.  Normally, when you add an event for a child object, it overrides the parent object's version, but you can still call a function to make it then execute whatever the parent had in that event as well.  You can also have chains of parent/child objects, though you can't have an object with multiple parents.  And in code(or in collision events), you can simply use the parent object, and it WILL include all the child objects of that parent object as well, so if you want all enemies to have the same collision reactions with some other object, you can just put that collision on the parent, and if that other object needs to react the same to all enemies(parent and children objects), you can just check for collision with the parent, and it will  include all the children as well.

About commercial projects in Gamemaker...there are actually a lot out there, maybe less than Unity, but there are still quite a few.  The original version of Spelunky was made in an older version of Gamemaker(though used something else for the console ports).  Hotline Miami is another famous one.  Vlambeer has used it for their productions as well.  There are many more too, and you can find lots of them on the Yoyogames Showcase on their website.

About using Unity for 2d....I don't highly recommend it, except for 2 reasons.  One, Unity has a nice free version you can use, Gamemaker does not(it has a limited trial though, but it doesn't compare to Unity).  Two, if you are interested in 3d at a later time, then it may be in your interest to learn Unity as it can handle the 3d stuff later, so you will have a head start.  But, as far as which is better for the specific use case of 2d games, unless you want something specific that Gamemaker can't do well out of the box(like adding 3d effects), Gamemaker is a much better engine.

 



This topic is closed to new replies.

Advertisement