2D game development references.

Started by
4 comments, last by incutonez 11 years, 6 months ago
Hello all! Excuse me if there's been a thread like this, but I couldn't find one after doing some quick searching.

I'm looking for some references on 2D game development. I mainly want to create a game similar to the Legend of Zelda (the 1st one on the NES). Now, I realize I'm shooting for the stars here, but this is a side project that I'd really like to try and accomplish. I also realize this won't be finished in a month or even a year, but if I could just get the basics underway, then I think I'd be able to do things on my own.

My background is in computer science, so I know programming languages like: C/C++, Java, JavaScript, etc. I've been reading (from random threads online) that the best route would be C++ or C#, and I've heard of GDI, Allegro, and OpenGL but wouldn't know the best one to use for this scenario. I have absolutely no experience with game programming, but I definitely would love to learn. For my first toy problem, I just want to be able to create a box and a square that can move left/right and up/down... gotta start with the basics then work to textures, sounds, actual animation, etc.

Anyway, I was wondering if y'all had any good references/guides that would push me in the right direction. I've heard Barnes and Nobles might have some good reads, but don't know where to start, so do y'all have any suggestions? Any help would be appreciated. Thanks!
Advertisement
The best library to use would probably be the one you're most comfortable with. Most of the ones you listed are perfectly valid choices, and there's also SDL for C/C++, or XNA if you want to use C#.

Since you already know to start small with basic movement and collision, and they're both pretty key concepts to making a Zelda type game, why not check out a few simple 2D tutorials to do that (such as Pong,) using whichever frameworks interest you? You'll likely find some online, so you can play with each before picking one that suits you, then invest in a proper book (or online resource) for learning it.
Thanks Haps. I'm not familiar with any of those libraries, so do you have any experience using them? Which one's easier/would you absolutely recommend for doing a project like this?
I originally went with Allegro, but that was a long time ago and SDL is worth a good look too. XNA or other C# frameworks might be comparatively easier as they're higher-level, but not if you have no reason to switch to C#. You'd also want to check if any limitations (such as compatibility) might get in the way but it all depends on your goals.

Most of what you'll learn is about game programming itself, and nearly all of that will transfer if you decide to change technologies later. You'll just have to adapt to the new syntax instead of the learning the whole theory on "how a game operates" all over again.
If you're considering using C++, my personal preference is using SFML for graphics, audio, input, and windowing system. I also use a 2d physics library to handle all my movement and collision detection in my worlds (chipmunk-physics is my personal favorite, but other have used box2d).

For some reference, in my Sig, there's a link to my Old Blog. It details the steps I took to make a simple 2d top-down action game using C++, SFML, and a 2d physics library. Feel free to look over it as well.

My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)

Haps, that's what I love about normal programming... Once you know the basics, you're good to go. Glad it holds true for game development. I've heard a lot about XNA, so I may look into that--my only worry is my knowledge of C# is none. I realize it's basically MS's version of Java, but I'd be fighting two battles if I went that route.

BeerNutts, thank you for all of that awesome input. I will definitely be checking out your blog and the libraries you mentioned.

I really appreciate the help guys! Now all I need to do is get some spare time to make a decision on which route I want to take.

This topic is closed to new replies.

Advertisement