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
just write your own... it's not as if it's 3D or something
you could use the practice too.
SDL is a good place to start.
It provides a lot of the system-dependent stuff. You could also try:
http://www.libsdl.org/libraries.php
as good places to look as well.
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
>>2
Fancy way of saying "they all suck horribly"
looking this thread, reminds me of Renpy. Wat do u think of it?
>>8
But other engines would suck at implementing someone else's vision, he'd probably rather suck at implementing his.
>>7
Not a game engine (visual novels are not games any more than are Choose Your Own Adventure books)
Not C++
ok....but you can imply C++ languange on it....
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....
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.
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).
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.
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.
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.
OpenAL is about all there is for 3D audio, with Microsoft dropping DirectSound3D
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.
I think Allegro is fine, but there are a number of features I like better in SDL:
>>22 SDL is faster. Other the other side, I don't like it's keyboard polling; it's way too slow.
>>23 Keyboard polling?
What do you mean?
>>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.
>>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.
> 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.
gamemaker?
>>29
I don't have it. When I determined that it sucked, I got rid of it.
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.
>listen,
That's my problem. I was reading.
Sorry about that.
>>32
what a fucking idiot.
"Listen" here is not literal, it asks for attention.
"Read, OP just wants someplace to start" is plain wrong.
>>33 That's the Joke </McBain>
Laughing time is ovah.
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.
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.
jobby
You can look for SFML, it's new but pretty good... and very fast :P
and who use a 2d cards these day ?
Just try fml, simple & fast ;)
>>24
I think he was reffering to how often it checks for keyboard input
>>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.