An RPG Guide by Nivram

Intermediate-Should have a good understanding of MMF.

This is actually more of a guide for making RPG's than a tutorial. This guide covers areas from planning to finishing an RPG.

Planning:
I can not emphasize enough the planning phase of an RPG. Every word and every scene must be preplanned. Interactions between your character and Non Player Character (NPC) must be thought out and placed in writing. There are some programmers that code as they go along, without a story line. This is the wrong thing to do. Planning will make your coding easier, and the RPG will be a pleasure to make.

You must also make the decision on the view for your RPG. Will it be an overhead birds eye view, 3/4 view, side view?

Coding:
There is perfectly readable code, and there is messy code that can not be understood. Make sure you comment everything. Why? If you come back to the earlier parts of code, six months from now, you need to able to understand what your code does. A good way to split your code up is to use Group Events along with comments. Don't wory about running out of event room. You can have 4,096 Groups and 4,096 events in each group. This is a lot of events. If all these events and groups are not committed it can turn into a coding nightmare in a hurry.

Overworld:
This will be the area your character will move. You have two choices. Use one large frame in which your character can venture smoothly from one area to the next. This is often the preferred method of building the world. The other choice is to use multiple frames. Although this method uses less cpu power, it also creates more coding, so that your character enters the world in the right area frame to frame. Remember that you can combine your overworld wth one large frame and have seperate frames for example, dungeons and other areas, like warp points.

Graphics:
You will have two choices for your graphics. Spend the time to perfect your graphics at the start, or use place holders for your graphics and perfect them after you code the RPG. I would suggest using place holders. Place holder graphics are rough graphics used so the programmer can get a feel for the RPG as they code and test. I have read that you should not use library graphics. This mentality is rubbish. It is not a sign of lazyness, and it makes sense. Break the mold that some farsighted people have created and use library graphics.

Character:
When making your character, the same will apply as for the graphics. I would suggest using a place holder. There will be plenty of time after you have finished coding the RPG to smooth and fill out your character sprite.
Movement:
There are several options when considering your character movement, but I would sugesst not using any MMF inbuilt movement. X,Y custom movement, custom fast loop movement, point A to Point B movement, and grid type movement are among some of the better movements you can use. Consider your character will be colliding with backgrounds, such as walls and NPC's.
Collision Box:
Use a box, and use this for your actual movement for your character. Always set your actual character to this box. This will keep your character's legs and arms from getting caught on the scenery. It is also important for edge of screen stopping, because as your character turns an arm or leg may end up inside the coding limits for the edge, and your character would not be able to move.

Will the user be able to build his character at the start of the RPG, or will there be set characters for the user to start the RPG with. If you are new to RPG making you will probably want to start with set characters.

Saving and Loading:
All RPG's should have a way to save and load data and status. Again, there are several options for doing this. INI, INI++, Array, Associative Array, and Save Game are just a few. All programmers are different, with different skill levels, so use the system your are comfortable with and know. If you ask five different fellow coders which is the best and easiest, you will get five different answers.

If you are not familiar with any save and load system objects, create a small application and experiment with the different methods. Then make your choice of the system you feel comfortable with.

Interface:
It is important that the user have a way to interact with your RPG. Will you have your menu on screen with direct interaction? Will you code a sub-application, that takes a user to a new screen to check the health of the character? How will the user know if their character is carrying the broad sword or the the long sword? Will there be onscreen animated icons that change as the character picks up items? How will the character change weapons or items? You will need to consider these things and more.

I would suggest you have an on screen Interface for accessing sub-applications which contain the inventory, maps and etc. I have seen complete on screen menus that follow the frame. It will be up to you how the interface works. Consider what your tastes are, ease of use, and what you are most comfortable with in your coding.

Non-playing Characters (NPC's):
Will your NPC's be stationary? Will they be animated? Will they move? How will your Character interact with the NPC's? This will depend on what your tastes are, your skill level, and what you want to do. Certainly having them stationary will be the easiest. You will have to consider what the user would like to see. If your skill level dictates to have your NPC's stationary, you can always change the RPG as you develope coding skills.

Enemies:
Will you do real time battles? Turn based combat? Will you have a Battle Screen similar to Final Fantasy 1 or Dragon Warrior 1? You may find it easier to have Real Time Combat. This will involve you having to do more animations and more realistic enemies, but this method is straight forward and less math intensive. The character's sword hits the enemy a few times and poof, they die (or you die if you can't hit them).

Inventory:
There many things to consider for your inventory. Will it be on screen? Will there be direction changing icons for the selection system? Will you use a Sub-application for your inventory screen? Will the inventory items be stackable? Will you use Inventory Slots? Remember you have unlimited Global Values, so experiment with these. Global Values carry over to sub-applications, if you select that option in the properties. An important aspect is that you must have a saving system that will keep track of the Inventory items and what is selected for use by the character.

Classes for Characters
The Character's Class is the profession or vocation. The Class selected determines what your character can do during the RPG, combat prowes, magical aptitude, and skills. Some examples of classes:
Barbarian
Bard
Cleric
Fighter
Sorcerer
Wizard
Thief
Sneaker
A Wizard may be very good with magic, but a fighter knows nothing of magic. While your fighter can attack or defend against strong monsters, the Wizard would be useless in close combat.

Race
Most RPG's highlight the Human Race, but to make your RPG more challenging how about adding Races. Distinct Races have their own homelands, but they all come together in the villages. Maybe different Races can be picked out to alter the outcome of an RPG. Each Race has a unique ability or skill. Some examples of Races:
Human
Dwarf
Elves
Halfling
Orc
A Halfling can have any part of any Race. That makes things interesting.

Skills
Let's say you need a dungeon door unlocked. So who can pick a lock? The thief could, because that is one of his or her skills. When thinking up skills for your character, make it seem real. Don't go and have an ORC try to pick a lock. The Orc would be more suited to smash the door down, if he has the Strength Level to do so. You could have your Thief gain in Skill Level. Level 1 he could pick a simple lock, and at Level 10 he or she can pick a very difficult lock, may a prison cell lock. Some skill examples:
Smash
Pick Lock
Blind
Hide
Invisibility
See
Jump
Diplomacy
Knowledge
Use your imagination, but make it believable.

Weapons
You can have hundreds of weapons in your RPG, but remember, an Elf could have problems using a Great Sword, since it would probably weigh more than the Elf. Leave that for a Fighter to use. Some Weapon examples:
Sword
Knife
Club
Axe
Whip

Magic
Don't have a Wizard throwing Nuclear Fireballs at Level 1. Make it a pathetic magic like a Small Flame that may be able to light a campfire, but doesn't do much harm to monsters. Some examples of Magic:
Hurt
Fireball
Flame
Fire Shield
Cloak
Invisibility
Restore
Protect
Don't be afraid to have Magic in your RPG, but keep pace with the Wizard's Skill Level.

It is hoped that this RPG Guide was of help to you. It is your PRG, so add anything you think would be new to the world.

© 2008-2012 Marvin Hull