About a year back, using RPG Maker VX Ace, I created a tutorial on making a “Sanctuary” Spell. With this spell, the player could transport their character to a safe location in “another dimension” and then transport themselves back to right where they were when they were done.

Luckily, this tutorial still works perfectly fine in RPG Maker MV, because recently, someone asked me an interesting question about it:

question

And what do you know, it’s next week!

Well, Alex, you are right, that WAS a great tutorial. But also, making a skill cooldown on an out of combat utility spell (or item) is a great idea. There are several ways you could do this. I’m going to focus on one specific way, that I find the most direct, and least cumbersome.

But first, Oh No!, there was a mistake in my original tutorial. If you used the Sanctuary spell while in your Sanctuary, you would be stuck there forever. Unable to leave. This could be a game breaking bug if left in, so let’s fix this.

All it takes is to first toss the Map ID into a generic count variable (if you need guidance on how to do this, read the Sanctuary Spell tutorial), then use a conditional branch. If the variable matches the Map ID of your sanctuary, have it tell the player it can’t be used while in the sanctuary. If it doesn’t, proceed with the event we made in the old tutorial in the else branch. Remember to use a generic variable, not your memorized Map ID variable, if you use that, it will mess up teleporting back! Also, remember to reset your generic variable at the end of the event. You always want to keep your generic variables zeroed out when not in use.

fix

Now that I’ve fixed up my own mistake (SHAAAAAME), it’s time to move on to the meat of the tutorial. Giving the Sanctuary Spell a timer. What we want is for the timer to start the moment the character teleports back to the base map from the Sanctuary. Then, if you try to cast the spell while the timer is still running, it tells you that you need to wait.

Now, I know what you are thinking: Let’s use the Control Timer event command! Well, we can. It does work, but I’m going to use a different way for two reasons:

  1. The Timer shows up on the screen. I don’t think this is necessary for a single spell cooldown.
  2. You only have one Timer. If you used this for a spell that could be cast at any time, this would tie up the Timer for your entire game.

So instead, I’m going to use A variable, the wait command, and a loop. This will need to be in a Common Event. With most of my tutorials using Common Events, I’ve just been calling them. But now, we’ll use another method. With your second common event, we’ll want it in Parallel Process, to run the countdown in the background, and with the condition of a switch being on, the switch saying you’ve used Sanctuary then gone back to the map.

TimerSettings

This means that this event will run WHENEVER Switch 001 is on. No matter what. This is really useful for things you need to run in the background based on specific circumstances, rather than being directly called from an event.

So now, we need to do two things. We need to flip on the Sanctuary Used switch, and set the Sanctuary Timer variable to the number of seconds we want it to run. In Alex’s question, it was 10 minutes, but for mine I’m just going to do 1 minute, for ease of testing. So I’ll put in 60, for 60 seconds. The easiest place to put this? In the transfer event that moves you back to the world after leaving the sanctuary!

SetTimer

Putting it here starts the timer the moment you go back to the main maps and abandon your Sanctuary.

The next step is to go back to the Sanctuary Timer Common Event. Let’s build up what we need. So we have the Sanctuary Timer variable, that is the number of seconds to wait. And then the Sanctuary Used switch, which is what needs to turn off when it hits zero. This is just a very simple loop! Inside the loop, have it wait 60 frames (1 second), then subtract one from the Sanctuary Timer variable. Then, using a conditional branch, when the variable hits 0, break the loop. After the loop is broken, you flip off the Sanctuary Used switch.

TimerLoop

I’m sure you are asking, why not just have it do a wait 3600 frames? Well, by having it count down a variable, we can use the message from when you cast the spell and the timer is still running to tell you how long you have to wait.

And adjusting the spell to not work while the Sanctuary Used switch is on is the only thing left to do. Once again, broken down like this, I imagine you’ve already gotten it figured out. Go back to your Sanctuary Spell Common Event. Set a Conditional Branch. If Sanctuary Used is ON, have it give a message that details how many more seconds until you can cast it.

Showtext

Using \V[n] will replace that tag with the number of the nth variable!

And to finish things off, throw all of the rest of the event into the Else branch of that Conditional Branch.

Final

And that concludes that. This could have been accomplished in several different ways. With eventing, there isn’t just one way to do most things. In fact, this may not even be the ideal way to do this. But it does work. And you can check out the demo here if you have more questions!

Would you have done this differently? Do you see any flaws in my process? Any questions on how to use this technique for other things? Or even how to make the countdown based on something other than time? Join us in the comments section below!

2 comments

KarugamoFantasyBanner

It’s the most common type of RPG Maker game, but that doesn’t mean it can’t be good! The High Fantasy RPG!

Whether it’s slimes, gigantic yellow birds, sentient swords, one of twenty-seven powerful runes, or yet another girl named Nina, most of us have nostalgia for those staples of the JRPG genre, and we’ve brought you 4 excellent music packs to bring out that classic high fantasy in your own RPGs with the Karugamo Fantasy series!

Each pack has its own flavor:

Pack 01 features 22 tracks built around dungeons, towers, and travel via land or sea.

And after all that exploring and travelling, your characters can enjoy the tunes of Pack 02, with an additional 22 tracks, this time for castles, towns, villages, and other centers of civilisation.

But evil will never leave civilization alone for long, and that is why you’ll need Pack 03, for battle and hero themes of all types!

And finally, after a long fought battle, it is time for the story to move forward, with Pack 04 you will have tracks for cutscenes. Mystical, Romance, Despair, you’ll be sure to find something for any scene.

KarugamoScreen

All packs are formatted for use in RPG Maker VX Ace or RPG Maker MV. As an extra bonus, each pack comes with a bonus RPG Maker MV walking sprite based on the cover art shown above!

You can also find these packs on Steam! (Pack 01, 02, 03, 04)

And if you buy NOW, before June 24th, on our site or via the Steam Store, you will receive 10% off and these fantastic packs! So level up your high fantasy game, With the Karugamo Music Packs!

 

0 comments

Banner

This week, we have three new inspiring releases, ranging from the 1500s of Europe, to the 1800s Southwestern US, to the Modern World. Each inspire a different kind of game, and each is a pack we think is worth picking up.

Medieval: Warfare

The first pack of the bunch, Medieval: Warfare is brought to you by Pioneer Valley Games.

medieval-warfare-right

This pack, containing both the tools, and the aftermath of Medieval combat, is an excellent addition to any game already using PVG’s other Medieval packs, but it also brings a whole new dimension with its focus not just on war, but the desolation of what comes after.

What it inspires: To me, this pack inspires an epic game that highlights the highs and lows of full-scale war. The joys of escaping a narrow defeat, but also the horrors of the landscape left behind? Will you make a game of high fantasy combat? Or a gritty, dramatic representation of what war leaves behind? It’s up to you.

Fantastic Buildings: Modern

The second pack, is another great tileset from artist Celianna, Fantastic Buildings: Modern.

fantastic-buildings-modern-left

This pack contains plenty of tiles to bring your modern world game to life, from Skyscrapers to Convenience stores. It’s also completely compatible with the RPG Maker VX Ace RTP style, as well as Celianna’s many other packs, allowing you to slip it into an existing game easily.

What it inspires: There are many directions you could go with this one. Do you want to make an everyday life simulation? Or maybe a modern spy thriller? Or even throw it into a fantasy game through a bit of time traveling? The choices are endless!

Spanish Guitar Strings

From Murray Atkinson, we bring you yet another brilliant music pack, Spanish Guitar Strings!

spanish-guitar-strings-right

This pack contains 14 tracks built from the fast paced fingerwork typical of Spanish guitar and other traditional Spanish instruments. With songs that evoke romance, duels, or even a bit of mischief, this pack has everything you need.

What it inspires: This pack brings my mind immediately to Zorro. Swashbuckling adventures in Mexico controlled Southern California. The “noble” outlaw fighting a corrupt government with wit and panache. Outthinking his opponents. Confounding and frustrating them. And finishing the game with a one on one duel of flashing rapiers.

What do these packs inspire in you? Tell us in the comments below!

0 comments

NOTE: This article will use techniques originally found in the Using RegionID in Events tutorial. So if you haven’t read that one, go do so now.

This is another common RPG Maker puzzle. You have statues/pillars/crystals/boulders or something like that, and you have to push them onto specific spots on the map. Once all the pushed items (referred to as crystal for the rest of this article as that is what I’m going to use in my demo) are all in place, something happens.

There are two types of these puzzles.

  1. Where each crystal has a specific trigger location it goes with.
  2. Where there are crystals, and trigger locations, and it doesn’t matter which crystal is matched to which trigger location, as long as they are all on one.

The first one is a little simpler, so instead, I’m going to focus on the second one.

Not the most difficult of puzzles, but perfect for explaining the mechanics.

Not the most difficult of puzzles, but perfect for explaining the mechanics.

This puzzle will work like this: Once you get the four crystals on the four trigger locations, a treasure chest will appear in the center for you to open.

The first thing to do, is have the Crystals pushable. This is pretty easy. All you have to do is add a move route that moves away from player. You can use Action Button or Player Touch as the trigger. (As a note: remember to turn on Direction Fix in the event’s settings. Otherwise it could change color based on the direction you push it from!)

Move

Just like it was with the player in our last tutorial, RegionIDs are the key to figuring out if the event is in the right place. The easiest way to tag all the trigger locations is to tag them with a RegionID. Like so:

RegionID

Now, just like we did before, we can trigger something to happen when the Event is on a certain RegionID. Before, we were storing the Player’s X and Y and determining the RegionID from that. This time, instead, the event needs to store its own X and Y and then use GetLocation to determine the RegionID. You’ll want it to check it right after it moves. After the last tutorial, this should be pretty simple.
getlocation

Now that we know what RegionID the Event is on after moving, we can check if it is on the proper RegionID, in this case 1.

Once we do this, we need to do 2 things:

  1. Record that one more Crystal is in the right spot
  2. Set the Crystal to no longer be moveable.

While you could set each Crystal to its own variable, it’s much easier to just have one variable. Every time we move one in position, we increase the variable by 1. Once it is 4, we reveal the prize. But we still need a way to stop the Crystal from moving anymore. For that, we can just use a Self-Switch to a Blank Page 2. The advantage of doing it this way is we could copy and paste this crystal as many times as we wanted, and we would not have to do any edits to it for it to work.

Done

You’ll notice that as a final touch, I zeroed out the Event X,Y, and RegionID variables. I find this best to do with any variable that is used only within the event. It means every event will start with the variables at 0, which is a safer starting point in the case of using something other than setting variables.

Another extra touch I made was changing the second-page graphic to the Crystal Glowing. Just thought it looked nicer.

Page2

With that done, you can just copy paste this event 3 more times to make the 3 other crystals. Everything works, all we need is to make the treasure chest. You can use the quick event creation Treasure to make the base. Just put in the graphic you want and the prize you want to give out. In my case, I selected an absurd amount of gold.

After that, quickly go in and change the conditions on the first page so that the variable of crystals in place has to be 4 or more for it to appear.

Treasure

And with that, everything is done!

There is still one more thing you might want to address. What if the player pushes a Crystal into an area where he can’t get it back? Do you have a solution? What would your solution be? Have any questions about the tutorial? Think you know a better way to do it? Join us in the comments section below.

Want a better look at this event? Download the Demo HERE! (With a bonus solution to Crystals being pushed into edges!)

 

2 comments

Your demo is out! You’ve gotten enough of your game done that you can get it out there. Or maybe you are done. Wow! Go you!

But let’s be honest, even if you are done, tinkering is in the blood of RMers, and “done” is just a matter of perspective. So, of course, you fix a few things here. Alter a few things there. Time to upload V1.01!

But is it the right time to update? Really, it depends on the situation.

Game Breaking Bugs!

This is the one situation, where as soon as you fix a game breaking bug, I think it is time to update.

Bug Fix: Speaking with Old Man no longer triggers Apocalypse.

Bug Fix: Speaking with Old Man no longer triggers Apocalypse.

No questions asked. If the game isn’t even playable, no one will ever complain about an update happening even 10 seconds after the last update. Just make sure your fix WORKS first.

Test your game breaking bug fix thoroughly. Make sure it doesn’t break something ELSE in your game. Otherwise, you are just wasting time. People don’t want to download a fix that needs another fix 30 minutes later. Slow down. Don’t panic. Get it right.

Tiny Bug Fixes!

Sometimes, you’ll notice that people are experiencing a few minor bugs. Nothing that stops them from playing the game, but a chest gives the wrong nonessential item. There is a piece of wall that you can walk on for some reason.

These things happen. And we understand. You want to fix them. And you should fix them. But when you do, collect a large amount of them, and fix them all at once. There is a reason you see changelogs for most games with lists the size of War and Peace. It’s best to get them done all at once.

Go through your minor buglist, document them all, and check them off one by one. Don’t release that update until you have them all nailed down. Or at the least, a large portion of the easy to fix ones.

No one wants to see this update 80 times.

No one wants to see this update 80 times.

Adding More Content!

So you want to add more to you demo. You’ve added a new quest! That is like 10 minutes more gameplay!

In this case, I’d measure two things:

  1. How big is the update?
  2. How long has it been since your last update?

I generally suggest you wait at LEAST one week between non-critical updates. If you are updating every day, people will just lose interest. “Oh I played for 30 minutes, now I have to start over again because he changed something ELSE gameplay critical”.

Yes, you are probably spending every spare second of your time on your game, but everyone else ISN’T. They have their own projects to work on, or perhaps they just want to sleep. You do remember what sleep is, right?

The other part? Make sure your update is big enough to matter. A single additional quest that adds 10 minutes to a 3-hour game, is not that significant unless it carries the storyline forward. A 1 hour additional update to a 1 hour game? Now that is significant.

Look, I've added Mango as a choice, that is 3 choices. That is like, SO MANY CHOICES! Time to update!

Look, I’ve added Mango as a choice, that is 3 choices. That is like, SO MANY CHOICES! Time to update!

And this really carries in to all the reasons for your updates: Is it significant enough compared to the time since my last update? Don’t just add 1 small quest, or fix 1 small bug. Make sure that the user is getting something out of downloading the new version. We know you want to share what you have made with the world, and you are excited to show every single change, but make sure that what you are putting out is a big enough difference for everyone else to be excited, too!

So what are your opinions on updating your demos and games? How often? Have any questions about the right time to update? Join us in the comments section below.

0 comments

You’ve just gotten started with RPG Maker MV, or maybe you’ve been using it for a while. You know what that RegioinID Layer is for. It’s for determining monster areas, right?

regionid

And you are right. that is the most immediate use of it. But there is more. You can do so much more. Events can also reference RegionID. So, let’s look at how that can be used.

Finding RegionID

The first thing we need to know how to do is to determine the RegionID of the map tile the player is standing on. This is something you will be using over and over again once you know how, so I suggest making this into a Common Event. Common Events can be called from other Events. That way, instead of putting these lines of code in every time you need to check, you can just put in one line “Call Common Event” and it will do it for you.

There are three variables you will need to store to get a player’s RegionID. Like I’ve mentioned before with generic count variables, this is so common, I almost suggest the first three variables in every single game be these: Player X, Player Y, and Player RegionID.

The first command you will need is Control Variables. Use the Game Data Operand to set variable Player X to Map X of Player. This will store the Player’s X coordinate on the map in the variable.

MapX

Repeat this process with variable Player Y and the operand Map Y of Player. Now we have the coordinates that the Player is standing on. With that, we can determine what the RegionID of that tile is. All we need to do is use the Get Location Info command, tell it to store in the Player RegionID variable, select Info Type Region ID, and use variable designation, picking Player X and Player Y.

LocationInfo

And with that, I have a Common Event that I can call from any Event that can immediately grab the Player’s X and Y coordinates, and what the RegionID of that tile is.

CommonEvent

But what can we USE that for?

Example Use: Arrow Flooring

A mechanic seen in tons of games, you are in an area, there are floors with arrows on them, and when you step on the arrows, your character is pushed in the direction indicated.

Now, you could do this with just a  bunch of events. There is no need to check RegionID; you could just have each arrow be a Player Touch Move Route Player in X direction event. But what if I told you it could all be done with ONE event.

First, draw out your floor plan and your arrows.

Map

This is an incredibly simplistic map, but it’s perfect for showing off the process.

The next step is to assign each direction arrow a different RegionID, in my example, I’m going to use the following:

  • Right: 1
  • Down: 2
  • Left: 3
  • Up: 4

Take your RegionIDs and paint them on the appropriate arrows.

mapregionid

So now, instead of making every arrow an event, all we have to do is make ONE parallel process event that moves the player around based on what RegionID he is standing on.

So open up a new event (I’m partial to placing them in the upper left corner when they are invisible behind the scenes events myself), and set it to Parallel Process. Remember, Parallel Process Events will run in the background indefinitely as long as they are active.

The first thing it needs to do is record where your character is standing. To do that, we just need to call our common event with the command appropriately titled “Call Common Event”.

Call Common Event

After that, it’s just a series of easy conditional branches. If Variable “Player RegionID” = 1 Move route: Right, If 2, Move down, if etc. Remember to unselect Wait until finished. This prevents the character from taking control between two tiles.

After you are done, you should have an event that looks like this:

ParallelEvent

With this event, we’ve cut the number of events on the map DRAMATICALLY. It also makes bugfixing faster. If you have a problem with the Event, you can edit just this one, rather than having to edit every single iteration of the Event on the map.

You can also check the demo version of this project HERE, for a better understanding of the process.

There are tons of ways to use RegionIDs in eventing, can you think of more? Have any questions about the process? Can you think of any way to improve this? Tell us in the comments below!

5 comments

Email-Steam-FreeWeekend

With the RPG Maker Free Steam Weekend here, featuring MASSIVE sales, the Team Fortress 2 Character Pack, a giveaway, and amazing announcements like the Steam Workshop Beta, I’m sure I am seeing a lot of new faces out there. You’ve heard about RPG Maker for years, but you never thought you could make a game, you thought, “Making a game is too hard for someone like me.” But you have a weekend to play with RPG Maker MV and you think, “You know what, what do I have to lose. Maybe I can finally make my own game.”

So you’ve downloaded the program, opened it up, and are seeing the Engine for the first time. RPG Maker is not hard to use, but at first glance, there is so much to do that it can be a bit overwhelming. That is why we’ve prepared this quickstart guide, to get you on your way to making your game, your way.

What makes RPG Maker special, and what drew me to RPG Maker to begin with is that it allows anyone to make a game. You don’t have to know how to code, you don’t have to know how to make art, you don’t have to know how to make music. I don’t know how to do any of those things. But I can make a game, and you can too. All it takes is getting to know the three main parts of the RPG Maker engine. This won’t be a tutorial. It won’t explain how to do everything, but it will give you the basics of where to get started and how things work together.

The Map Editor

The first thing everyone sees when they first open RPG Maker is the map editor. It’s there when you open the program, and it’s there when you close it down.

MapEditorWhen you first make your project, you are greeted with this nice green expanse. The beginning of a world map, although a very tiny one. The Map Editor is very simple to use, kind of like using a simple paint program.

Just grab a tile over on the palette to the left, and start drawing on the map. You have various tools across the top, such as pencil, square, circle and fill. Just a bit of time drawing with the water and I’ve made a small island. All those years as a kid drawing silly things in MS Paint are really paying off.

MapEditor2

One of the cool things that RPG Maker does is called Auto-Tiles. If you’ll notice, when I drew with the water tile, it automatically made beach borders for me. This is what auto-tiling does. Instead of storing a different permeation of each angle and border possible, it uses a collection of 24×24 tiles (the tile size is 48×48) to draw the proper tiles dynamically as you put them in.

After adding a few mountains and forests to my map, I’m sure you are thinking, but where is all the cities and ruins and all that? Not much of a map without those! Luckily we have more tabs of tiles. You’ll notice a B and C tab, which are second and third layer tiles for your game. They always layer on TOP of your Tile A tiles. You can layer two Tile B-E tiles on top of each other. There is also the R tab. This is for Region IDs, which are not visible to the player and used mostly for defining monster areas, but also can be used in other ways by more skilled users.

MapEditor3

The last thing you’ll need to know about the Map Editor to jump in and explore is making new maps and the Map Properties. To make a new map, just right click in the map list under the palette and click new. This will pull up the Map Properties for the new map. Here you can select which tileset you want to use (the default map was using Overworld, MV comes with the ones shown below by default), how big your map will be, what music plays on the map, and what monsters appear in which region IDs.

MapEditor4

You can also right-click and select Load to check out a large collection of sample maps that help you understand how to use the tiles provided.

But looking at your map, how do the players DO anything on it other than to walk around? That leads us to the second important aspect that all beginner RMers need to learn:

The Event Editor

Events are the heart of the non-combat Gameplay in an RPG Maker. Anything on a map that you want your player characters to interact with or to interact with the player characters is an Event. Starting a cutscene? That is an event as well. Mapping is like the skin. Eventing is the nervous system. It moves the game.

To make an event, first, switch to the event layer by pressing the event layer button at the top of the editor…

EventEditor

Then you can right-click on the map and select “New” to make a new event at that location. The event editor has a bunch of stuff going on, but once you learn the basics, it’s not hard. Over on the left are your “Conditions”. This tells the engine when this event should be active. Then below that, you have what the event looks like, how it moves, whether it is above, below, or on the same level as the characters, and how the event starts.

EventEditor2

The Trigger (how the event starts) is very important to getting a good jump start on how to make different events. The five triggers are:

  • Action Button: Event starts when the player hits the action button while standing on the same tile as (for Priority Below and Above) or while facing (Priority Same) the event.
  • Player Touch: Event starts when the player runs into it.
  • Event Touch: Event starts when the event runs into the player.
  • Autorun: Event starts the moment all conditions are met and you are on the same map.
  • Parallel: Event runs the same as an Autorun event, but it runs in the background.

You also have pages. You can create new pages in an event, which create different tabs across the top. The active part of the event will ALWAYS be the page that is furthest right where all conditions are met. A simple event that would use event pages is an NPC say a different thing when talking to him a second time.

EventEditor3

At this point, we’ve covered how an event shows up, how it activates, and even which version of it is being used, but how do we tell it what to DO? That is what the big box labelled contents is for. Any event commands in that box will activate from top to bottom once an event is started. To add a command just double click on the contents box and…

EventEditor4

Ok, before you get too stressed at seeing three pages of commands, make sure to look at them first. Most of them are super self-explanatory. There are so many so to give you the power to do all those things, but they aren’t complicated. Change HP, Change MP, Change TP, all very simple to understand, it’s just manipulating the characters resources a bit. You also have the obvious event flow controls. Changing variables and switches, Loops, Conditional Branches.

A simple event that asks the players if they have a potion, and then checks if they have one, would take about a minute of adding commands and look something like this:

EventEditor5

Basic events will take you just an hour or so playing around in the editor to learn. Complex events are just a matter of time invested. The more you use RPG Maker, the more power you will have.

And now that we’ve taken a quick look at the Event Editor, I’m sure you are asking a question: But where do I make these heroes. Where do I make these items and weapons and enemies? That leads to the final part of RPG Maker that all beginners need to know how to use:

The Database

The Database is exactly what it sounds like. It’s where you store all the information that your game uses. If mapping is the skin, and eventing is the nervous system, the Database is your bones. It gives the shape to your game and gives you your moving parts. You can get to the Database by either clicking the cogwheel button at the top or going to Tools => Database.

Now if you’ve worked with databases before, don’t be worried! This isn’t just a collection of rows and columns and numbers. Its all organized in a nice, easy to understand visual interface.

Database

Going down the tabs on the left, most everything here is pretty easy to understand for an RPG playing veteran.

  • Actors: Your Player Characters
  • Classes: The Classes for your Player Characters
  • Skills: All the Skills usable by your Player Characters and the Enemies
  • Items: Weapons/Armors: The Items and Equipment your Player Characters use.
  • Enemies/Troops: Enemies holds the stats for the individual enemies, you group them together in Troops for how they are encountered together.
  • States: These include the states that can be inflicted on characters and enemies. Like Poison/Sleep/Etc.
  • Animations: All the animation data for skills is held here. Without this, your fireball wouldn’t… fireball.
  • Tilesets: This is the configuration for what is in each of your tilesets, and which tiles can be walked through/under or block your path.
  • Common Events: These are events you can either call from other events, for if you are going to use a string of commands often, or events that you need to run globally.
  • System: This is a lot of miscellaneous pieces of your game: Using side view or not? What music plays on the title screen? What is the title screen? What characters start in the party? And more.
  • Types: This is the types of equipment (such as sword/spear/etc, heavy armor/light armor/etc) and the types of magic (fire/wind/etc) that are in your game.
  • Terms: This lets you customize what your stats, currency, experience, and more are called. It also lets you customize battle messages and other automated messages in the game.

For a zoomed in view of what you will be doing in the Database, let’s look at the Weapons tab.

Database2

General Settings doesn’t cover anything you can’t figure out on your own. Name, the Icon it uses in the menu, a short description, Weapon Type, Cost, and the Animation it uses. Then below you have how it changes Parameters. In the lower right, you have Notes, which are mostly used just for writing things down for your own use and are not used by the Engine.

The upper right, though, that is where a lot of power lies. That is the Traits window. Traits are extra little bonuses that apply when a character or enemy has them. Traits can be on any equipment giving it to the character that has it equipped. They can also be given to Actors, Classes, Enemies, or even States. Let’s open up a new Trait to see what all we can change with it.

Database3

Over these tabs, you can affect how well different spells and attack types affect the Character/Enemy, their stats, how their basic attack works, what skills they have access to, what equipment they can and can’t use, and many other things.

Because these can be applied to a combination of overlapping pieces (weapons/armor/classes/actors), this can make some fairly complex progression systems without a ton of hassle. Exploring the database will unlock more and more facets of what you can do, but this should give you a good overview of where to look for each thing.

And remember, if you are ever curious what something does, you can hover over it for a quick tip.

Database4

So you know your way around the Map Editor, the Event Editor, and the Database. What else could a beginner maybe want to explore?

  • The Character Generator: Easily make sprites and faces for new characters from component parts.
  • The Resource Manager: Quickly import new audio or graphic materials. Either ones you’ve made yourself, our official resource packs, or ones you’ve found on the web (always remember to credit!)
  • The Plugin Manager: Add plugins either you’ve written yourself in Javascript, or from around the web to change the way RPG Maker works.

One of the coolest things about RPG Maker that you should learn is that, despite being this simple to use. Despite a beginner only needing to learn a few things to make a simple game, the entire engine is written in Javascript and is COMPLETELY accessible to the end user. What this means is that you can write your own plugins. Plugins can make your game do almost anything if you take the time to code it.

But in a lot of cases, you won’t have to. You can find great coders around the net, and on our forums, who make plugins that are free for anyone to use. Always make sure to check their license, but a lot of them even allow commercial use.

You can make a simple game with just a little bit of knowledge, but the more you learn, the more your game can grow. So get out there, download RPG Maker MV in the Steam free weekend, and be the game dev you’ve always wanted to be.

0 comments

It is time for another quick eventing tutorial! Our last two covered flipping switches in the right order and pressing a button quickly when given a prompt. Today, we’ll cover making an event where pressing a combination of keys in the proper order does something in the game.

You can find this puzzle in plenty of games, such as entering the password to save Lucca’s mother in Chrono Trigger, playing the piano in Tifa’s old house in Final Fantasy VII, as well as a similar music-based puzzle in Undertale.

It goes like this: You are given a sequence of letters/sounds/notes to play, and each one is tied to a specific key on your input. You then go up to the event, press the keys in the proper order, and voila, you get something/advance the plot/whatever.

For this tutorial, I’m going to create an organ that when you play the notes in a certain order, you find a potion. Unfortunately, there are no individual music notes in MV’s default sounds, so instead, this organ, as designed by Bloody Stupid Johnson, makes animal noises.

It is particularly useful for playing Old MacDonald though.

It is particularly useful for playing Old MacDonald though.

In the map above, the note to the left tells you what keys make which noises, and the order from left to right of the animals is the proper order to play them in. Now, I know that this is not a hard puzzle for the player to solve but learning the eventing to make it work is the key here, not making a tricky puzzle. Here are the key commands:

  • Up = Chicken
  • Down = Cat
  • Right = Horse
  • Left = Dog

And with the order being Dog Cat Chicken Horse, the proper sequence is Left Down Up Right.

So once again, as with our previous eventing tutorials, the first question is: What information do I need to be able to store and access? This is a pretty simple list for this event.

  1. The Button Press order
  2. Whether you have gotten the potion or not.

The second one is just like a standard treasure chest, which is just a self-switch. This is always nice because that means we don’t have to clutter up the global switches/variables with it. The first one will require a variable because each step has 4 different options. Now, you may be thinking you need 4 variables, but I have a much easier method to use just one. I’ll show you how to do this as we make the event.

variables

It doesn’t get easier than this.

The next step is to, in plain speak, walk through what you want the event to do.

  1. Wait for player to press a directional key.
  2. Record key pressed
  3. Repeat steps 1-2, 3 additional times.
  4. Check recorded key presses to see if it matches the correct order
    1. If Yes, give the player a potion, and switch the event to permanently off, end event processing.
    2. If No, reset the recorded key presses and end the event processing.

Waiting for a keypress is another good time to use a Loop, just like we did in our last tutorial. Create a loop, and have it break the loop when one of the four keys are pressed using conditional branches. Let’s go ahead and throw the sound effects in there too.

But what does the fox say?

But what does the fox say?

I’ve added a 30-frame wait command to make sure my loop isn’t starting too soon. This keeps it from catching any input the player happens to be holding when the event starts. You can copy the Loop + the Wait 30 frames 3 more times to get it to record the info 4 times. But how do we record all the information into one variable?

So each time we record the variable, why not, instead of using the set option to change it to a specific number, we use the add function on each step.

Add

There are 4 steps. So during the first step, add 1000, 2000, 3000, or 4000 depending on the button pressed. During the 2nd add 100, 200, 300, or 400, the third 10, 20, 30, or 40, and during the final, 1, 2, 3, or 4.

This will give you a unique 4-digit number that is different with each input combination your player can make, as the steps never overwrite each other. A short section of the event would look like this:

This is the first loop.

This is the first loop.

With all the recording done, all that is left is the final bit of conditional branches to either give the potion or error out and reset the whole puzzle, and that is a snap. Make a conditional branch to check if your key sequence is correct (in my case Key Sequence should = 3214) In the conditional branch, just do the normal treasure chest style stuff. In an else branch, have it reset the puzzle by returning the Key Sequence variable to 0.

Nothing to it.

Nothing to it.

The last thing is to make the second, blank page that has the condition of “if Self Switch A = ON”, and you are done. Want to see the full event? You can download the demo here to get a look at the whole process!

So, this time, I’m going to give you a little homework for you to talk about in the comments:

  • If given one extra variable to work with, could you make this event run in fewer lines of event code?
  • Could you do the entire event with just one switch and one self-switch and not even use a variable?

Want to discuss the homework? Think you’ve figured them out? Or maybe you know another way to shorten this event? Have questions on how to implement something similar in your game? Join us in the comments section below.

6 comments

So you want even MORE customization in creating characters, but you aren’t an artist. Or maybe you are an artist but you want to increase variety in your game by working with component parts.

Well, Over the last couple of weeks, between bouts of PAX East mania, I’ve sat down with Spriter Pro and its RPG Heroes Essentials Art Pack to see what it can do for us.

And the answer? A lot. Now, I’m not going to write a tutorial on using Spriter Pro. Mostly because, I doubt I could do better than the creators, who have a great series of tutorial videos and tips videos on Youtube, including one specific to this pack, and mostly because Spriter is a super powerful program that I myself am only just scratching the surface of. There is a LOT more you can do that I never even touched.

What I am going to do, is show you an overview of what you can do, and how easy it is to do. I’m planning to create a sprite for RPG Maker MV. So I load up the Female_48.smcl in the RPG Heroes pack and get to work. Now, the first thing you are going to see when you open this is what seems to be a character that took a tumble through a costume shop and yet somehow missed finding a shirt on the way down.

image04

And suddenly your brain explodes cause you’re like “oh man, what do I do, do I have to delete each part I don’t want individually on each frame, this is going to take all day!”
Well, fear not, just go up to Window and Select Character Maps. Now you can just drag and drop from the list on the right to the list on the left to make your sprite from component parts.

You can quickly drop NO HEADGEAR, NO WINGS, etc to get rid of what you aren’t using, then start dragging across individual parts to get what you want. You can even have two different arm pieces. It took me just a few minutes to create this:

image03

Though I’m sure you are probably thinking now, “But what if I don’t WANT all my characters to wear purple and blue, even if it is a very heroic shade of purple.” Well, that too is absolutely no problem. Just click the button with the image of a painter’s palette on it in the lower corner of the Character Maps and you can select whatever colors you want for your base colors, accents, skin, etc.

With just a few more minutes, I had this (ok, I really like the black on red aesthetics, probably something to do with where I grew up).

image01

Now it’s just a few clicks, select the FullSpriteSheet animation in the animations window in the lower right, select File=>Export Animation to PNG/GIF. Switch up the settings to Keyframes only, sprite strip, with 3 horizontal and 4 vertical and done. You have an RPG Maker MV formatted sprite ready to use.

image00

You can also export some animations for activating things like treasure chests and such, just check in the Animations window to see the automatically generated activation animations, and export those, as well as down sprites, too.

But what if you want a faceset to go with your character? Don’t tell me we’re going to have to draw that from scratch… nope. Spriter still has you covered. All of the portrait art is higher res, so we’ll need to move to Female_128.scml for this one.

But first, I can very quickly save the character I was using as shown in the export character tutorial, I’m sure you saw the save and load icons on the character maps window, and then load it up in Female_128.scml. Really I should have probably gone in the other direction, using the 128 size first, but I was just so focused on getting that sprite down, I neglected my need for a faceset!

image02

There are also breathing and blinking animations for the portrait, though they would be a bit tricky to use in RPG Maker at this time. But they give you a small taste of what Spriter Pro can really do. You can even make custom animations for the sprites, it just takes a bit of experience in the editor, and you can have your character moving in ways that would be incredibly time-consuming to replicate with just hand spriting skills in a graphics editor.

You can use it for creating more monsters. You can even animate them if you are using an animation script. You can use it to design battle animations. You can do almost anything with 2D graphics you can think of.

If you aren’t an artist, Spriter Pro gives you a good framework to use the pieces it comes with and its many packs. There is plenty to work with, and you can make a staggering array of sprites and faces with just what you get in the RPG Heroes set. If you are an artist: The sky is the limit. You could make almost anything. Build the component parts and then you can put it together any way you like.

Spriter Pro is nearly perfect for RPG Maker. And in the future, I believe we can even bridge that gap between nearly perfect and perfect. Keep an ear to the ground for more news

Have you ever used Spriter Pro? What did you think of it? Or maybe you have questions about it? Join us in the Comments below!

0 comments

Time for another Golden Week Tutorial! Remember this is the last day of Golden Week, and time is running out to get huge deals on all things RPG Maker, or perhaps win a copy of RPG Maker MV, but its also time for some event tutorials to teach you some new techniques!

Harold has decided that a good way to spend his Golden Week vacation is on a fishing trip! So he has headed up to a mountain fishing village and found some “dark water” that signifies the fishing spot.

Why do fish always congregate in easy to identify spots anyway?

Why do fish always congregate in easy to identify spots anyway?

So, we’re going to do fishing kind of like in Animal Crossing. You start fishing at the spot, you wait a random amount of time for an indication that the fish is on the hook (in Animal crossing it was visual, in our event it will be auditory), then you press the OK button really fast and you catch a fish. If you are too early or too late, you miss it.

Just as with the last time, its important to think: What information do we need to track?

So in this case what do we need to track… Hmmm… Huh… Well. Nothing. There is nothing to track but how many fish the player has and that is done by just giving him more fish as items.

That DOESN’T mean though that we will not need a variable or switch. Sometimes you’ll need a variable or switch inside an event just to keep track of something specific to it. In the case of this event, we will need a Count variable again! This is to randomize the delay between the start of the event and the noise, as well as to measure the amount of time the player has to press the button. A generic Count/RNG variable is always useful to keep around just for these reasons. Sometimes you’ll even need multiple generic ones. We can do this with just one though. And if it was the same project as we did our ordered switch tutorial on, we could reuse that one.

Pretty easy variable/switch list this time around.

Pretty easy variable/switch list this time around.

Now we need to work on the second part. In plain text, what should the event do.

  1. Wait a random amount of time between 1 and 6 seconds.
    1. Did the player press the OK button during this time? Give too early message, end event.
  2. Play the Splash Sound Effect.
  3. Wait 1/2 second.
    1. Did the player press OK during this time? Give the player a fish, end event
    2. Did the Player fail to press OK during this time? Give a fail message, end event

So first, we need to add a Wait 30 to the beginning of the event. Why? 30 frames is half a second. This gives the program time to differentiate between the press that started the event, and the beginning of player input for the wait period. If you don’t add this in, it will read the player still having the button pressed from hitting OK to start the event.

Now, you are thinking, well, I just need to Wait a random amount between 30-270 right? That will fill out the 1-6 seconds. So store a random number between 30-270 in the Count variable and then wait that amount.

There are two reasons this won’t work. 1. You can’t wait a Variable amount of time, and 2. You can’t then check if a button was pressed during that time. Instead, we’ll need to use a Loop. Loops are super useful in lots of situations, they basically just keep doing the same thing over and over until you tell the program to break the loop.

So, you had the beginning right, First, drop that random number between 30-270 in the Count variable. But then, we want to start a loop. So we want the loop to do these things. Wait 1 frame, check if the player hit the OK button, have it tell him too early and break out of the loop if he doesbreak, subtract one from the Count Variable, check if the Count Variable = 0, and if it does, break the loop, if it doesn’t, go back to Wait 1 Frame and repeat. This is a very simple Loop, and learning to understand it will build up your ability to do other similar puzzles. This is what it would look like.

Loop

So we Wait half a second, determine a random amount of time between half a second and 5 and a half seconds, Then start a loop that counts down that amount of time and breaks the loop if the count hits 0 or the character hits the button too soon.

Now we just need to create the loop inside the If: Count = 0 Conditional Branch. Its pretty much identical to the original loop, but instead we set our Count variable (which we can use again since its not being used anymore) to 30 for half a second, and play a sound before it. And this time, hitting the button during it is SUCCEEDING and not hitting it is failing. With being so close to the original loop, I’m not going to repeat the process of creating it, but it should look like the following, starting at the If: Count = 0:

2ndloop

So, did you follow along? Why not check out the demo HERE? Can you find a more efficient way to create this event? Or maybe you have questions of how it is made? Join the comments below!

7 comments