Hey all,
So after developing games for a bit I discovered many things. I want to share some things I discovered along the way!
The story is important
So you want to make a game and dive into code. Not such a good idea if you don't know where the game will go in terms of the story. Its advisable to write the story of a game first especially in this case because its an RPG genre. Later this will help knowing what dialog each main character will be saying and help design the level locations. Also its good to use some dedicated software for writing. I found one called Plume Creator which allows you to define characters, the scenes and write the story organised into chapters.
Proper planning saves time
For any game its helpful to plan out the level design, what types of units will be in it and what kind of stats will they have. Think about the menu layout and graphics style you want. Before you start programming spend some time to plan out how to store data. (variables, arrays, structs etc.)
Take game development seriously
Games can be fun but don't even think for a second that making them is equally easy and fun. In order to make a good game you need to focus and develop it as a serious project. Once you get some decent groundwork done on the development you can then decide what fun elements to introduce for the player. If you develop the game properly the addition of new content should be made as easy as possible. Developing a game in a poor manner will make it difficult to add more content. Making this difficult will test you and may force you to give up working on the game.
You can't do everything
Alright maybe there is somebody out there who is a 'pro' at coding, graphic design, artwork and sound/music creation. However, for the most of us we have an expert level of skill in one area. Perhaps we have a little skill in another but certainly we can't cover every area. Games that turn out the best usually come from a team of coders, artists and music/sound producers. Myself for example, I can produce pretty good code and I have a little skill with graphics too. That is pretty much it though, I wouldn't be great with creating a soundtrack or doing more artistic stuff with graphics.
Different development cycles
For my first game I just did non-stop development. Never once did I do anything different or think "is this the best way of doing it?". However now I am working on a development cycle with an optimization cycle straight after. I go back and forth between the two cycles. Development just involves adding new features, fixing bugs and improving features. Optimization involves going back over features and check if the efficiency can be improved, removing unused variables or graphics from past ideas.
Don't 'improve' what already works
Sometimes you will look at a feature and think of a genius idea to do it better. However more often than you think this idea will not work out in practice. You will then realise the time wasted on 'fixing' a feature that was already working fine. A better way to deal with this is moving ahead with development on features and when the game is nearly finished maybe experiment a bit. Doing this will at least stop time wasted in the game development period and won't affect progress.
Hope that helps some people out there. Note that the content of this post is from my blog: http://www.photofiltre-lx.org/blog/59.html (which also has a sneak preview of my rpg game in development)