2009
07.03

RPG Maker VX

This is not really related to roguelikes, rather final-fantasy-likes, but they are still RPG, thus, interesting to study from a roguelike developer point of view.

A nice old-school RPG

This game has been recently advertised on indiegamer’s forums :

deadlysins1

http://www.deadlysinstudios.com/

There’s a one-hour trial. I gave it a look and found it quite nicely done. There are some very nice JRPGish graphics, a state of the art Final-fantasy-like gameplay, good music, good dialogs… From what I’ve seen during the one hour trial, the story seems a bit dull. A princess adopted when she was a child, who discover she’s the heir of the throne… mmh well, well. There are also some weird control designs (ESC doesn’t bring a game menu!! How’s that possible nowadays!), but this apart, the game looks well done.

Push-button RPG builder

Then I discovered this game was made with a japanese push-button RPG builder ! This explains at least the weird controls.

rpg_maker_vx1

RPG Maker VX

The builder come preloaded with everything you need, artwork, sound effects, musics so that you can build your own FF6-like RPG with a few mouse clicks. While everything is not directly applicable to a roguelike and all game mechanisms are very simplified, there are lots of interesting ideas about how to build a RPG engine and how the different RPG classes (items/characters/skills/…) interact.

The game world is a list of 2D maps connected to each others by teleporters (you move on a door, you are teleported to a new map representing the house’s interior). Each map is basically a grid of graphic tiles with “walkable” information.

Characters

As in the final fantasy series, the player control a group of heroes, so the first step is to define the starting player character and all characters who can possibly join the group.

The character description contains the basic information (name, visual aspect), the starting inventory, the class and the characteristics curves. Yes, since this is a RPG, each character will gain XP during the game so you have to define how its characteristics will evolve. There are a few options to design the curve but you can also draw it by hand. The characteristics are health points, mana points, strength, defense, intelligence, agility.

Classes and skills

Each character has a class. You define the classes by choosing what weapons/armor it can wear, what special resistance and skills it has.

The skill configuration is quite common. You basically define the target type, the cost and the effect.

rpgmaker_skill2Skills configuration

Game database

We keep on populating the game database. You can define the available items, weapons, armors, monsters, states that can affect the heroes and the monsters.

There are 3 main item classes : objects, weapons and armors. An object is quite similar to a skill. It has a target, a price and an effect. Weapons and armors alter the strength, defense, intelligence and agility characteristics when they are worn.

The states interact with skills, items, weapons and armors. For example if you define a “poisoned” state which results in a progressive loss of HP, you can then create skills and items that add or remove this state from the target, weapons that add the state to the target and armors that protect from it.

rpgmaker_states

States configuration

The monsters have the same set of characteristics than the heroes, a few resistances and some skills.

Once you have the world maps and everything you need in the game database, you still have to parameter what makes the game tick.

Events

The core of the gameplay resides in events. You can place events anywhere on the map. Then you define what triggers the event, for example :

  • on actionย  (when the player hits action button on the map cell)
  • on touch (when the player enters the map cell)
  • automatic (as soon as the event enters the visible map)

You can also define some conditions on the event, for example only if some game switch somewhere is in a specific state.

rpgmaker_eventsEvent configuration

Finally, you associate a script with the event. There are a lot of predefined commands that makes it possible to create a script only by clicking a few buttons, including loops and conditions. Each predefined command has its own configuration dialog box. For example, the dialog system is very simple. It relies mainly on 2 commands : the message command, used to print dialogs on screen and the choice command allowing the player to select an option in a dialog.

rpgmaker_dialog1

Message command configuration

The list of available commands is quite long. You can define and update variables, handle timers (for time-limited quests), do loops, conditions, goto statements, update the team composition, characteristics or inventory of the player, play sounds and musics, and so on.

As a last resort, you can define a customized command in ruby using the engine API.

Conclusion

You won’t certainly not create the next ADOM or nethack with this tool, but the overall data structure is a good starting point for any RPG. Another RPG builder might be more interesting to study : Oblivion’s TES Construction Set. I already ripped most of its dialog system for TCOD… ๐Ÿ˜‰

3 comments so far

Add Your Comment
  1. You could make a RL with this by changing the battle system and having a global lock on enemies’ movement ๐Ÿ™‚

  2. Yeah, that would be an interesting project. Ar least you have top quality graphics out of the box. No need to wander on the web to try and find free tilesets… ๐Ÿ˜‰

  3. Rpg maker xp (VX is the new version): Legend of zelda

    http://www.youtube.com/watch?v=vT4ig5tqa3g

    Then one RL should be possible since the gameplay is like.