RPG Maker XP

RPG Maker XP

536 ratings
RPG Maker XP guide for beginners
By Edgar Crowe
This guide is intended for people who have just purchased the software with no clue where to get started.
3
20
3
   
Award
Favorite
Favorited
Unfavorite
Installing and starting
Installing
You're on a steam guide. Let's be real you've installed an launched the software already.

Starting
Do you have an idea? No?
Great! This guide will run you through a really simple short project. Following the project you will learn how to do the following:
  • Make a new project and setting a project file location
  • Design a level
  • Transfer a player between levels
  • Edit the properties of a level
  • Edit the audio of levels, menus, and battle scenes
  • Display text on screen using events
  • Create Items that can be picked up
  • Create an interactable NPC
  • Add random encounters to a level
  • Add a boss monster to a level
  • Create a simple quest

All those elements boil down to editing the database, using the map editor and it's event system.
RPG Maker is deceptively simple. With the basic elements you should have a handy reference point from which to expand on in your own projects.

Changing the game language is not covered in the guide as part of making a game as RPG Maker XP isn't that flexible by itself and this is a beginner guide. For this same reason, the guide uses the default assets and does not go into editing scripts or using the common events system.

At the bottom of the guide there will also be a quick reference, so don't worry if you don't want to trawl through the project for some answers.
Publishing your game
Publishing your game is a simple process. In the file tab (in the top-most tool bar) find the "Compress Game Archive" and left click it. You can then distributed this compressed file to whom ever you desire.

That's it if your feeling a tad lazy. Alternatively, you can and include the RTP files in your game's files meaning the end user doesn't need to do any legwork.

Things to be aware of:
- People playing the game might need a free RTP-installer to run the game
- Before compressing make sure you've found and fixed all the typo's and bugs/glitches
Setting up your project
First things first making a blank project. Step one is to launch the RPG Maker software. Immediately you'll be shown a tool bar with lots of options and a blank scene.
In the top left is blank page icon. Left click this icon, this will bring up the "New Project" dialogue box. As a side note, you can open saved projects by left clicking the folder icon with the green arrow. This will open the folder explorer where you can find your saved project.

Which is why this next part is key. Dialouge box on screen has three text boxes, Folder Name, Game Title, and Location. The folder name is "My First Project", and the game title is "Lakeside Hero".
You'll notice my file path is E:\Project Files\My First Project. The default file path hides your projects deep within your steam file structure. Make a "Project Files" folder on one of your drives. Now left click the button with three dots beside the "Location" text box. In the file hierachy list, find your new folder, select it and click "OK". This will make accessing your project that much easier in future. If your like me and end up with a huge number of projects made it's also good to create a "Project Archive" folder in the same location. You can then zip your old projects and leave them in there as a form of version control.
Once your file path is set left click "OK".

You should now have a default map generated and a semi transparent square with an "S" in the middle of a grid. If this is so, set up is done and it's time to get cracking!
Day Time Lakeside
The default level is nice but, the name MAP001 isn't very useful. We'll need to know what our levels are without having to open them every time. Right click MAP001 and left click "Properties" this will open the "Map Properties" dialogue. Here we can see there is no background music (BGM), no background sounds (BGS), no encounters, that the tileset is 001: Grassland and the level is the minimum size of 20 x 15 units. Rename the map to "Daytime_Lake" leave everything else as is and click "OK"






Now we need to design our tiny lake. As this is the default map the first layer is pre-filled with grass tiles. Keeping mind that the players walks on top of the first and second layer but behind the third layer. We will select the puddle tile and draw a lake on the first layer, replacing several of the walk-able grass tiles.

To select the first layer, click the left most layer selector from the tool bar.


Then select the puddle tile.


Lastly draw yourself a lake that cuts the map in half like so:

Something to bear in mind, is that what is and is not walk able as well as the direction of walk-ability is determined by the tileset. The settings of each individual tile of a tileset can be found and edited within the database, we will leave everything as default.

Now we will make it so the player can access both side of the map. Remember the player walks on top of the first and second layer but behind the third. Some tiles, like the bridge tiles, are not whole tiles so if we put them on the first layer they would leave blank space between adjacent tiles. This is why the player walks atop the first and second layer, so that partial tiles that can have background behind them while still being a path tile for the player.

Now e know this, select tiles form the walkway tiles of the tileset, and construct a bridge using the same method as we used to make the lake. As an added challenge give your bridge a railing and supports.

Our player can now get from one side of the map to the other, with navigation out of the way we need to spruce the place up a little more. Presently all of our terrain is on one level. We can use the raised terrain tile and the lowered terrain tile on out second layer to add the illusion of slopes, We can also use the path tile to create dirt pathway from the bottom of the map to the top across the bridge.

We now have height and marked pathways in our level all that remains is to add a few final touches. So decorate as you see fit, but be sure to add a campfire somewhere accessible on your level as it's required for the next part of the guide.
Night Time Lakeside
We have a lake a branching path way and a campfire. It's time to learn how to use events to bring your game to life. First and foremost transferring the player between maps and interacting with objects.

Right click the map "Daytime_Lake" int he map list on the bottom right of the application. Click copy, then (with "Daytime_Lake" still selected) right click and then click paste. This will add a clone of the "Daytime_Lake" map nested under the original. Access the cloned map's properties and name it "Nighttime_Lake". Click "Ok" to apply the change. Of course a name change doesn't magically make the tile set darker and indeed there is no night version of the grassland tile set.

However we can make one quickly. Access the database by clicking the table icon on the toolbar.

You should now see the database dialogue. Rather than being a separate window the database is a dialogue box which means you cannot edit map or events while the database is open. Regardless, click the "Tilesets" tab. Indicated on the figure below.

By default there are fifty tilesets. Click the "Change Maximum..." button.Increment the counter to fifty-one and click "OK". If you scroll to the bottom of the tile set list you will see that a blank set labelled as "051:" has been added. Scroll up and right click "001: Grassland" then copy. Scroll back down and select "051:" then right click and paste the grasslands tileset. We now have a clone of grassland which we will promptly rename to "Night Grassland" If you look toward the bottom of the selector list (between the tileset and the list of tilesets below the "Name" text box) you should see a selector box labelled as "Fog Graphic" left click this box. Then select "001-Fog01".


You can now see a preview of the fog as well as several options:
Opacity
Blending
Zoom
SX & SY
Hue

Change the opacity to 165 and the blending to "Sub" then click "OK" to close and apply our changes. Click "Apply" on the tileset and "Ok" to close the database saving our edited clone of Grassland.

All that's left to do to make the map a night time one is to change the "Nighttime_lake" properties to use the "051: Night Grassland" tile set. Once applied you'll notice nothing has visibly changed. This because the fog is a post-processing effect applied only when the game is running. Also the tiles aren't pasted onto a canvas as a graphic, like they would be if we were placing tiles onto layers in an image editing software. Rather we are assigning tile slot values to the map layers, e.g. map tile (6, 1, 1) Uses tile (2) from tileset assigned to map which is a grass tile. By changing the assigned map to cave we would then see a cave floor tile in place of the grass floor tile. As in the example below.

This is useful to know for a variety of reasons but for now we're sticking to the basics of map cloning to fake a day night cycle. Speaking off it is at last time to add an event and create the day night cycle!

Return to the "Daytime_lake" map, select the event edit icon from the tool bar.

Right click the bottom of the path in the map editor and click "Player's Starting Position" this will move the tile with the "S" in it's centre to the new position. Every time the game run's from a new game state the player will spawn here.

Right click the tile with the campfire and click "New Event" You will now see the event dialogue. Similar to the database, this isn't a new window and nothing else can be interacted with while the event dialogue is open. Rename this event to "Campfire".

In the "List of Event Commands:" (LoEC) clcik in the blank space to bring up the events list dialogue.

Select "Control Variables..." this will open the control variable dialogue. A variable is a way to store data that we can manipulate and recall as needed, in this case we will be making two variables to store the player's map co-ordinate data.


Click the variable selector box beside "Single" this will open the variable list. Rename the first variable "Player xPos" and the second "Player yPos". Apply and confirm the variable names. In the control variable dialogue select "Player xPos" as the variable, choose the operation "Set" and the operand "Character" in the selectors to the right choose "Player" and "Map X" This variable now sets the "Player xPos" variable to be the Player's map x co-ordinate.

Repeat the process for the player's "Player yPos" Variable. Our campfire event will now set the player's x and y co-ordinates based on the trigger selected, which by default as the action button.

Now we have that information we want to transfer the player to the "Nighttime_lake" map. So we add a new command to our campfire event called "Transfer Player...". There are two ways to transfer a player, by direct appointment (which we will cover later) or by variable (which is happening right now). Once we click the "Transfer Player..." button to add the command we are presented with the transfer player dialogue. Select by appointment and fill in the variables. We must also create a third variable called "Map ID". We can also choose whether to fade transition or not as well as whether to retain the players direction upon interaction. We will be keeping the direction and fade on as default.


We now just need a way to change the Map ID. Map ID's a generated in the order a map is made. So our default map had Map ID 001 and our second map has map ID 002. Knowing this we can first create a control variable command to set our map ID to our current map's ID and then increment by one to go to "Nighttime_Lake". However as you'll see below our events are not in a great order. For readability and later editing.


We can cut and paste our orders so that they are then in an order that make's more sense. In this particular case the order doesn't matter much as the transfer would occur only after the variables were set. However, command order is still relevant as we'll see when creating our quest NPC later in this guide. For now save and apply the commands.

Double click the blank rectangle below the "Graphic:" heading. You'll be presented with yet another dialogue window. scroll down until you find "184-Light01" and select the campfire second from the bottom on the far left. In the option below the graphic, select "Stop Animation" as "Move Animation" will only play the animation if the event's location changes. In the movement options, change the speed to fastest. This determines the speed of the event. For NPC's they will walk faster and so cycle through their frames faster. The same is now true of our fire graphic.


Copy the event from "Daytime_Lake" and paste it in the same location on the "Nighttime_Lake" map. We must now invert the map add one control to a subtract one control. Now we can go back to the "Daytime_Lake" and remove the flame graphic from the event.
Bridge Guardian
We've got our lake maps and a way to change night into day, let's now take a look at creating a boss fight. Once again you'll need to design a level. By now you should be familiar with using the map editor, for this next area use the "034: Bridge" tileset and create a simple bridge as the only way to progress, as shown below.


We'll quickly add a simple transfer player event, to a path from the "Daytime_Lake" to the "Bridge" and from the "Bridge" to Daytime_lake". The trigger needs to be on player touch. The event's should be named:
- Bridge to Day Lake
- Day Lake to Bridge

This time the transfer needs to be by direct appointment. This will display a version of the map currently selected. Select the map you want to transfer to from the list on the left and then select the point you wish to transfer to on the map. Once done confirm by clicking "OK".


With that resolved we need to return to our good friend the database. In the database click the "Enemies" tab. then change the maximum enemies to 33 in the same manner we increased the number of tilesets. Double click the "Battler Graphic" box and much like when we picked the fire graphic for the campfire you'll be presented with a list of assets. Scroll down and select "099-Monster13" Click "OK" to confirm. We will now name our enemy as Bridge dragon. Currently all the stats are default. We'll make it worth ten thousand exp, give it a weakness to thunder damage alter it's stats. Below is a figure of the dragon's stats and weaknesses.


With our dragon stated up we need to choose an animation for it's attacks, as well as what action it will take over the course of a battle. For the target animation select "028: Fire 2", in the battle scene this will make it look like the dragon has breathed a gout of flame at the player. For it's actions add "Greater Fire", "Attack", and "Hurricane". For the conditions set none for the basic attack. Turn 6 for hurricane and turn 2+4X for greater fire. This will result in the dragon regularly using a basic attack. Blasting a hurricane once. and regularly breathing flame every 4 turns from turn 2 onwards.


With that our enemy is almost ready, unfortunately that's not quite the end of it. Enemies are used to create troops and troops are what are used for battle encounters. So in the database select the "Troops" tab. Once again we must increase the maximum by 1. Next we rename the added troop "Bridge Boss" and Change the "[ED] Battleback..." to "034-Bridge01" then apply our changes.


As you can see I've added a text warning that will display each time the dragon breaths it's flame attack. For an extra challenge add a warning for the Hurricane Attack on turn 6.

With our Boss fight created, we now just need to add it into our bridge level. Create an event at the far end of the bridge. Name it "Dragon" and add the "099-Monster13" graphic of the dragon facing the direction of the player as they arrive on the map. Change the "Autonomous Movement" to approach and set the trigger to "Event Touch" this means that if either the player or dragon collide with the other then the event commands will trigger. Player touch would only trigger if the player collides while walking into the event not if the event collides with the player.

With the movement and trigger sorted we now need to activate the boss battle but also prevent it from respawning even if the player walks to a new area and back again. For that we'll need to use a switch. Which is a boolean data type. I.e. a thing that is either true or false. Create a conditional branch in the LoEC. As with variables switches can (and should be) named. So rename switch one to "Bridge Dragon Slain". Leave the default "ON" the switch condition check and the default check for set handling. In the top half of conditional branch we then want to put the command to erase the event. Directly below this command we then need to add the "Battle Processing..."command and select our boss fight in the troop select dialogue that appears. The boss will no be be combat-able and once the switch is turned on the dragon will cease to exist.


However we do still need to activate the switch for this we need to add an event page to the "Bridge Boss" troop in the database and add the command to turn on the "0001: Bridge Dragon Slain" switch when the enemy reaches 0% HP or below during the span of the battle.


With that last addition the Bridge Guardian boss is completed. To quickly recap, we've covered: variables, switches, basic events, conditional commands, creating enemies, transferring players between maps, battle processing, map editing and few set up pieces as well. At this point you absolutely have the knowledge to smash out a couple short and sweet games. Of course what really brings RPG games to life is NPC's and quests.
Questing to slay a dragon
Our player currently has a safe central area and a deadly bridge. We need a way to level and gear them up to slay this insurmountable challenge. To do that we need to send them on a quest, for this project we will be sending our player to acquire a sword that can easily slay the dragon. To that end we need someone to send us on a quest. Who better than a knight? Design yourself a fortress map and call it Fortress. Don't forget how the layers work! Though after the last couple maps we've made I'm sure you'll have a spiffy fortress just like mine in the figure below.


I've added two braziers outside my fortress. See if you remember how we lit the campfire on the night map add some flames to the stands as an extra challenge.

Right let's add ourselves a knight to stand around outside this castle. Create an event, and select a suitable knight graphic. Name this event "Knight Quest Giver" Leave the the animation, trigger, and movement options as default.

With that quickly sorted, it's time to add a quick dialogue, and a choice to accept the quest or refuse it. In the LoEC add "Show Text..." commands for dialogue and a "Show Choices" command to accept or refuse the quest.


Great! We've officially got a quest. We just need to add a switch for "Sword Acquired" and conditional statement to acknowledge the quest as completed. Let us make a conditional command and add our quest text tot he "Else" part of the conditional check. In the first part of the conditional check we'll add a second conditional check to see if the dragon is slain already.

If we have both the sword and dragon is slain the knight will say A
If we have the sword but the dragon isn't slain the knight will say B

We can also add a conditional check just before the choice command to see if the dragon is already slain.

Prompting the knight to say C


The Knight's quest is done as far as he's concerned, just need to add a transfer event to and from the "Daylight_Lake" map. As an extra challenge, prevent the knight from re-giving you the quest choice after you've accepted it already.

Now it's time to add the swamp level and sword for our quest.

Build yourself a swamp level as shown below, then open the database.


We now need to create our lightning sword, so click the weapons tab and as always, increase the maximum by 1. Give the sword the thunder element by ticking the check box, name it, give it some truly ridiculously high stats and then click "OK" to confirm your changes. You can also give it an icon to represent what it look like when a player open their inventory. Below is a figure of the sword I have created for this quest.


Now we just need to create an interactable event that will add the sword to the player's inventory. If you noticed in my example quest dialogue I added rewards to the player inventory using the "Change Item..." and "Change Gold..." commands. In this action button triggered event we will add a simple "Change Weapon..." command. We will then use the sword acquired switch to prevent the player from picking up the sword multiple times from interacting with the event on loop.


However, there's currently no way for the player to see the event location on the map. To resolve this we add a simple graphic, while there is no word graphic that we can use, I have opted for a downed robed figure. With that addition our quest is almost complete. All that remains is adding a transfer from the swamp to the night time lake and back. In my quest I tell the player to follow the fireflies so my lakeside transfer point has a firefly graphic and is activated with the action button.

And yet there is a little more we could do. It's time to add random encounters tot he swamp.
Right click the swamp map and access it's properties. Next double click the Encounters list box and add three troops from the list of troops. Remember you can create your own enemies and then troops in the same way we did for the dragon boss fight. Below are my choices from the default list of encounters.


At last we reach the end of the project. If you followed along you'll have all the knowledge you need to build whatever project you desire, within the limits of RPG Maker XP.
Quick Reference
  • Move players to new maps using the "Transfer Player..." command
  • Events with "Move Animation" will only change frame when the event's co-ordinates change
  • Events with "Stop Animation" will run through their frames regardless of a co-ordinate change
  • Variables are global data storage containers. They can hold values such as MAP ID or GOLD COUNT, these values can be affected with the "Control variables..." command
  • Switches are global boolean functions. They can either be ON or OFF, their state can be changed with the "Control Switches..." command
  • Self Switches are a private boolean function. They can either be ON or OFF, their state can be changed with the "Control Self Switch..." command
  • The "Change Armour...", "Change Items...", "Change Weapons...", and "change Gold..." commands are used to alter what a player has in their inventory
  • The Database is used to edit/create the game content. e.g. Enemy troops
  • The "System" tab in the data base will enable you to change various BGM's, ME's, and SE's and also the volume the effects/music are output with
  • Common events can be triggered across all levels but cannot be physically interacted with as they are not part of a level as such their trigger conditions are only "None", "Autorun", and "Parallel"
  • Assets for your game can be imported or exported via the "Material base" this is accessed by clicking the folder Icon with the cascading three pages to the right of the database icon in the toolbar
  • Scripts for RPG Maker XP are written with Ruby Game Scripting System (RGSS), based on the Ruby scripting language
FAQ
  • The database area houses a lot of the tools to make your game. Learning how to edit the content therein is crucial to building games without the pre-made content.

  • You can sell your game. But before attempting to please look at the RPG Maker XP FAQ to ensure you have followed the terms and conditions when selling your game. You can distribute your game as Freeware to whom ever you wish.

  • You can add your own code as well as edit pre-existing code. I strongly recommend saving before you make any edits. The undo functionality of RPG Maker XP isn't as all encompassing as it is in other software.

  • Imagination isn't the limit. Your ability to continue to dedicate a lot of time and effort to your game is your limit.

  • There are many online help guides. But be warned they do not always refer to RPG Maker XP they tend to refer to RPG Maker VX ACE or other RPG Maker products
64 Comments
Edgar Crowe  [author] Oct 1 @ 10:45am 
while your operating system is up to stuff, I would double check your monitor and display settings. It might just be that your display's resolution is too low or simply set too low.

I would suggest checking the forums and talking to support
Pumpplekin Sep 30 @ 5:43pm 
Mine isn't running. I tried opening it but the message "cannto run with less than 1024x768 resolution". Well, I'm using a Windows 11 64x, is there a way to fix this?
Navio De Guerra Aug 13 @ 7:28pm 
@themutant "Unable to find Data/Map000.rxdata." at campfire, to solve this, reorder the lines of the event, put the declaration of the variables before the transfer player command
CJspellsfish Jul 1 @ 2:55am 
the 2nd to last line goes so hard
Edgar Crowe  [author] May 3 @ 12:10pm 
In the database you can alter the information about the actors, and I believe the party size and composition. This can also be done via events, your probably looking for something that reads "Change Party..." in the list of event commands
kickboy May 3 @ 9:53am 
so how would you change the maximum party size when using npc
Edgar Crowe  [author] Apr 16 @ 10:18pm 
That sounds like a bad reference, so in theory you have a command referencing a map that no longer exists. Double check your variables and commands to make sure they refer to the correct object (in this case, map)

If the issue persists share your command list of the event and we'll see if can't figure out what's going on
themutant Apr 13 @ 1:21pm 
Could anyone explain the "Unable to find Data/Map000.rxdata." error to me? happens every time i try to transfer using variables on the campfire
frsfth25 Apr 12 @ 2:08am 
Man, thanks a lot for this, you rocks!

However, yeah I experienced the same thing as @Flutterbybug , so I tried the solution, unfortunately it didn't work. I tried another thing, instead I just added the Control Switch to set event where the dragon got killed ON right under Battle Processing inside Final Boss event. This time, it finally worked!

One more thing, I had difficulty when the player has obtained the sword, but it's greyed out in inventory, turned out that it was caused by the Class, because the weapon was not registered as the allowed weapon to be used by any player from that Class (Fighter, in my case)
Edgar Crowe  [author] Mar 6 @ 2:28pm 
Thanks for tinkering and sharing what you've found :)