Excuse the long post, but I hope it's a good read.
No idea how you're going about this for iphone, excuse my lack of experience in that area.
I am, however, very close to the release of my first RPG for the Xbox Live Indie Game service, called "West".
Links allowed here? That would seem like a self promotion to me but whatever, you can read random news I post here:
http://www.bertiusgames.com" onclick="window.open(this.href);return false;
Anyway, over the last... oh, 6+ months I've been coding my own engine from scratch, making maps, polishing, etc. I have no idea what tools you have (Or if you're opting to make the engine yourself as I did) but that's obviously where you'll want to start. Many of my best ideas came while writing the engine, when I figured out exactly what features my engine was good at dealing with and what it wasn't. One of the biggest aids to me has been trying to mimic everything RPG Maker 2000 can do and more. Great way to get started. If you can reach that point, your engine will become much more flexible to creation of multiple titles under the same hood. However, you might decide to take another route, but still : There's quite a bit of functioning parts going on behind the RPG that aren't often brought up. Dealing with the inventory system for me was a good example.
You'd think with an object oriented design that adding items to an inventory would be as simple as using an arraylist or some other storage for item objects. In reality, there's a lot more that's to be done with items, such as using them in battle or turning in a quest. Say you have 15HP potions, and you want to find an exact one. You can't name it by its string "HP Potion" because you'd get the 15 results (or if it's a return statement, in which case you'd just get the first one). You can't assume you know the index of the item in the arraylist, because the hero could have picked it up at any time during the game. Same goes for multiple instances of armor, whether they're equipped or not. Then you might use an item.. What should happen? If it's a potion, obviously destroyed, but a weapon or armor would do something else. When you save/load a game, you need to recreate the inventory, items and all, and players shouldn't have to re-equip their items. This is just one of the little things I never really thought about, but ended up being a little tricky to solve. However, if you can come up with something clever, you can easily add more features. Quick example with mine in the inventory system was that in CS class we had worked with lists and trees and such, and I thought it would be a good idea to give items categorized types so that you could sort items from "HP Potion" types (I made a collection of "Consumable Type") and say weapons. So now there's a quick way to sort items in an inventory "so that you can find one HP potion hidden among dozens of weapons, easily!", as one of the characters explains.
From there, then I'd worry about completing the story. Sure, a bunch of people would probably argue otherwise (like doing the exact opposite), but until you know exactly what you're working with and what your limits are, it'll probably end up biting you in the end, as I have seen with more than a few dozen RPG's on the internets and youtube.
As far as my suggestions to you go, try to include elements into your RPG that suit your market. Doing research on this (however you want to) is critical. For Xbox RPG's, I learned (Among many, many other things) that with Indie games, there
is a demand for independent RPG's, and a lot of people will be willing to give a $1 RPG a try even if it's not 'spectacular'. Making games cost that low on the Xbox means keeping file sizes small, so I chose to make a relatively short adventure. (Relative, to say 40 hour dragon quest 4 ds that I've got logged, 3-4 hours isn't a whole lot). Then again, factoring in the price and the nature of the indie market, it's really a decent deal. I mean, what else could somebody buy for a dollar, a coke? I know I can't, they're like $1.19 plus tax or something like that in NY.
Also try to include elements of your personality. If you're funny, do what you do best. Personally, I'm a huge, light hearted, MOTHER series loving goofball, and you can clearly see similarities between my game and the Mother series (and that I'm a goof). What you must be most careful of is crossing the line when it comes to this. Doing an opera scene, for example, for me would be too similar to FF6, while something like 'defeating the guy who was evil all along' isn't something that'll get you in trouble. Then again, I've seen Indie game makers get with a lot of directly ripped stuff... So what I'm trying to say is, think of a decent and catching, not outlandish storyline that's easy to follow and doesn't have too many characters for its length. Do things that you've always wanted to do in RPG's or really liked to do, and be sure to make conversation meaningful. There's nothing more dreadful to me in an RPG than having long boring battles only to go into a town where people only say "hello" besides the one guy who advances the quest. You might have seen in "Dragon Warrior 4" for NES that random townspeople will often give hints of treasures to find or areas to explore without saying explicitly "This is the dungeon you need to do in order to advance the storyline". Great music and a bit goofy at times, made for a great game in my opinion.
One last point, keep realistic throughout. You're making an RPG on a mobile media player. What this means to me is irrelevant, what it means to you and the consumer is really how this'll all work out in the end. By this, I mean that you have to understand that the ipod/phone is not an SNES that a majority of people hook up to the TV to play for hours sitting down. Quite often it's a device that kids are playing in class, or on the road for short bursts of time wasting action. So whether that means "Make the game very short" or "make save points more often" is up to you. Personally, I opted to let players save wherever they wanted, but that's not the greatest idea as far as flexibility goes. There's some times and places where that has to be disabled and it can get a bit annoying working out bugs where players attempt to save during events, while walking, in battle, etc.
Hope this helped you, at least entertained you. Again, the whole process took me over 6 months (probably closer to 8, I honestly don't remember) and I've spent my whole summer working on it almost non-stop. I have no idea how far along you are but I'm just saying this junk takes a lot of time and wasn't easy or fun like a lot of people would like to suggest.
-Bob.
Making XNA Games in C#.