First things first, when I'm writing this article I am basing it on the Final Fantasy type RPG's less than the Baldurs gate/Diablo RPG's.

Now I would also like to mention that I am sick of all this "platform RPG" rubbish, I have yet to actually SEE a platform RPG made in klik because, simply, none of them use stats, none of them let you name you character even (not that all RPG's dobut I'm just saying) so please, enoughwith sticking the words RPG on the title of you game to get people to download it.

Note: I will be using my own RPG that is being worked on at the moment as a guide.

On to the Article------------------------------------------

Making an RPG is EXTREMELY hard, this is just a warning for the newbies who wish to make one. I would just stick to learning MMF/TGF/KNP if I were you.

Now before you even contemplate working on the game it is best to have a script or a roughly drawn storyboard of your game. This makes it alot easier when it comes to building your world and giving the characters emotions.
For 'Dreams of Fantasy' I had scripted and put together a small storyboard which included pictures of what I wanted each frame to look like and next to each frame a rough script and notes to myself for when I'm making the game.
(If you would like to see a page of the script to understand more just DCmail me).

Now you must spend as much time as possible on this script because you need to have a Good story with your game. Imagine if Cloud was just some random guy who talked staticly to people (example: "hello I am Cloud I am going to save you") Final Fantasy 7 would have been an extremely boring game.
It's always good to throw in points in the story like when (SPOILER) you found out that Cloud was a clone of Zack or (SPOILER AGAIN) you found out that the whole World in FFX was a dream.
These points in the story are what make people want to keep playing the game, it draws them in and then as soon as they think they know what is happening it completely mess's with there head. (True japanese style lol).

Now thats the Script is done you should go back over it and check if everythign fits, and another very important point, do the Characters have good names? No one wants to play a game based around Jeffery Brown the farmer (unless they are incredably drunk). Spend Time on nameing your Characters.

Now use these points to go back over and check your Script.

- Is the Story Interesting?

- Does the Story have plot twists to keep the player wrapped in the game?

- Do the characters have emotions and fit into the story?

- Do the characters have good names?

- Can the player relate to any of the characters (preferably the Main character)?


From this Storyboard you will now be able to start on the backgrounds. HAHA now your in for alot of work.
Try to get hold of a program like Photoshop for this. Remeber, now your trying to 'Sell' your world to people, you want to display it as best your can.
Using your Storyboard check for the camera angle of the background. A flat background that you look down on does tend to get boring... The camera angle is your friends, it can set the whole mood of the frame.
Spend ALOT of time on your backgrounds, if you finish one and don't liek it that much, scrap it and start again. Have high standards for your own work.

Now to check over your backgrounds.

- Is the camera angle interesting?

- Does the background display what you want your new world to look like?

- And most importantly, do you like everyone single one of your backgrounds?

Now that the backgrounds and Script are out of the way you can work on the characters, this is where concept art comes in.
(For an example of concept art look for the "Dreams of Fantasy" preview or DCmail me)
You want your characters to look cool, interesting, abnormal (in a way). You want them to look Differant. How many of you people have played "RPG's" made in klik where the main character wheres a brown t-shirts and some blue pants or shorts and maybe some boots? Thats not interesting! Thats what little brothers wear!
For example look at Brawd. I have worked extrememly hard on making him differant. Even the hair and Face Tatoo atleast give him soem personality. Now look at the clothes, my clothes and characters are mainly influced by Final Fantasy. If you look at FF characters they are unevened. Look at Tidus pants, one side he has 3/4 pants and on the other he has short shorts (lol) he wears armour on only one arm. Now look at Brawd. He has differant colour hair on both sides, differant armour on each leg, only one arm guard, etc. Characters aren't supposed to look like ordinary people.

Now to look over your characters.

- Are they bizzare?

- Are the interesting to look at?

- Are they uneven?

- Does there clothing give you hints of where in your world they are from?

Note: I'm not going into much detail on actually doing the gfx (sorry) but spend ALOT of time on each characters animations, don't cheat.

Now for some other Random info before we get into putting it all together.

First is to make all the characters have differant stats. Now your ini should look something like this:
(Taken straight from the Dof ini)

[Brawd]
name=Brawd
weapon=none
armour=none
level=1
exp=0
expmax=300
hp=105
hpmax=105
mp=30
mpmax=30
fury=0 Note: Fury is Dof's version of Limit/Overdrive
furymax=100
strength=25
defense=10
luck=3
magic=5
magicdefense=5
weaponbonus=0
armourbonus=0

Depending on how you design your Battle engines your INI's amy vary from small to alot.
Now for leveling up make it that when a character wins a battle he/she gets say 10 exp from killing each "Zombie" monster and 15 from killing "Cave Dragon" monster + random(5,10). Now if the player wins a battle against 2 "Zombies" and 1 "Cave Dragon" his exp gained would = 35 + random (5,10) (lets say the randomexperience gained was 5 then he would have gained 40 exp).
So now make two counters on the exp gained frame. Name one "EXP" and the other "EXPMAX"
Now put this line of code into that frame:

"EXP" is greater or equals "EXPMAX" - Set "EXP" to 0, set "EXPMAX" to double "EXPMAX" (in the ini): Set Level to current level + 1. (then decide what your going to add to the stats each level up and program it in).

Now that Sorts out Level ups.

For attacks in the Battle engine you need whats called an "Algorythm". This is what determines how much damage you do from your stats. For Example: (This is not the Dof one because I'd rather not have everyone using my own algorythm but anyways)

(Strength + Weapon Bonus) x 2 - [(enemies)Defense + random(5,10)]

Note: That is just an example, it may or may not work 100% with your own game depending on how much stats you have given your characters.

That was just some useful infomation on stats/battles. Now onto putting everything together. Here are some useful tips on how to make a text window that the characters talk in.
Make two counters, one called "WAIT" and the other called "TALK". Now this is the conversation we are going to code:
-----------------------------------------------------------
Main Character (we will presume the player named him jeffrey the farmer ):
Priest please tell me... are my animals going to perish by the hands of my brother who was seperated from me at birth and was brough up without parents and suffered many mental problems ending up with him being crowned king of Farmland!? Noooooo tell me its not so Priest! tell me damnit!

Priest:
Yes Jeffrey the Farmer it is true, I am sorry... but I must tell you now... I am pregnant with your child!

Jeffrey the Farmer:
Nooooooooooooo!
-----------------------------------------------------------

Now it would be coded like this:
-Timer equals 00"00"00, Set textobject"CHARACTERNAME" to (Get characters name from INI), Set textobject"TEXT" to "Priest please tell me... are my animals going to perish by the hands of my brother who was seperated from me at birth and was brough up without parents and suffered many mental problems ending up with him being crowned king of Farmland!? Noooooo tell me its not so Priest! tell me damnit!"

-Every 00"00"01 add 1 to "WAIT"

-"WAIT" = 30
+ "Shift" is pressed
+ "TALK" = 1, set "WAIT" to 0, set "TALK" to 2.

-"TALK" = 2, Set textobject"CHARACTERNAME" to "Priest", Set textobject"TEXT" to "Yes" + (get characters name from INI) + "it is true, I am sorry... but I must tell you now... I am pregnant with your child!"

-"WAIT" = 30
+ "Shift" is pressed
+ "TALK" = 2, set "WAIT" to 0. set "TALK" to 3.

-"TALK" = 3, set textobject"CHARACTERNAME" to (get characters name from INI), set textobject"TEXT" to "Nooooooooooooo!"

And there you go, another episode of the bold and beautifu.... I mean RPG game thingy.... yes... anyways.

Once you have put your frames together with the background and the characters a nice thing to add which I have done in Dreams of Fantasy is to add little things like animals that occasional climb up trees, and butterflys which randomly flutter around. It adds alot of atmosphere and makes the scenes beautiful.
Also try putting in footstep sounds aswell, now this can be tricky and very annoying if you dont get a good sound for the footstep, so unless you are skilled you best leave that out. Remember its the small things like animals and footsteps which most people never add and thats what can change an ordinary ok game into something much more beliveable.

And there you have it, Rob Haseldine's journey into makeing an RPG, of course I may have missed quite alot because RPGs are quite epic in scale, but anyways I hope you found it interesting and more importantly helpful.