Very nice post to get a newcomer started, jonjava
It’s so important to know the basic steps.
I have to agree with axeman about the RPG games. I have been programming a top-down RPG for the past 6 months, as my first actual game, and I must admit I should not have started there. I’ve learned so much on the way, that when I stumble upon some code I wrote 5 months ago, I tremble because of the bad procedures I’ve used, and I find myself optimizing a lot on the way. When you work like that, you end up having to fix a lot of other code that used the bad code after optimizing it, and it gets pretty tedious. Plus I’ve spent most of my time designing and programming menus and designing stat-systems, instead of getting a lot of new skills under my belt. Although I’ve gotten pretty bad-ass at making menus ^^
I have ended up with a fully functional game-framework, with collision-detection, several tile-layers and a battle-system, but I could’ve done it a lot quicker, if I had started with some simple games. And now I find myself in the position where I have to make a map-editor, and start scripting an entire game from the story I’ve written…and it’s killing me. RPG-games are not the best way to progress in programming.
My best advice would be: Get some action/arcade games under your belt. During the time you spend on these, think about all the elements you want in your RPG, and do some high-level designing, so you know exactly what you’re going to make and how it’s going to work. Which stats do you want? Which stats should weapons have? Do you get stat-points at each level, and if so, which other stats do they affect? Should monsters have equipment or predefined stats? How do you want battle to work? Are there quests, and if so are they WoW-style or FF7-style? etc… These are the things I found myself changing all the time.
I’d recommend getting comfortable with the basics of the gameloop, as jonjava posted, by doing some simple games. Do a Pong-game, it won’t take you more than a few weeks if you’re a perfectionist, and less if you don’t really care about the graphics.