I'm interested in creating a 2-dimensional tile-based game utilizing sprites and such, but I have no idea where to begin. I have a 14 year background in programming console applications in C++, but zero experience with graphical programming. Most of what I can find related to game programming tends to lean toward 3D games or pre-made applications that "make the game for you". I'm not interested in either of these, so any help would be appreciated.
There is fairly little support in modern hardware for "sprites" as such. But you can probably draw a full screen background and overlay that with some "sprites" of your own design, using for example SDL.
The only think classifying as a sprite in a standard PC would be the mouse cursor, which in the implementation I know of is implemented as a separate layer - and there where only three of those in one graphics card, so hardly useful for a game...
Drrcknlsn, Go the 3D route, it may seem a little more complicated at first, but it will save you trouble because almost all the graphics APIs now do things in a 3d way, There are a lot of tutorials on gamedev.net (if I recall right) for doing this sort of thing.
And whats wrong with using a 2d game development lib? Something like SDL or Allegro would make more sense to me.
Theres a fairly good SDL tutorial on Lazy foo that shows how to set up a window with double buffering, load/draw images, mask sprites, do collision detection, and deal with event handling.
I'd say making a tile editor that saves maps would be a good place to start.
Bubba was working on one a couple of years ago. Don't know how it turned out. But you may want to PM him or something... if he doesn't see this thread before that.
Originally Posted by mike_g
Yeah I made one a couple of years back too. Kind of ended up as a bug infested mess with all the features I kept addding to it. For anyone thats interested you can download it here.
That said my original point was that a simple tile editor can be done in a couple of k of code and would probably make a good little testing project before beginning something bigger like a game.