Good 2D Game Engines (C++) (43)

1 Name: #!/usr/bin/anonymous : 2008-07-09 06:20 ID:80dioBYP

I'm looking for some good 2d game engines to create games using C++ i know there are plenty(ish) about but i want to know which ones are good, and if you know of any books that can guide me through creating 2d games for beginners let me know.

I was reading a book that uses llamaworks2d game engine but it actually doesn't work -_- and it got recalled, so now im stuck for where to go next.

Thanks

2 Name: #!/usr/bin/anonymous : 2008-07-09 09:32 ID:Heaven

just write your own... it's not as if it's 3D or something

you could use the practice too.

3 Name: #!/usr/bin/anonymous : 2008-07-13 09:21 ID:02m+P6w2

4 Name: #!/usr/bin/anonymous : 2008-07-14 12:53 ID:5N4g9go0

SDL is a good place to start.

It provides a lot of the system-dependent stuff. You could also try:

http://www.zefix.tv/sge2d/

http://www.libsdl.org/libraries.php

as good places to look as well.

5 Name: #!/usr/bin/anonymous : 2008-07-14 16:17 ID:d1F+nc4W

a really good SDL tutorial site (at least what I've used) is LazyFoo's sdl tutorials. google is your friend. he has like 36 tutorials that each deal with a different aspect of making a game. check'er out

6 Name: #!/usr/bin/anonymous : 2008-07-15 08:47 ID:p1oubQp6

>>2
Fancy way of saying "they all suck horribly"

7 Name: #!/usr/bin/anonymous : 2008-07-16 04:14 ID:Ie6x31Sh

looking this thread, reminds me of Renpy. Wat do u think of it?

8 Name: #!/usr/bin/anonymous : 2008-07-16 05:53 ID:0DwODwQI

(Not OP)

>>2
Sounds time consuming.

>>6
By the standard then the one he makes is likely to suck just as hard, in which case he might as well save time and use the shitty ones that already exist.

9 Name: #!/usr/bin/anonymous : 2008-07-16 15:30 ID:p1oubQp6

>>8
But other engines would suck at implementing someone else's vision, he'd probably rather suck at implementing his.

10 Name: #!/usr/bin/anonymous : 2008-07-16 17:20 ID:Heaven

>>7
Not a game engine (visual novels are not games any more than are Choose Your Own Adventure books)
Not C++

11 Name: #!/usr/bin/anonymous : 2008-07-16 23:40 ID:TtPXP0A5

ok....but you can imply C++ languange on it....

12 Name: #!/usr/bin/anonymous : 2008-07-16 23:41 ID:TtPXP0A5

i was referring to >>10 sorry.......

13 Name: #!/usr/bin/anonymous : 2008-07-16 23:45 ID:TtPXP0A5

Ok, I am thinking to search one ....as this thread sounds cool to me..

I once learn MUGEN engine but it's a 2d fighting game (like street fighter). It's open source already....I leaved that thing dead on my mind anyway......

Will post my findings here if I can....

14 Name: #!/usr/bin/anonymous : 2008-07-17 07:36 ID:3C/ICQHL

Ok, this is just personal opinion, and very uninformed, but SDL might not be the best option. I don't actually use it myself, but most of my favorite SDL based apps have began to degrade in certain instances, especially sound. I guess if you can hack it (I certainly can't), SDL would be nice, but use something else for sound (there are plenty of alternatives.). Good luck with whatever you are doing.

15 Name: #!/usr/bin/anonymous : 2008-07-17 11:52 ID:hmvBtMtM

SDL's audio engine is really quite limited. It's a good cross-platform library, but certainly not nearly as functional as DirectX (as it's been touted).

16 Name: #!/usr/bin/anonymous : 2008-07-17 15:57 ID:JuVR4RzO

SDL's audio engine is fine. DirectSound is strange API-wise and requires special programming in order to get decent performance because Microsoft painted themselves in a corner and won't break backwards compatability.

ASIO is better (both in performance and in programming), but requires special licensing on Windows- including the promise not to publish your source code.

Finally, you don't have to use SDL's audio engine, and you don't have to give up the rest of SDL in order to use something else. Use SDL, and if it causes you problems on Windows, rewrite your audio loop to do things the DirectSound way.

17 Name: #!/usr/bin/anonymous : 2008-07-18 00:41 ID:a8CcPfKD

An alternative to SDL is Allegro, but I think SDL is better. It's worth checking both out.

Also, there's OpenAL for audio. A little complex, but if you ever get into 3d programming OpenGL will be very familiar.

18 Name: #!/usr/bin/anonymous : 2008-07-18 00:42 ID:a8CcPfKD

An alternative to SDL is Allegro, but I think SDL is better. It's worth checking both out.

Also, there's OpenAL for audio. A little complex, but if you ever get into 3d programming OpenGL will be very familiar.

19 Name: #!/usr/bin/anonymous : 2008-07-18 02:24 ID:Heaven

OpenAL is about all there is for 3D audio, with Microsoft dropping DirectSound3D

20 Name: #!/usr/bin/anonymous : 2008-07-18 07:51 ID:9o52X2rL

>>9
Good point. I suppose.

21 Name: dmpk2k!hinhT6kz2E : 2008-07-18 18:35 ID:Heaven

Allegro is a decent library. It was simple, portably and did everything I needed in one package. At the time I preferred it to SDL and was confused why so many people raved about SDL instead.

I've toyed about with Clanlib a bit. It's capable, although it gets less maintenance love than Allegro.

22 Name: #!/usr/bin/anonymous : 2008-07-18 22:07 ID:JuVR4RzO

I think Allegro is fine, but there are a number of features I like better in SDL:

  • YUV access
  • SDL is noticably faster
  • Smaller library
  • Easier to ship
  • Non-US keyboards

23 Name: #!/usr/bin/anonymous : 2008-07-19 01:39 ID:yqta9O9N

>>22 SDL is faster. Other the other side, I don't like it's keyboard polling; it's way too slow.

24 Name: #!/usr/bin/anonymous : 2008-07-19 18:30 ID:h1mu0t3C

>>23 Keyboard polling?

What do you mean?

25 Name: #!/usr/bin/anonymous : 2008-07-19 20:33 ID:Heaven

>>16
Speaking as someone who's written a couple of SDL based apps for audio processing, including a sound mixer and a softsynth, SDL's audio engine is far from fine. No MIDI support, only the most generic audio output support, and slim-to-nil for anything else. It plays sound; that's about it.

Plus, SDL's audio/video are automatically synced to each other, so if you want to use a different audio library you'll need to add more additional code to sync it together yourself in some cases.

26 Name: #!/usr/bin/anonymous : 2008-07-19 21:04 ID:h1mu0t3C

>>25 DirectX has no MIDI support, only the most generic audio output support, and slim-to-nil for anything else. It plays sound; that's about it.

The part about SDL's audio and video being synchronized is garbage: There's absolutely nothing that mandates X number of periods being rendered every Y frames. You must be thinking of Allegro which does require such nonsense.

27 Name: #!/usr/bin/anonymous : 2008-07-20 00:23 ID:Heaven

>>26

> The part about SDL's audio and video being synchronized is garbage:

Odd, when I tried substituting SDL's audio library for direct output to /dev/dsp, it was waaaaay off. (And yes I was mmap'ing it.)

Note I never said DX was better, just SDL's audio was limited. Although I suppose most libs are sadly quite lacking in that field.

28 Name: #!/usr/bin/anonymous : 2008-07-20 01:14 ID:/UjHOkOd

gamemaker?

29 Name: #!/usr/bin/anonymous : 2008-07-20 14:16 ID:h1mu0t3C

>>27 Post your code.

30 Name: #!/usr/bin/anonymous : 2008-07-20 16:01 ID:Heaven

>>29
I don't have it. When I determined that it sucked, I got rid of it.

31 Name: #!/usr/bin/anonymous : 2008-07-21 17:36 ID:d1F+nc4W

listen, OP just wants someplace to start. SDL is easy as shit to use, as well as Allegro. DirectX is going to be more useful, but more difficult.

if it was me, i'd pick SDL, as I've only seen a handful of games use allegro.

32 Name: #!/usr/bin/anonymous : 2008-07-21 18:14 ID:Heaven

>listen,

That's my problem. I was reading.

Sorry about that.

33 Name: #!/usr/bin/anonymous : 2008-07-22 15:19 ID:Heaven

>>32
what a fucking idiot.
"Listen" here is not literal, it asks for attention.
"Read, OP just wants someplace to start" is plain wrong.

34 Name: #!/usr/bin/anonymous : 2008-07-22 18:01 ID:Heaven

>>33 That's the Joke </McBain>

35 Name: #!/usr/bin/anonymous : 2008-07-23 00:42 ID:Heaven

Laughing time is ovah.

36 Name: #!/usr/bin/anonymous : 2008-07-27 09:14 ID:JJ7h/mzX

>>26

>You must be thinking of Allegro which does require such nonsense.

Lol wut?

37 Name: #!/usr/bin/anonymous : 2008-08-10 19:09 ID:ZAZM3PEY

I found OpenGL easier to use than SDL or Allegro. So what if its a 3D api, it can just as easily be used for 2D. If you use GLUT and youve got a little C++ experience under your belt, the tutorials around the net should see you through.

38 Name: #!/usr/bin/anonymous : 2008-08-10 23:50 ID:Heaven

>>37

Even though it can be used for 2D, 2d-cards can't accelerate GL, which means running your 2d-only game on lower-end graphics cards really sucks a lot more than it would otherwise have to.

I really like my matrox dualhead board- it has the fastest 2d and xv support out of any of the graphics cards (including when compared to 3d boards) I've tried. It doesn't have any gl/3d support however at all.

39 Name: #!/usr/bin/anonymous : 2008-11-16 18:50 ID:chc84A7q

jobby

40 Name: syphod : 2009-05-31 17:12 ID:Nv1v4low

You can look for SFML, it's new but pretty good... and very fast :P

41 Name: syphod : 2009-05-31 17:14 ID:Nv1v4low

and who use a 2d cards these day ?
Just try fml, simple & fast ;)

42 Name: #!/usr/bin/anonymous : 2009-06-15 18:14 ID:Heaven

>>24
I think he was reffering to how often it checks for keyboard input

43 Name: #!/usr/bin/anonymous : 2009-07-29 14:25 ID:QJLqILjM

>>40
SFML seems to be easier than SDL, really :) But might be not enough for some tasks. And as I needed some low-level audio lib, I decided to use portaudio.

If you are looking for good 2D game engine, maybe you should consider some 3D engine (there's more of them) and just modify rendering or write your own one? If you are going to use most of mentioned libraries, you will have to write your own engine. Unless by "engine" you mean something that will put graphic/audio/input management into some easy package but won't give you any functionality you would need in a game.

This thread has been closed. You cannot post in this thread any longer.