AuthorTopic: 2d Development Frameworks/suits/engines  (Read 4219 times)

Offline wzl

  • 0010
  • *
  • Posts: 274
  • Karma: +1/-0
    • View Profile

2d Development Frameworks/suits/engines

on: December 30, 2015, 04:46:47 pm
Recently i've been looking around for something that would suit my needs for development.
Normally i'm the type of person who just writes the stuff he needs himself, but i thought i'll save myself the trouble and use something someone else built. Turns out at this point i'm considering writing it myself again.
I'm aware that a good bunch of you are developers yourself so i might also ask in here, what are your personal favorites for 2d game development? May it be an engine, a framework or a complete suite.
Keep in mind this is highly subjective and based on my own experience only.
Feel free to add to this list, make counterpoints, or just ramble as i like to do :D

LoVE
Lua based scripting, really bad documentation, lacks some key features (or documentation thereof), lacks debugging

SFML.net
Provided samples are broken, runs on OpenTK, so why not use that?!

Otter2d
Samples broken, runs on SFML, [...]

Haxe
Uses some as3 mutant script language, doesn't seem to have a functional debugging last i checked. Seems fine otherwise.

Unity
3d centric. i dont feel it's suited for 2d/pixel based games all that well. Same with unreal engine (plus its a bit overkill innit)

Pico8
Fantasy console, uses lua, interesting concept, too tight restrictions. not suited to make actual games.

Offline Ambivorous

  • 0010
  • *
  • Posts: 332
  • Karma: +2/-0
  • If you can't do; inspire.
    • ambivorous
    • http://pixeljoint.com/p/47949.htm
    • ambivorous
    • View Profile

Re: 2d Development Frameworks/suits/engines

Reply #1 on: December 30, 2015, 05:11:35 pm
You basically called me by name, so I had better reply.

SharpDX
Used with C# (which can be a pro or con depending on who you are).
I recall resources being fairly difficult to get hold of (because there's a lot of nonsense inbetween), but a lot of people use it, so nothing stack overflow can't solve.
If you feel like you want to write your own stuff to get down to the nitty gritty, but know that there are a lot of things you don't want to rewrite then having a library is a good idea. This way you get to do cool things like manage your GPU's memory and pretend you're a wizard.
Basically you're using C#, and OpenGL, but it just so happens you can skip a few things.

Allegro 5
If for no other reason this framework is good for beginners because there are tutorials. Like this one.
Nothing magical, but it's very little work and uses C++.
* may contain misinformation

Offline Digivoxel

  • 0001
  • *
  • Posts: 24
  • Karma: +0/-0
    • View Profile

Re: 2d Development Frameworks/suits/engines

Reply #2 on: December 30, 2015, 05:22:25 pm
One of my guilty pleasure's is BYOND

BYOND
Very introductory to languages, if you learned OOP, you should be able to pick up this game quite easily. Art assets, maps, and etc are handled well in the engine. Plus it's extremely easy to port over to online-multiplayer. I would say that's probably the best part, if you're interested in learning about online development.

Cons
The library is flooded with resources from 2007 that either don't work, or straight up have no comments about variables or procs. Also previous games that you made will eventually break with updates to the system.

Offline AlexHW

  • 0100
  • ***
  • Posts: 1029
  • Karma: +0/-0
    • View Profile
    • AlexHW

Re: 2d Development Frameworks/suits/engines

Reply #3 on: December 30, 2015, 06:25:21 pm
If you're just interested in making games and finishing them, and not trying to do anything super crazy, then I would take a look at:
Construct2
Very easy to make stuff really quickly, and you can expand it with plugins or write your own. Has an active community and lots of examples.

Offline wzl

  • 0010
  • *
  • Posts: 274
  • Karma: +1/-0
    • View Profile

Re: 2d Development Frameworks/suits/engines

Reply #4 on: December 30, 2015, 06:41:41 pm
Allegro 5
If for no other reason this framework is good for beginners because there are tutorials. Like this one.
Nothing magical, but it's very little work and uses C++.

Easy to use high level library with straight forward 2d rendering, even hardware accelerated?! sold!
Guess i'll get familiar with cpp again.

In all honesty, i'd use gdi+ if it were not so horribly slow ;/

Offline Gil

  • 0100
  • ***
  • Posts: 1539
  • Karma: +1/-0
  • Too square to be hip
    • http://pixeljoint.com/p/475.htm
    • View Profile
    • My Portfolio

Re: 2d Development Frameworks/suits/engines

Reply #5 on: December 30, 2015, 08:20:12 pm
Personally I think that any game that's not on the web today is slightly behind the curve before development even starts. On the other hand, Steam greenlight being an open door these days levels the playing field quite a bit. Personally, I haven't found a game engine I really like yet, that hands me the control I really want. AlexHW can probably tell you more about that :)

Offline API-Beast

  • 0010
  • *
  • Posts: 263
  • Karma: +0/-0
    • API_Beast
    • http://pixeljoint.com/p/35725.htm
    • View Profile

Re: 2d Development Frameworks/suits/engines

Reply #6 on: December 30, 2015, 09:29:39 pm
Well, in the last 5 years of C++ I haven't found any really good engine for 2D games. That said, SFML is the most robust solution. To make 2D games all you need is display graphics, play sounds and get input, which SFML all provides in a way that works on all platforms.

I work on a small library I called Springbok to improve the situation a little, but it takes time. I have a high performance renderer for sprites, but it still doesn't work on AMD GPUs and I wanted to rewrite it anyway, so it will remain unusable until Vulkan is released. (Unless someone here is a kick-ass OpenGL coder that uses a AMD GPU and wants to help me.)

Regarding Web, you can compile C++ to Javascript via emscripten, but I don't know if it works with SFML right now.
« Last Edit: December 30, 2015, 09:33:06 pm by Mr. Beast »

Offline Gil

  • 0100
  • ***
  • Posts: 1539
  • Karma: +1/-0
  • Too square to be hip
    • http://pixeljoint.com/p/475.htm
    • View Profile
    • My Portfolio

Re: 2d Development Frameworks/suits/engines

Reply #7 on: December 30, 2015, 09:33:10 pm
You can compile C++ to Javascript via emscripten, so yes, you can run it in the browser.
I highly prefer Javascript as a language over C++, but that's neither here nor there. As far as I can tell, emscripten does work fine, but you need to constantly check if performance is okay and if it wants to compile, I wouldn't just create a whole game to find out it's problematic with emscripten.

Offline API-Beast

  • 0010
  • *
  • Posts: 263
  • Karma: +0/-0
    • API_Beast
    • http://pixeljoint.com/p/35725.htm
    • View Profile

Re: 2d Development Frameworks/suits/engines

Reply #8 on: December 30, 2015, 09:43:40 pm
You can compile C++ to Javascript via emscripten, so yes, you can run it in the browser.
I highly prefer Javascript as a language over C++, but that's neither here nor there. As far as I can tell, emscripten does work fine, but you need to constantly check if performance is okay and if it wants to compile, I wouldn't just create a whole game to find out it's problematic with emscripten.

That's not really a issue for 2D games. For one human Javascript is much slower than the one Emscripten creates, so even though Javascript is slower than native C++, it will still be a lot faster than if you had written the game in Javascript in the first case. The other is that our PCs are "overpowered" for 2D games, so if you run into performance problems you are doing either very expensive stuff like fluid simulation or doing something very wrong, not a issue you normally run into.
« Last Edit: December 30, 2015, 09:47:21 pm by Mr. Beast »

Offline Gil

  • 0100
  • ***
  • Posts: 1539
  • Karma: +1/-0
  • Too square to be hip
    • http://pixeljoint.com/p/475.htm
    • View Profile
    • My Portfolio

Re: 2d Development Frameworks/suits/engines

Reply #9 on: December 30, 2015, 09:56:25 pm
For one human Javascript is much slower than the one Emscripten creates, so even though Javascript is slower than native C++, it will still be a lot faster than if you had written the game in Javascript in the first case.
This is just simply not true. I don't see how Emscripten would create more efficient javascript than I would. I mean, it probably will shave off a few cycles, but I can probably shave those off with a Javascript optimizer too. And it will never be "a lot faster", unless I really screw up. That is, unless I compile to ASM.js, which is already a dead idea, as Chrome (a browser everyone uses basically) doesn't intend to ever support it, unless I missed some major news.