🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Any new 2D game frameworks for C++ over the last few years?

Started by
9 comments, last by hplus0603 3 years, 2 months ago

Hey, I've been away from game development (and these forums) for several years and am wondering if there are any new developments in 2D game frameworks for C++ that I have missed.

The last time I wrote a game Cocos2d-x was the only game in town but back then I cared about mobile. I've been thinking about starting to work on a game but only really care about Windows this time. I was looking at Godot but it is more of a heavy weight thing than I want. I mean I think Godot is an executable that runs scripts that you write; you could use it from C++ by building it yourself and adding your game's code in but just seems like you'd be fighting against it … i.e. I just want something that is a library not an executable.

Cocos2d-x is still around but looks even more bloated now than when I used it. What i'd like is something that is slightly higher level than SFML. Like an implementation of the notion of the sprite tree with nodes that can have children and have matrices applied to them etc. like Cocos2d-x but with less of “and the kitchen sink” quality.

Advertisement

There's Raylib, it's technically C, but might be what you're looking for.

huh, that is actually a very nice looking little library. But it's more of a replacement for SDL / SFML. I was looking for something at like the next level of abstraction above that for 2D games.

There's one in the making right now but not open to the public yet. It's called cute framework.

To paraphrase, it's like SDL2 but a lot higher level and with a lot more features yet it's still FAR more lightweight than something like cocos2dx.

But yeah, not out yet. If you want to know more:

https://media.handmade-seattle.com/cute-framework/

yeah that one seems like what I want. I actually started my own a few years ago so I guess i have to decide whether to continue with it or use cocos2d-x again.

Mine is here:
https://github.com/jwezorek/cephalopod

jwezorek said:
i have to decide whether to continue with it

Or just put some effort to contribute to one of those existing ones ?

Shaarigan said:

jwezorek said:
i have to decide whether to continue with it

Or just put some effort to contribute to one of those existing ones ?

I wanted to contribute to cocos2d-x but they were going in a direction by choice that didnt interest me. Cocos2d-x has or used to have this nonstandard and confusing memory model where it would deallocate objects that were not specially marked to be retained after each iteration of the game loop. I think objects that were attached to main stage/sprite tree thingie were automatically retained. Something like that … it has been a while so might have it wrong. Some people wanted to change it to just use standard C++ smart pointers but that idea got specifically decided against. That was when I started working on my own framework. I mean I actually got it pretty far but there are somethings I'd have done differently now.

Anyway Cocos2d-x just seemed only interested in adding features and never cleaning up what they already had and I don't really know of anything else in C++ that is like cocos2d-x

jwezorek said:
I started working on my own framework … I don't really know of anything else in C++ that is like cocos2d-x

You have a bunch of options, however. If you want to use Cocos but don't like how they did it, simply fork the source code on GitHub and change those parts which you don't like, for the cost of not being supported anymore. The alternative is to go further on your own - or - look around which projects are started in the wild, for example in GD.net's Hobby Project Classifieds forum and participate there.

Our team for example is always looking for contributors ?

The framework I mentioned is accessible now, if you wanna take a look

https://github.com/RandyGaul/cute_framework

I think you'll probably do just fine going with Godot.

You may call it “heavyweight” but it does address a bunch of the things that any game you build will have to address anyway. Once compiled, it's not particularly big, especially compared to the size of textures and sounds and other assets in a finished game.

enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement