Quote: "To my knowledge, in 12 years of existence, nobody has ever completed an RPG in DBP. The closest to success was probably Geisha House. With that in mind, good luck! "
Fair point. But does DBC count? I'd probably class
Soulhunter as an RPG, at least it was kinda Zelda inspired.
It took a long time to produce, but it's a damn good game.
But the main trouble with creating an RPG is that it is a lot of work. Generally I would suggest to make it manageable and to not over complicate things. It'll be a long project and that's generally why they tend to fail. If you get too ambitious, you'll throw yourself off course, hence I am refusing to even touch my 'Ronin' project now. Abeyance on the other hand is a much more manageable RPG, and even that's going to take a lot of work.
Having a good plan and an engine (and make it modular as Sasuke has said) in place would help you a lot, so you can create the content more effectively. Starting with placeholder models for the media will help you focus on the coding side more - the TGC store has some great content there and heck, FPSC allows you to export scenes.
The engine I am working on for Abeyance (a 3rd time this year

) is modular, the original one wasn't, but this one is. It'll make all the difference to development. I am using XML scripting, so for each level, I can just add to my XML scripts and any changes in source code will affect the game as a whole because all the code is doing is reading those XML scripts and then using any logic I've coding to interpret the data. The bonus to XML is that you can create XML files in Microsoft Access.
Although I am in the early stages of the rewrite, I have my level loaded using XML data. I've split the data into several databases - so there's a 'level' database, an 'NPC' database, 'items', 'waypoints' and so on. So in NPC.XML, I'd have a variable called "room" and it'll match the name of the room that NPC will appear and it'll also have coordinates for placing it in that room. Here you can see an example of how I'm using XML to load data.
There's 2 sets of data displayed on the screen, both are inside of level.xml, the first is the current level that's loaded, the second is the next zone. This database will assign 'names' to each room, it'll load the level file and it will place the camera and set its target.
Extra data I could add for the engine to read could also be 'zone' points and they'd be in waypoints.xml and it's 'room' variable could be 'bedroom' and that waypoint will have a target level of 'corridor'. So when the 'bedroom' level is loaded, that waypoint will be created.
It'd all be determined by the data you put into the script and your game engine only has to read it. This way it's modular and much more manageable. I do have a sample of a very basic text adventure engine using LUA laying around that should help demonstrate how it works. I'd have to dig it out.
There are alternatives to XML in DBP, there is LUA and Dark Data too, or you could even create your own script parser (Goga's string plugin will probably be helpful in that respect).
If you've never set up a scripting system, it might sound confusing, but it actually makes things easier and reduces the number of times you have to compile your project and there's more than one way of approaching scripting. The way I've explained it is how I'm using XML for my project. The way I'm doing it actually allows me to use Microsoft Access to create my scripts. Other people may do it differently.
For more information how that works, click
here.