2D RPG and some questions.

Started by
5 comments, last by GroZZleR 18 years, 8 months ago
I'm about to start work (hopefully!) on a 2D RPG and I have a couple of questions. I'm rather conflicted about what APIs to use and such, mainly because of how the graphics are going to be done. Let me elaborate. The maps are going to be a lot like Legend of Mana's (if anyone's played that game). This picture is a good idea of how I wanted it. Hand-drawn, scrolled, not really tiled (as far as I can tell). Mainly I was thinking of having the big ol' map on one layer, the characters on another, and various sprites over that to give it depth. I can't do it 3D, because me and my partner in this are both sort of, well, 3D retards. So, for one, is this even feasable? Second, what APIs would be good for this? I was considering using DirectX and all it's stuff like DirectDraw and the like, but I've heard some sort-of nasty things about the whole lot. And DirectDraw is supposed to be deprecated? In any case, I'm still sort of lost on the whole thing. I realize I'm probably way over my head trying to make a big ol' game like how I want to, seeing as how I've only taken one C programming class at a community college, but I feel like this is something I really have to do, and want to do. So, if anyone can offer tips, suggestions, or words of encouragement, please do. Thanks a bunch!
The beatings will continue until morale improves.
Advertisement
I would go with SDL
It is C friendly (as opposed to Direct Draw), pretty fast, and multiplatform.
You might also try OpenGL as well, because you can do a lot of cool things that are hard to do in SDL, such as alpha blending, and various special effects. And it is easier to have sprits in OpenGL.
As the above poster mentioned, OpenGL is a very good choice. Although it is technically a 3D API, you can put it into orthographic mode (so no perspective calculations are performed) and then draw your sprites as textured squares/rectanges (or "quads").

On the other hand, SDL will give you input, sound, network, etc, as well as graphics.


Actually, I've just remembered that you can use OpenGL with SDL, so that is probably the best choice of all :).
Quote:Original post by MENTAL
On the other hand, SDL will give you input, sound, network, etc, as well as graphics.
Actually, I've just remembered that you can use OpenGL with SDL, so that is probably the best choice of all :).


Yes, they can be combined with very good results. We use SDL and SDL_net for events and networking, and OpenGL for graphics. We also use various other libraries for sound (sdl_mixer is not as good as OpenAL), xml, and other stuff.
Quote:Original post by MENTAL
As the above poster mentioned, OpenGL is a very good choice. Although it is technically a 3D API, you can put it into orthographic mode (so no perspective calculations are performed) and then draw your sprites as textured squares/rectanges (or "quads").


Hmm. Let me see if I understand correctly. ^^ So... have, say, a background layer textured onto a big rectangle in the background, another one in front of that, and then the character sprites as smaller rectangles? I've fiddled around with stuff like that before to get a background to show up in an OpenGL assignment, so I get the idea of how that would work.

I was going to do the game in C++, as while C is a good language, it's probably not the best choice for a game. Just thought I'd clear that up. :D And while there are a ton of books on DirectX programming, I do have a teeny bit of OpenGL experience, so it might be the better choice after all.

I'm still really shaky on the "how to do this" ground. I know what I want, but implementing it is, well, above my level of understanding! Still, any more ideas are welcome.

I'll get it eventually! XD
The beatings will continue until morale improves.
Quote:Original post by blitzvvolf
Hmm. Let me see if I understand correctly. ^^ So... have, say, a background layer textured onto a big rectangle in the background, another one in front of that, and then the character sprites as smaller rectangles? I've fiddled around with stuff like that before to get a background to show up in an OpenGL assignment, so I get the idea of how that would work.


Yes, that's pretty much it...
The DirectX helper library (D3DX) has a sprite interface (ID3DXSprite) which makes rendering sprites in a 3D API as easy and natural as rendering in a 2D API, with all of the speed benefits.

It's worth checking it out.

This topic is closed to new replies.

Advertisement