It is the time of year again for cold weather, wind, and snow, who wants to be out in that? Much better to be inside, wrapped in a blanket, in front of your computer, with a cup of hot cocoa and your project on the screen.

The game of your dreams is at your fingertips, and with the sales rolling in, all the tools and materials are ready to go, are you?

For most of our discounts on our store, just add to the cart or use the Coupon Code rmw-santa-16. For full details check here!


MV, XP, VX Ace and even 2k3, we have all the engines you’ll need. Either through our store, or on Steam, you’ll get a good deal with these deeply slashed prices.

Whether you are finally getting the latest version, buying an old favorite, or picking up a present for a friend or family member, you’ll not be disappointed with the price!


And with your engine in hand, you just need art and music. Pick up all you need, with your choice of a large collection of tiles, characters, music, sound effects, and more!

Visit our store, and again over on Steam, and notice all the huge discounts on just what you need.

And don’t miss out on our giveaway and free gift! Just for the holidays, as a present from Degica & Kadokawa to you, enter for a chance to win big prizes, and pick up a few generator pieces for free!

Happy Holidays from the RPG Maker crew. And good luck, good gaming, and may your wishes come true!



Can you art? Do you want some of your arting to be associated with a renowned video game composer? Well, here is your chance!

Join in on The Calm and the Fury Art Contest!

Two albums are coming from the brilliant Hiroki Kikuta, one to accompany the quiet, peaceful times in your game “The Calm”, and one to accompany the action and danger “The Fury.”

And with this contest, YOU have the chance to be the cover artist for the albums! So follow the link, read the rules, and throw in your best piece representing the themes! If you get selected, not only will your art adorn these albums for all time, but you’ll also receive a cash reward, and a signed, physical copy of the album!

Who is Hiroki Kikuta you say?


Hiroki Kikuta is a Japanese video game composer and game designer. His major works as just a composer are Secret of Mana, Seiken Densetsu 3, and Sōkaigi. He also was the producer, director, writer, concept designer, and composer for the cult hit Koudelka!

If you are an RPG Maker fan, a Hiroki Kikuta fan, or even both, this is the perfect time for your art to shine, do not pass up this opportunity, join the contest today!


From A to Z – The Agency

The Agency is a music pack collection created by Murray Atkinson. This pack focuses on mystery, crime and detectives. Melodies that build up tension and danger are scattered between songs that focus on lighter or more whimsical elements of detection. This makes The Agency versatile and useful for both serious and comedy games.

Although the Agency is all about crimes and detectives who solve them, there’s a wide variety of under-themes. Some songs are perfectly suited to Victorian or Steampunk environments – such as stories inspired by Sherlock Holmes. A few swanky jazz songs are perfect for the classic Noir theme. Other songs are more ambient in nature – fitting in with modern police procedurals that might have you chasing a serial killer or ten. This wide range makes the Agency a great investment to span across many games and game genres.

With 27 songs, this pack is a bargain at its full price of $14.99. But we know you love a great deal – so, you can pick up your copy of the Agency for only $9.99 until December 18th, 2016. Enter code “detective” at checkout to see your discount.


The Agency contains the following themes:

  • Brood and Foreboding, Clockwork Detective, Crime Scene Investigation and Race Against Time are ambient and tense, which fits well with more serious settings (ex. Exploring a serial killer’s lair).
  • Daggers and Cloakers, In the Conservatory with the Revolver, Mission- Abandoned Factory, The Candlestick and the Library and The Silence is Killing Me are complex and non-repetitive, which makes them great for general mysteries as well as for detectives solving major crimes.
  • Jazz Club Combo and The Pink Pincher are in the tones of classic Noir Jazz
  • Closed Case, En Route to the Scene, Falling Skies, Metropolitan Mystery, Spectral Visions, The Awakening, The Investigation and Theme for Stella are more modern police procedurals, with some songs doubling as great nostalgic/sad or character orchestral themes.
  • Composing Helps Me Think, Get Sherlock, The Forgotten Cello, Theremin Killer and Ye Olde Nutcracker are inspired by classic Sherlock Holmes, with a touch of fun and whimsy.
  • Mission Unstoppable, Stranger in Chinatown and The Heist are a Spy/criminal element bonus for extra variety.

For my map creation, I couldn’t decide on a private eye’s office or a crime scene, so I’ve created a couple of small maps of both:


For the details, I used the Sci-Fi elements of RPG Maker MV’s RTP. I added some extra variety by combining a little parallax mapping and editing into the mix. Although RMMV RTP was not built with detective games in mind, it’s still possible to use it to create some interesting content.

If you’re a fan of Sherlock Holmes like I am, it’s even easier to create your environments by combining the gothic elements of sci-fi RMMV materials with the standard medieval RTP.

And if Noir is your flair, pieces of RTP could still be useful if you stick to the black and white tint and add a few classic elements such as a rotary telephone, typewriter and the obligatory jazz club.

Lastly, here are a few thoughts and ideas to get your creative wheels whirring:

  • Jumping into detective genre can be fantastic for those of us who struggle with finishing a game or keeping a project simple. By adopting the “one case per project” episodic model, you can narrow your focus a lot and limit your game’s size. At the same time, you can build up your characters and world (or even a big mystery!) over the span of several projects, so that longtime fans of your work will look forward to each new episode.
  • There is a lot of room for characterization, and even more if you make your detective into someone rather unconventional – such as a private eye who is hated by the police, or an amateur sleuth who just likes a good puzzle. These features can translate into great minigames, such as breaking into the police station to steal a report or stealthily moving across the terrain to get into the mansion that’s been broken in.
  • Books and movie shows can be a great inspiration, particularly when it comes to pacing. Modern police procedurals, for example, can be studied for how they tackle character development, the mysteries themselves and how they present resolutions. Does each episode end in a way that leaves you frustrated, or do you feel intrigued enough to want to keep watching?

We hope you’ve enjoyed this in-depth look into The Agency. We’d love to hear your thoughts and impressions. Chime down below or join in the discussion on our Facebook page or our Community Forum.




Karugamo Fantasy Vol. 1 is a music pack created by tobi, a Japanese composer that’s known in the Tkool RPG Maker community as well as some of the international RPG Maker communities. Volume 1 is the first in the Karugamo Fantasy series, and it focuses on dungeon and field themes.

Karugamo uses instruments and sounds that are often found in jRPGs or Japanese anime shows/movies, and is therefore right at home with the standard RPG Maker RTP. Although Volume 1 includes music optimized for dungeons, several songs have a whimsiness to them that makes them suitable for lighter games – particularly involving puzzle elements. Field and ship themes work great for any travel-themed areas, and can easily be used for bravado character themes.

One of the unique things about Karugamo is the use of instruments such as xylophone, electric guitar or the classic harp. This interesting medley of sounds sets Karugamo apart from other classic JRPG themes.


Karugamo Fantasy – Vol.1 contains the following:

  • Natural Dungeon 1-4
  • Tower Dungeon 1-3
  • Unnatural Dungeon 1 (variants A, B and C)
  • Unnatural Dungeon 2-4
  • Field 1-6
  • Ship 1 (variants A, B)
  • Ship 2
  • Bonus: Cover character in RPG Maker MV standard style.


One of the things I really enjoy doing when it comes to music is creating a map or two while listening to the song. This is a great exercise for two main reasons. One, it allows me to listen to a particular song several times and get used to how it would flow in a game setting (where songs are often repeated). Two, it makes it easier to remember a song once it’s applied to a specific setting – and with a growing music library, it’s nice to remember songs quickly and easily.

Here is a map inspired by Natural Dungeon 1 – a whimsical tune that I felt went together with a friendly animal farm. I used RPG Maker MV RTP to create this map, but I bet it would be even more authentic to use some custom animal tiles or animal hybrid NPCs.


Although we always encourage you to use your own creative ideas, we wanted to share a few alternate ways Karugamo Fantasy Vol. 1 can be used in:

  • As mentioned in the previous paragraphs, a whimsical animal or fairy village could easily be enhanced with the Natural Dungeon themes. In addition, an abandoned tower that uses one of the Tower Dungeon themes would fit into this animal kingdom idea.
  • Unnatural Dungeon themes have a nostalgic feeling to them, which would make them great for less dramatic/tragic flashbacks. In addition, there are some vocalization elements that add a touch of intensity that might work for tense scenes.
  • Although the Field themes invoke a great sense of adventure, they would also fit great into a puzzle-themed mini-games. Field Land 4, for example, has a slightly Asian feeling that would make it a perfect theme for a mah-jongg mini-game or a gardening challenge.

We hope you’ve enjoyed this in-depth look into Karugamo Fantasy Vol. 1. We’d love to hear your thoughts and impressions. Chime down below or join in the discussion on our Facebook page or our Community Forum.



1 comment


The trees are turning, and it is time for you to turn over a new leaf, too. It is time to buckle down and finally make that game you’ve been dreaming of.

And the Steam Autumn Sale is here just in time to help you out! With almost everything RPG Maker on sale, there has to be something you need!


Want to upgrade to RPG Maker MV, the latest Engine? Now is the time.

Or maybe you prefer an older engine, or want to use some of the resources from them? This sale is still for you!

With our RPG Maker Engines 55-90% off, you can get a whole lot of power, for not a whole lot of dough.


Have the engine but don’t have all the resources you need?

Then take a look at the absolutely massive amount of RPG Maker DLC available on Steam. You can stock up on everything you need with up to 80% off!

And don’t forget to check out all the great games released by Degica, including some superb RPG Maker titles, and plenty more.

The Steam Autumn Sale is the perfect time for you to change your colors, and get your game started!


Alternate Victory System

in Tutorials

by:Super121830 (Original Source)

Did you want to make more than one way to win battles, as games like Shin Magami Tensei, Deus Ex and Undertale did, but you do not know how? Well, there is a way to do it!

In this tutorial, I will teach you how to make an alternative way to win battles other than fighting.

We can make it in two ways: Global victory or individual enemy elimination. These two ways are independent from each other and you do not need to implement both systems.Have in mind that this only works properly in evented battles.

Have in mind that this only works properly in evented battles.

Part 1: Setup the base for both systems.

Step 1: Create a blank animation named Nothing, it needs to last around 15 frames, so the player can read the “Actor stops the battle” message.

Step 2: Create a common event named After battle, this common event will reset everything. Here we will assign all the switches and variables to the system, name them as you want, in this tutorial, I will refer to them as the names showed here.


Part 2: Global alternate victory.

Step 1: Create a blank state, we will call it Nothing, it will not have any messages or effects. We need this state so the “There was no effect on Actor” message will not appear. If your game uses popups or something like that, try to hide the popup for this specific state.


Step 2: Create a common event named Truce, make the common event turn the switch Truce ON.


Step 3: Create the skill, name it as Truce. Set the Scope to User, Occasion to Only in battle and Animation to Nothing. In the Effects box put Add state: Nothing and Call common event: Truce. You may want to put this skill in a unique Skill type so it cannot be sealed, but that is up to you.


Step 4: In the troops tab, create a battle event page for every troop you want the player to stop the battle, set the Condition to Switch: Truce to ON, set Span to Moment. On the contents of the event page, put the Abort battle command, and that’s it!


If you test this out, you may notice that this works exactly like the escape command. Well, yes, it does, maybe we want to put something else, like text, choices and stuff, and we can.

Here are some examples of what we can do with this skill. Remember to ALWAYS set the Truce switch to OFF at the end of the event page.

Example 1: Player needs to answer a question or series of questions to win.

Step 1: Put some text with the question to answer, and add the choices that the player can select.

Step 2: Add Abort battle in the correct choice the player has to select.


Step 3: Want the player to answer to more than one question? No problem, erase the Abort battle command and add more text and choices in the correct answer of the previous question. Do this as many questions you want the player to answer and add Abort battle in the final correct answer.


Example 2: Player needs to answer a series of questions in different turns to win.

Step 1: Create a variable called Truce, add a conditional branch that checks the value of the variable, and make sure to leave the Else branch.

Step 2: In the first question, it must check if the variable Truce is equal to 0.

Step 3: Put text and choices in the conditional branch, and add 1 to the variable Truce when the player selects the right answer.


Step 4: Copy the conditional branch and paste it in the Else branch. Change the condition to check if the variable Truce is equal to 1, change the question and answers and so on. You can do this as many times as you want.

Step 5: In the final correct answer, add Abort battle.


Example 3: Player needs to use another skill to win.

Step 1: Make a common event called Truce ready! which turns the switch Truce ready! ON.


Step 2: Make another skill and add in the Effects box Call common event: Truce ready!


Step 3: Add a conditional branch somewhere in the event page, it must check whether the switch Truce ready! is ON, if it is, Abort battle.


Example 4: Player needs to have a specific item, weapon, armor, equipped or not, to win.

Step 1: Add a conditional branch somewhere in the event page, it must check whether the player has the needed item, weapon or armor with him, if we are talking about a piece of gear, you can make it check if it is equipped or not. If the player fulfills the condition, Abort battle.


Step 2: You can make it check if the player has multiple items, just put conditional branches one inside of another.


Step 3: You can make it check if those items must be checked in different turns with the variable Truce like in the example 2.



Part 3: Individual alternate victory.

Step 1: Create a state called Agreement, put a message when the enemy has the state, so the player identifies the target.


Step 2: Create a common event called Agreement, make the common event turn the switch Agreement ON.


Step 3: Create the skill, name it as Agreement. Set the Scope to One enemy, Occasion to Only in battle and Animation to Nothing. In the Effects box put Add state: Agreement and Call common event: Agreement. You may want to put this skill in a unique Skill type so it cannot be sealed, but that is up to you.



Step 4: In the troops tab, create a battle event page for every troop you want the player to stop the battle, set the Condition to Switch: Agreement to ON, set Span to Moment.

Step 5: On the contents of the event page, put a conditional branch that checks whether the target enemy has the Agreement state, do not add the Else branch.

Step 6: If the troop has just one enemy, add Abort battle.

Step 7: If the troop has more than one enemy, check if all the other enemies are dead, if they are, add Abort battle, else, add Set enemy state: Death.

Example with two enemies:


Example with three enemies:


Step 8: set the switch Agreement to OFF at the end of the page.

After this, put the steps to make the agreement before Abort battle, refer to the examples in the part 1.

There are infinite ways to make the enemy stop the battle, if an actor or enemy has a specific state, if an actor has a piece of gear equipped, if the enemy has less than a percentage of HP and so on.

Remember, the skill works on troops that have a battle event page like these.

The Truce skill is fully functional, now we have to make it work in the map.

Step 1: In the Battle processing command, check the box Can escape.


Step 2: In the If escape branch, you need to put conditional branches in the If escape branch that checks if the switches Truce and/or Agreement are ON. This way, if you stopped the fight, rewards and stuff, if you escape, nothing happens. Put all the content you want, text, rewards and such for stopping the battle and at the end, call the common event After battle.


If you do not have a skill or item that lets your party actually escape from battle, you do not need to put a conditional branch in the If escape branch. Put the escape content right away.

I hope this helps you to create an alternative battle victory for your game.

Have fun!


FSM: Town Of Beginnings Tiles is a newly released tileset pack that can be found here in our store or here on Steam. Priced at $24.99, this large set is actually a really great bargain given how much material and extras are included.

Stylistically, FSM: Town of Beginnings Tiles is similar to the standard RPG Maker MV assets – it’s a happy mix of pure pixel and painted art. However, FSM tile palette is less bright and saturated. The tiles are a little darker, with many wood and stone textures that are at home in any fantasy or medieval game. The tiles still have that classic punch of color, which keeps them from being too dreary and drab. Making this pack compatible with RPG Maker MV standard tiles would be very easy – just a few small tweaks with brightness and contrast in an art program.

Although FSM: Town of Beginnings Tiles was inspired by the classic First Seed Material tiles that our community veterans are familiar with, the Beginnings set was created completely from scratch by the same art team. Objects and textures were created for the standard RPG Maker MV scale – which means that they fit the environment without looking blurry, glitched or out of proportion.


FSM: Town of Beginnings Tiles contains the following:

  • 17 tile sheets
  • 24 animated tile character sheets
  • extra folder with alternate tile sheet (2 pieces) and characters (5 pieces) along with a parallax folder (2 files)
  • User Manual that goes over how to import and use the pack.
  • User Guide with mapping tips and instructions on how to use the pack to its full potential.
  • Editable RPG Maker MV sample game, including 182 full maps and a playable game.
  • Playable sample game, translated into English.


Animated Tiles

Animated Tiles




The sample game included in this pack serves two purposes – to showcase how to use the material and to share a few tips and details about FSM: Town Of Beginnings tiles and its history. We’ve tried to keep the English translation as close to the original Japanese version as possible. There is no overall plot to the sample game, but RefMap team took the time to create a world that seems alive and fun to explore.

We feel that the sample maps are useful both to veterans and to new players. They give a great easy-to-use base for both short and long games. In addition to having all passabilities and priorities set in the database, the maps can easily be personalized further to make them more unique.


I had a chance to play around with the materials and I really enjoyed using them. Mapping in editor was quick and painless – I didn’t feel like I needed to immediately adjust the tileset for placement or to create extra detail. At the same time, I could see a lot of potential for customization such as adding extra clutter to make homes look more lively or layering of plants to look more natural.


Although this pack is focused on both inside and outside of towns, it’s possible to create some dungeon-type areas as well. There’s enough plants and trees to create a forest or forest maze. The addition of cliffs makes mountain passes and mountaintops easy. Lastly, the dark stone walls and floor could become tunnels, sewers or towers. Adding some RPG Maker MV standard object into the mix could stretch the material even further, allowing you to create caves and evil lairs as well.

Although we always encourage you to use your own creative ideas, we wanted to share a few settings FSML Town of Beginnings Tiles can be used in:

  • A longer project where the focus is on merchants and trade. Exploring towns and tackling economy would be an interesting (and unique) game to play. Since merchants aren’t fighters, it would make sense that they wouldn’t necessarily venture into the darkest depths of dungeons and caves.
  • A short project with a focus on alchemy or healing. The party could visit towns to help the ill while they replenish the herbs and supplies in forests and mountains. Since there’s no big ultimate evil to worry about, the players could focus on
  • A psychological thriller where the player explores a newly-abandoned town to trigger memories of a tragedy that just happened. With some good music and well-placed tension, this would make for a great horror game.

We hope you’ve enjoyed this in-depth look into FSM: Town Of Beginnings Tiles. We’d love to hear your thoughts and impressions. Chime down below or join in the discussion on our Facebook page or our Community Forum.

1 comment

by: LadyBaskerville (original source)

Hello everyone! In this tutorial I will show you how to create enemies as events on the map instead of random encounters. Everything in this tutorial can be done without plugins or script calls.

This tutorial consists of three sections. In the first section, we will set up a simple enemy event that sends the player into either a fixed or a random battle. The second section deals with respawning enemies and shows a way to let the player choose whether enemies should respawn when the player enters the map or not. Finally, we will create groups of enemies on the map that send the player into a single battle against all enemies in the group.

But before we start, there’s:

Step #0: Setting up the Database

Nothing fancy about this part. I’ve just prepared a few troops of the default enemies to use later.

One Slime, two Slimes, three Slimes ...

One Slime, two Slimes, three Slimes …

Now we can get started!

Step #1: Creating basic enemies

On the map of your choice, create a new event and give it a monster graphic. (I’m using a slime, because I like slimes.) In this case, I’ve set the movement to Random. For a more aggressive monster, Approach might make more sense, or Custom for a patrolling guard or something … That’s completely up to you.

Note that the Trigger is set to Event Touch. That’s important. It means that the event starts when the player touches the event or the event touches the player.

And because it’s important, I drew a red rectangle around it.

And because it’s important, I drew a red rectangle around it.

The contents are pretty self-explanatory. The player is sent into a battle against two Slimes (one of the troops I set up in Step #0). Once the battle is over, the Slime event is erased. (In the next section, we will go into further detail on what exactly Erase Event does.)

In this example, the player cannot escape from the battle. You can change that by checking the Can Escape option on Battle Processing (and maybe subtract some of the Party’s gold as a punishment for being such cowards …), but for the purpose of this tutorial, we will leave it like that.

Now we can copy and paste our Slime event all over the map for a Slime dungeon!

But wait – what about all the other Slime troops? Right now, only Slime*2 is being used. We need to change that. But instead of manually changing the Battle Processing of some of the Slimes, let’s choose randomly which troop the player has to fight.

At the top of the Slime Event Contents, set a variable to a random number between 1 and 100.

Let’s call this variable … uh, I don’t know … how about “Random”?

Let’s call this variable … uh, I don’t know … how about “Random”?

Then replace the Battle Processing with a bunch of nested Conditional Branches, like this:


Above: A bunch of nested Conditional Branches.

Let’s go through these.
If the random number we created is lower or equal to 25 (a probability of 25% in our setup), the Battle Processing will go to the single-Slime troop.
If that is not the case (the number is larger than 25) and the number is lower or equal to 50 (another 25% chance), the player has to fight two Slimes.
If the number is larger than 50 and lower or equal to 80 (30% chance), the battle is against three slimes.
Should the number be even larger (20% chance), the player will fight a four-Slime troop.

After all of this, the event is erased like before.

Step #2: Toggling respawn

One thing to keep in mind when using Erase Event is that the event will not be permanently gone. When the map is loaded the next time, it will reappear as if nothing happened. In our case that means the Slimes will respawn when the player leaves and reenters the map. That’s great if the player wants to grind; not so great if they just want to quickly pass through an area they have already completed, or if we as game designers want to completely remove the possibility of grinding for balancing reasons.

In the last case, the solution is simple: Instead of using Erase Event, turn a Self Switch (let’s say Self Switch A) on and add a new, blank Event Page to the event. Give this page the condition Self Switch A. Voila, no more respawning Slimes. Ever.

But what if we want to give the player the choice whether or not enemies should respawn? Or maybe we are not quite sure yet which system we want to implement in our final game, and want to leave both possibilities open to us during development. Let’s create a system that allows enemies to respawn depending on a switch.

You talk to the crystal to turn the switch on or off. One of those sentences that don’t make much sense outside an RPGMaker tutorial.

You talk to the crystal to turn the switch on or off. One of those sentences that don’t make much sense outside an RPGMaker tutorial.

Now that we have a way to control the Respawn switch, let’s move back to the Slime. There’s only one line to add to the existing event.

Whoa! Both Erase Event AND Self Switch!

Whoa! Both Erase Event AND Self Switch!

Let’s set up a second Event Page. The Trigger is set to Parallel, meaning the event runs in the background if Self Switch A is on. The Conditional Branch checks whether the Respawn switch is on. If that is the case, Self Switch A is switched off and the Slime goes back to its original state. If not, the event is erased immediately, preventing the Parallel Process from going on forever and causing lag.

Red rectangles mean important stuff.

Red rectangles mean important stuff.

What happens when the player defeats this Slime? Self Switch A is turned on, but the event is erased before the second page can run. If the player leaves and reenters the map, the event returns, but since Self Switch A is on, the second page runs. If the Respawn switch is on, the Slime respawns, if not, it is deleted again until the player reenters the map.

Step #3: Grouping enemies with Switches

So far, every single enemy event sends the player into a battle against one to four Slimes. One enemy on the map means one battle. If that’s the system you want to use, you may now – finally! – copy and paste your Slime event all over the map. You’re done! If you would rather have one enemy on the map mean one enemy in battle, keep reading.

I will uses bats for this example. Let’s create three identical Events (I called them “Bat#1” for reasons I will explain later) similar to our first Slime example with Battle Processing to Bat*3. Have them turn on a Switch – not a Self Switch – and create a second, empty page with that Switch as a condition. (I called the Switch “Defeated Bats#1” for the reasons I will explain later.)



If you look closely, you might notice that a few things in the bottom left of the first page are different from the Slime event. Those are just for visuals, you don’t need to worry about them.

Now, if the player encounters one of the three “Bat#1” events on the map, they fight a battle against three bats and after that, all three bats on the map are gone.

We can now make multiple groups of enemies like that. Let’s copy and paste one of the “Bat#1” events to a different part of the map. Change the name to “Bat#2”. Use a different switch for this bat (I used the one directly underneath “Defeated Bats#1” and called it “Defeated Bats#2”), and make sure to change the switch on both Event Pages. Maybe choose a different troop for this bat, e.g. Bat*2, and duplicate the event accordingly. In the end, your map should look similar to this:

And a poor, lonesome Slime in the middle, all by himself …

And a poor, lonesome Slime in the middle, all by himself …

But what about respawning? Right now, all bats will stay dead, even if the Respawn Switch is on. Let’s create one last event on an inaccessible part of the map (I use the upper left corner for something like this), set it to Parallel and have it turn the “Defeated” switches off if Respawn is on. Don’t forget to erase it after that, it only needs to run once when the player enters the map.

You can use the Range option to control multiple switches at once. My “Defeated” switches have the IDs 22 and 23.

You can use the Range option to control multiple switches at once. My “Defeated” switches have the IDs 22 and 23.

And that’s it for this tutorial! I hope you enjoyed it and maybe got some new ideas about what to do with on-map encounters. There’s still much about this topic that I haven’t touched yet, and many aspects of this tutorial can be done using different methods (for example by remote-controlling Self Switches via script calls, many thanks to Dad3353 for pointing that out to me!)

If you have any questions about this tutorial or even suggestions for another one, feel free to leave a comment!


by taarna23 (original source) (Learning Together Tutorial, Winner 3)


Purpose of this Tutorial

I’ve decided to write this tutorial out of seeing this increasing need for people to back up their projects. I can’t actually stress this one enough. Back up your projects! At least once a week I see something like “help, my PC crashed and my files are corrupted!” Did they have a backup? Nope.

So, this tutorial is to help people make sure they have a backup. Not just a copy on Dropbox or some such, but real, proper version control.

RCS – Revision Control Software

It sounds complicated, I know, but it’s really pretty simple. Revision control software, when used correctly, tracks all changes made to all files in your project, who made those changes, when and even allows you to go back to any change on any file throughout the history of your project. Pretty cool, right?

“But wait,” I hear some people saying, “isn’t that just for big companies and huge software? That’s way to big and complex for someone like me. And probably expensive, too!”

Not really. Keeping your project’s files and progress safe should be your number one concern. Not getting feature x, y, or z in. Not getting your demo out. Keeping your project safe. It’s really easy to give into enthusiasm and dive into development, but if you’re not working to keep your files safe, then disaster is quite easily right around the corner.

Bitbucket – Free, Easy and Private

Most people have heard of Github as a place to store their projects, but I tend to prefer using Bitbucket for one simple reason: Bitbucket can have private repositories for free, while Github cannot.

What does this mean to you? It means that unless you have a paid account with Github, your project will be stored in such a way that anyone can come along and pull your project files, assuming they find your project. To me, this is not ideal. I want my project files to be mine until I decide otherwise.

So, for this tutorial, using Bitbucket, and their associated tool SourceTree (covered later) is what we will be looking at. Github is probably pretty similar, but you’ll have to pick a different tool to work with revision control.

Bitbucket Registration

Registering for Bitbucket is pretty much what you would expect for registering for a website. Head on over to to register your account.

The Dashboard

Once you’re registered and logged in, Bitbucket will take you to the default main page – the Dashboard.


The Dashboard gives you an overview of your projects and gives you quick access tot e various sections of the site that you’re most likely to need to use.

Repositories – This section shows a list of repositories you have access to, showing both your own repositories and ones you can access as a team.

Pull requests – A pull request is used when someone generally not directly related to the project makes a change to the code and would like it to be taken and made part of the project. This is generally used with open, public projects.

Issues – This is the area potential issues can be logged so that developers can find and squash these bugs. Or, as sometimes happens, squash the issue report, as it was just user error.

Snippets – This is a place where commonly-used bits of code can be stowed for future use. In this case, perhaps some of the more common script calls could be saved here for reference.

Creating a Repository


To create a new repository, Click Repositories at the top of the page, and click on Create Repository. This menu also shows the recent activity for your current repositories.


The basics of creating a new repository are simple – Really, you only need to give it a name and click the Create repository button. The advanced settings can be used to set more options, but those are outside the scope of this tutorial. After you’ve clicked Create repository, you’ll be taken to your repository’s page. Next, we’re going to need to grab SourceTree, the software that will be used to manage your project.


SourceTree is a piece of software that will help you manage your project’s repository and files. It allows you to review changes to files, compare changes in files, and upload your work to your repository.

To download SourceTree, click the link on your new repository page, or head on over to

When setting up SourceTree or a repository, it may ask you for an SSH key. Just click Cancel on that window (despite the fact that it tells you that you can click No).

Setting Up Your Repository in SourceTree

The new repository page does have a Clone in SourceTree button on it, but if your luck is anything like mine, clicking that will do absolutely nothing. If it does work, I don’t really know what to tell you to do next – it never has worked for me!


After clicking the Clone/New button at the top of SourceTree, The Clone/Add/Create Repository window pops up. Click the small globe icon button to the right of the Source Path/URL field and in the window that pops up, select your new repository and click the OK button. At this point, you can change the Destination Path if you want, just remember where you move it to. When finished, click the Clone button and your repository will be added to SourceTree. After the repository is added, a window will pop up prompting you for a name to identify you in this project, as well as your email address. These are required so that team members will know who made what changes, and so that in a team setting, members can be contacted about repository changes.

SourceTree Commands

Once you have a repository set up, there are a few commands you will need to know when using SourceTree. These are Pull, Commit and Push. We’ll go over the actual use of these commands and seeing what they do in practice later. For now, here’s a short outline of their functionality.

The Pull Command

The Pull command allows you to obtain any updates to a project that exist on the server, but not on your local copy. If you work with a team, or you work on more than one computer, it is extremely important to do this to prevent a mismatch or conflict (more on this subject later) of files.

The Commit Command

The Commit command allows changes you’ve made to be tracked by your local version control, but without being followed by a Push command, they will remain only as tracked local changes. Keep in mind that when working in a team or across multiple computers, committed changes will not be visible until they are sent to the server using the Push command.

The Push Command

The Push command takes all committed (see above) changes and sends them to the server. This is often done when completing a feature, reaching some kind of milestone, or even just at the end of the day or work period. When working in a team, it is considered polite to not push broken features, but rather, wait until they are complete, or at least semi-functional and unlikely to interfere in another’s work.

Preparing Your Project

You might wonder why a project needs a level of preparation, and the answer is quite simple – space. Every single time you push your changes to the server, the current files are backed up and the new ones are added in. If this is done with large files, such as music or large parallax maps, the size of your overall project storage will increase quite quickly. These files are best stored elsewhere and backed up by a means of your choosing – but do be sure to have a backup.

Note: This tutorial will only cover preparing a new project using RPG Maker MV.

Create A New Project

Create a new project in your Maker of choice (I will be using RPG Maker MV), and save it in a location separate from where you created the local folder for your repository. We will copy the files into the repository after preparing the project.

Remove Unnecessary Database Entries

Open up your new project, and remove everything that is not needed – tilesets, animations, actors, enemies, troops… the works. Most important, however, is to clear out the system-related sounds and music – things like the default battle music, ship music, and various menu sound effects.


Make sure you clear out those Music and Sound sections – unless you know for sure you’re going to be keeping them. Additionally, clear out the Vehicle Images, and even the images for the SV Attack Motions. Remember to set the Title Screen image to none and/or uncheck Draw Game Title.

If you do plan to use parts of the RTP, feel free to leave them in, but do remember that you will need to selectively delete files from the project folders so that you don’t remove those. Ideally, if you have a single actor with no graphics set on that actor, your project should still be capable of running without crashing. If any of the system files are removed without changing them, the game will not run and will inform you of what file is missing.


After removing everything from the system page of the database, it looks more like this. Don’t forget to check all other pages of the database, and remove default things that won’t be necessary for your project. Do remember that if you are using the RTP, you may not need to remove as much as this tutorial assumes. However, it may still be easier to remove everything and add things back in as you find you need them. If you plan to replace the icons, it may be easier to leave the Attack and Guard skills, and simply remove their icons – these two skills need to be exactly where they are within the database.

Note: Animation graphics take up a lot of space. Removing them is a good idea, and you can always add individual animations (on the Animations tab) by copying the needed graphics file into the correct folder, creating a new project and copying from the Animations tab of the new project into the Animations tab of the cleaned out project. This has been tested, and does work – you need only have the two projects open side-by-side.

Remove Unnecessary Files

After you have finished cleaning out the database, it’s time to clear out all unnecessary files, bringing the overall size of your project down to surprisingly small. There are a number of files and types that need to be removed – unneeded plugins, graphics, music, and sounds. These are all in different folders, but you also need to make sure you leave the folders in place.

Folder Listing

The following is a list of folders that will need to be examined. It is assumed you will make your way to these folders from within the new project’s main folder. To reiterate from earlier, these locations apply to RPG Maker MV.

  • audio/bgm – Contains music files in .ogg and .m4a formats
  • audio/bgs – Contains background (ambient) sounds in .ogg and .m4a formats
  • audio/me – Contains music effects (like victory fanfare) in .ogg and .m4a formats
  • audio/se – Contains sound effects in .ogg and .m4a formats
  • icon – Contains a single PNG file to act as your project’s icon
  • img/animations – Contains files for effect animations in .png format
  • img/battlebacks1 – Contains battle background floors in .png format
  • img/battlebacks2 – Contains battle background walls/etc. in .png format
  • img/characters – Contains actor, NPC, doors, etc. animations in .png format
  • img/enemies – Contains front-view enemy battlers in .png format
  • img/faces – Contains actor/NPC face sets in .png format
  • img/parallaxes – Contains parallax background images in .png format
  • img/sv_actors – Contains side-view battlers of the actors in .png format
  • img/sv_enemies – Contains side-view enemy battlers in .png format
  • img/system – Contains system-related images
    • Note: Most of these are required for your game to run. The weapons images may be removed if they have been cleared from the database. Other images should be left in place or replaces with project-specific images.
  • img/tilesets – Contains tileset images in .png format
  • img/titles1 – Contains base title screen backgrounds in .png format
  • img/titles2 – Contains title screen overlay images in .png format
  • js/plugins – Contains some plugins by default. None are configured by use for default.

With the above folders cleared out (with the noted exception of the img/system folder), your project will now be quite small, and is ready to be set up as your first commit and push to Bitbucket!

Adding Your Project to Revision Control

At this point, your entire project folder, or just the contents of that folder, can be added to your repository’s local folder, which we set up before cleaning up a new project. Either way is perfectly valid, and if you’re working in a team, should be agreed on by the team members. Find your repository folder and copy either your project folder, or all files inside that folder into your repository folder. When you do this, your changes will show up inside of SourceTree as Unstaged files. What this means this time is that the revision control software doesn’t know about these files, and is unsure if it should include them all, so it is waiting on you to choose. New files added or altered later on will also show as unstaged files, which will give you the option as to whether or not you want to check them in at that time.


Seeing as we need all of the files, click the Stage All button. The files will move up into the Staged files section.


The last step is to give this commit a description and then push it to the server’s repository. Remember that all commits should be given detailed descriptions so that you can refer to them in the future and know what was changed, and in some cases, why it was changed.

Check the Push changes checkbox below the description field, and click the commit button. After it’s done and you close the status window, SourceTree will now show that there is nothing to commit.

Note: If you forget to check the Push changes checkbox, the only difference is after you’ve clicked the Commit button, you will need to click the Push button on the ribbon at the top of the window.


That’s it! …mostly.

For the most part, that’s all there is to using SourceTree and Bitbucket. If you’re working on your project across more than one computer, or you’re working as part of a team, you’ll need to use the Pull command, which goes to the server and gets all files that have changed between the version you have and the version it has. In these cases, it is extremely important that you use Pull before starting work on the project, even if just to confirm there are no changes. If you do not, it is possible the work you do will cause a Conflict.


Sometimes when more than one person is working on a project, there will be problems called Conflicts. This occurs when two different versions of the project both show different changes to the same file. Through some kind of magic awesome technological stuff I don’t entirely understand, the system knows the difference between your changes to a file and someone else’s changes to that same file. Unfortunately, due to the nature of many, especially older, RPG Maker files, the process called merging is extremely difficult or downright impossible to do. In the case of a conflict, your only options are to use the local (your changes) or remote (someone else’s changes) version of the file. If you are working in a team and a file conflict occurs, talk it over with your team before blindly overwriting the remote files.

Updating With Your Changes

When working on your project, you can work directly with the files in your local copy of the repository. SourceTree will track any changes you make and is always ready to help you get them into revision control. Afterward, it’s the same process as the commit and push of the original project – give it a description, check the checkbox and click Commit.

Looking Back

You can look back at the history of your project at any point in time by selecting your repo on the far left side, clicking the little toggle arrow beside origin under Remotes (if it’s closed) and clicking on master. Master is the main “branch” of your project, and assuming you have not made other branches, is all that will be listed in here. In the main window to the right, a list will be shown of all commits to all branches of the project. If you have multiple branches, you can select which one to view information on.


Note: Branches are not covered in this tutorial, but they are generally used to develop large new features of a project and are either left as branches for any number of reasons, or are merged back in with the main project.

That’s it!

So, that’s really all there is to it. Once you have the basics down, it’s really easy. From there you just need to remember: Pull, do your work, commit and push. Do those steps every time and you should have no problems at all!

If you’d like to download this tutorial as a document file, here you go: Revision Control and You.docx

1 comment

For our second Learning Together Tutorial Winner, we’d like to feature one of our favorite RPG Maker Youtube Tutorial makers: Driftwood Gaming. In this tutorial, he teaches us how to make a mining system in MV, but be sure to check out the 200+ other RPG Maker tutorials Driftwood Gaming has to offer!

What other kinds of things could you do with this system? Tell us in the comments below!

1 comment