I have real difficulty reconciling these two statements of yours.
I want to learn game design. What I mean by game design is the core rules and mechanics of the game. I don't mean character design, story telling, or any of that. Personally, I don't particularly care for stories in games.
But the game I am planning on implementing is an online rpg. Kind of like an MMORPG, but in a smaller scale---I'm not delusional, I think.
I see what you mean. But, for example, I think that a majority of WoW players don't care about the lore, and skip quest texts etc. At least that's how everyone I know plays the game. There certainly are things to do besides the story.
Be that as it may. My first set of advice is to:
MY second set of advice is:
- look in the "Breaking into the industry" forum
- check the FAQ's for that forum
- then head over to Tom Sloper's website http://www.sloperama.com/advice.html
- Don't jump in at the deep end of game design - start with a small game with a simple set of rules
- As you have pointed out you are a programmer - that ability should allow you to create a number of small simple games with quick turn around.
- There are a multitude of game mechanics that as a player you will be aware of - utilising a subset of the available game mechanics into cohesive whole is your goal.
- Creating an RPG is a hefty amount of work...it is where I would expect to hear the term "team" and not individual - Not to say that it can't be done solo mind you.
I'm not looking to "break into the industry". I'm planning on making the game with a friend. In fact I have already started. I have basic networking, attacking, monsters, respawning, and a few other stuff done. I'm not going to make another game.
The basic principle of any game design is to start simply -- don't introduce 10000000 rules/elements right at the start. Once you have your initial idea - Map it out - Try a test run playing it as a very basic game - Make notes - Introduce a few rules/elements (if needed)- then replay your updated game - make more notes - get feedback from others - rinse and repeat until you have a game that has reached optimal playability.
This is certainly something that I understand. As a programmer I have a visceral dislike for complexity.