There are lots of ways to make computer games.
In the old days, people hand-forged instructions on punch cards, fed them into a reader, and in that way input a program that allowed you to play Tic-Tac-Toe.
One of the more neglected ways to put a game together, these days, is what we might call the construction set package. In the 8-bit era these were more common (and where I got the name from), with popular releases like Pinball Construction Set, Adventure Construction Set, Racing Destruction Set, and Shoot-em-up Construction Kit.
Later there were the Bard’s Tale Construction Set and SSI’s D&D-based Unlimited Adventures, which still has a following to this day. But while less visible now, perhaps, construction sets are still with us, particularly in the form of the RPG Maker series.
(I can’t leave UA without a cursory exploration of that rabbit hole: Here’s an Unlimited Adventures file archive, a collection of adventures based on classic D&D modules, the open source Dungeon Craft UA-workalike adventure editor, and for completeness my own Metafilter post about it. There! Now I can move on.)
The popular appeal to a construction set is that age-old pipe dream of computerdom: enabling people to make something interactive without coding. Programmers often have little idea how appealing this is to the common user. They fail to see what most other people think: learning to code is difficult, time-consuming, obscure and full of traps.
Programming languages can seem designed to gatekeep people unwilling to memorize cryptic commands and syntax. Error messages usually point to the precise space that compilation failed, and only report how it failed, which is frequently unhelpful in determining where the true error lies. Once you’ve learned one language, you find out you really want to use a library only available elsewhere.
In short, learning to code sucks, so the promise of software that allows someone to get by without having to bother with it is great. It’s fueled the rise of things like YoYoGames’ GameMaker Studio product, even though what it provides is actually indistinguishable from coding, just with a drag-and-drop interface. More recent versions even let you drop the DnD stuff altogether and just write text scripts like glob intended. (Lest it seem like I am dumping on GM, I’ve used it for four projects to date, and I can tell you from direct experience that you can make really cool things with it.)
Anyway, GM is not a construction set in the sense that I mean, but more of an integrated IDE. RPG Maker is closer to the ideal of a purpose-built editor geared to produce one particular kind of game, in its case JRPGs in the mold of the 16-bit classics. And even if you aren’t as afeared of coding as some, it can be useful, even to professional game designers, to have a quick way to make an RPG-styled thing in their game design toolbox.
"If you have the hot coal of an awesome idea burning a hole in your cerebellum, it can help to make a toy version of it as quickly as possible...and RPG Maker, in its area, has the advantage of rapid iteration."
For it takes time to make a game, and to make a crazy idea with unusual mechanics takes even longer. If you have the hot coal of an awesome idea burning a hole in your cerebellum, it can help to make a toy version of it as quickly as possible. Often these ideas don’t pan out; the sooner you can test it, and the less energy you expend towards it, the sooner you can find out if there’s actually a diamond in the middle of that coal, or if it’s all ash after all. And RPG Maker, in its area, has the advantage of rapid iteration. Once you’re familiar with its capabilities and know what you can do with it, it’s usually not that hard to make a working model.
For other users, who are coding averse…RPG Maker will not save you from coding entirely. Its events feature is basically scripting by another name. But at least it presents your options in the form of lists, reducing the amount of memorization you have to do. And, although it’s kind of a looked-down-upon genre, people have sold and do sell their RPG Maker productions on Steam.
Because it’s fairly easy to use, this means there’s many products there that seem to be cash grabs, and for a new project, being visible above them and not being dismissed as another poor quality game may be difficult. But some people have managed to do surprising things with it. Maybe you can do something new of your own? Maybe I can help you to do so.
RPG Maker’s been around for quite some time. Wikipedia tells us it dates all the way back to 1992, with RPG Tsukūru Dante 98, for the Japanese PC-9801 microcomputer. PC Gamer published a nice article (by Glada Zavarise) about its rise, how it spread around the Western gaming world through piracy and a series of unofficial fan translations, and how now you can easily buy versions dating back to 2000 through Steam. It also notes that, despite some standout RPG Maker productions like To the Moon, Space Funeral and OFF, the common consensus is that most RPG Maker projects are lazy resource dumps out there just to take your money.
Freebird Games' award-winning To the Moon is a notable example of a game made with RPG Maker
I can report that there is some truth to this. Yet, it need not be so. Packages of pre-made art are a godsend to small and one-person teams, and need not mean that the game itself isn’t interesting.
"Packages of pre-made art are a godsend to small and one-person teams, and need not mean that the game itself isn’t interesting."
Whatever the reasons for coding being a barrier to people who want to make games, it is a fact that it is. Lowering the barriers to production means you’ll get a lot of people throwing something on Steam that they didn’t really put much effort into, but it also means sometimes you get some real gems, amazing pieces of outsider art that are greatly worth your time, that couldn’t have been made without the lowered barrier to entry that it provides.
So then, how do you use a package like RPG Maker well? How do you give your project a leg up over the others? How do you prove to them, to the world, to yourself, that your project is the one in one hundred that justifies the genre?
I’ve toyed around with RPG Maker a bit. And I’ve had some – just a little – experience in the past with getting around the limitations of construction kit software. Now, I don’t claim to be an expert. All I can offer is the process I have used in the past, my research, and whatever communication skills I have in relaying them to you. May they serve you well.
RPG Maker FES, for the Nintendo 3DS, is the most recent release in the series. The most popular RPG Maker titles have been those on PC, which are generally easy to use and also permit the use of outside tools for creating resources. By contrast, console releases like this one put strict limitations on memory use, often limiting (or even restricting) your ability to create your own visual and audio content, and are generally a narrow sieve into which to poor your ideas. For our purposes, to examine the process of finding out ways to get around toolset limitations, that’s perfect.
Knowing how it’s limited is the first step in overcoming those limits. RPG Maker FES, running entirely on a 3DS, has some fairly drastic limits compared to the PC version, but you can do some nice things with it once you understand where the borders are.
It is rare that the documentation for a product explicitly tells you what can’t be done with it. Limitations are left, like dog poop in tall grass, for you to happen upon unexpectedly, sometimes letting you get halfway through implementing a promising game mechanic to discover that it’s been impossible all along. This happens frequently with this kind of thing, and I don’t think there is a way to avoid it completely, except to know as much as you can about the software’s limitations going in. Since the software won’t tell you what those limits are, that requires research. To the Google mines!
Through experimentation, reading the game’s built-in manual (which is not very helpful), and a fair amount of web searching, I’ve been able to determine these facts about RPG Maker FES’ capabilities, which I list here, along with ways to make up for them.
All the RPG Maker systems use 2D maps along the lines of classic 16-bit JRPGs. FES supports three sizes of map: 32, 64 or 128 tiles square. For comparison’s sake, 128x128 is smaller than the world map of the first Dragon Quest.
The system supports up to 100 maps in each game however, so creators may be able to get by by joining them together.
Art and music
This one’s huge: There’s absolutely no way to bring your own resources into a project. You are limited to the character and monster art, map tiles, effects, sounds and music included in the software and DLC. Over time, publisher NIS has updated FES with additional resources to put into your games. And there’s a good variety of tiles to choose from. You can even mix tiles from different sets, like including sci-fi and modern graphics in your fantasy game.
Still, this means, if you play a lot of FES projects, you’re going to see the same graphics again and again. The fact that some are paid DLC means that those resources will be less commonly encountered, but still, because the maximum available art and audio is limited, there is only so much you can do with it. Your characters can only look like one of the included choices, and only a small fraction look like typical JRPG heroes. Meaning, get used to Spiky Blonde-Haired Anime Guy, because he’s going to be starring in a lot of adventures.
But in one way, this is a blessing. Because you cannot have character art that’s not provided for you, you aren’t expected to have it. Your game cannot be accused of using default assets, because everyone has to use them! While that’s unfortunate, it does take the most time and effort-consuming parts of creating a game off your hands.
What can you do to alleviate this? Well, you can focus on characters other than the standard anime hero and heroine types. You can tell the story of the monocled elderly guy on the third row of the graphic selector, who for some reason has decided to spend his declining years beating up slimes. And you can change things up and use heroes from different graphic sets, which FES has no issue with.
That can be especially useful for monsters, which are less restricted by their time period—remember, even the original Final Fantasy had a technological dungeon.
We’re starting to dive a bit deeper now. RPG Maker FES’ model divides maps into three kinds of entities.
Building interesting events
Doing cool things in RPG Maker FES is largely the process of learning how to use events to maximum effectiveness. Events, for all their usefulness, have some pretty glaring drawbacks. There can only be, at most, one event on a space at design-time. And at run-time, events cannot ever be created nor destroyed. Although an event can trigger combat, once the player defeats the monster, the event is still where it was. There is no way to delete it, so without special consideration, the combat could immediately be triggered again. This is where coding, inevitably, comes into play.
Every event has a number of basic properties that provides some default behavior, like walking around randomly or whether the player can pass through it. If the default behavior is enough, you don’t have to do anything else to it. But to do things more complex than that, you’ll have to put in what FES calls “contents.”
Basically, these contents are instructions. Each event can have up to ten “pages” of them. These pages are not just an organizing system, but are how you vary the workings of an event, how you give the event the circumstances under which different sets of instructions will execute.
For every event, you must define under what circumstances it activates. The options are:
Note: different versions of RPG Maker share a few design aspects. Some PC versions add another option to run events, “Parallel,” which provides this automatic activation without soft-locking the game.
When an event activates, it then picks one of its content pages to run. All events have at least a Page 1, which is the fallback. Every other event page can have up to two conditions tied to it. When an event executes, the engine starts at the highest page number that exists (10 if there is one, then 9, then 8, etc.) and checks its conditions. When it finds a page both with contents and whose conditions are satisfied, it, and only that page, will execute. If the page’s conditions aren’t met, it’ll go to the next-lowest page number and try that one. If it reaches Page 1, it always executes. It only executes one page per event; once it finds and runs a page, execution ceases until the event is triggered again.
(In order to use Auto-execute, you must make sure that Page 1 is empty. Since it always executes, the event will always occur and block out anything the player tries to do.)
Here is a minor nuance. The engine is constantly checking those event conditions for all your events, every frame, even when they’re not executing. You see, each page of an event contains more than just a list of instructions, but also a set of properties for that event, like its graphic, whether it can be walked through, and so on. These properties affect how the event behaves as its conditions are met, even when it’s not running. With some thought, you can use this to adjust behavior dynamically, without executing any of its instructions.
In the example project (see below), we use this property to reset all the wandering monsters at once, whenever we like. The only thing in its system that records whether an event monster has been fought or not is the state of one of 500 built-in switches. When we fight a monster, that event’s numbered switch is set. That causes the second page of the wandering monster event to activate. And that causes the event’s graphic to be replaced with nothing, and causes it to no longer attack the player (Page 2 has no combat content), and it also sets the flag that allows the party to walk through it. When you leave the area, or use the healing spot near the entrance to the dungeon, an event sets all the switches from 0 to 100, the ones we reserve to track wandering monster state, to off. This immediately re-activates the monsters we already fought before, not only causing them to fight the player again, but making then visible and causing them to block movement.
What can't you do
So, what can FES’ scripting system not do? Well, quite a bit unfortunately:
A wandering monster system for RPG Maker FES
Using all of the information above, and about 13 hours of grunt-work according to the timer, I have constructed a simple example project in RPG Maker FES. It’s mostly a single map dungeon filled with wandering monsters roaming around. The system expects most monster fights to be “random,” meaning, your party is attacked out of the blue by unseen assailants; letting the player see his opponents on the map screen lets them decide if they want to risk getting into a fight or not, adding more strategy to the game.
You choose which of three characters you want to take into the dungeon, then build their levels up by carefully choosing which enemies to fight. Starting with slimes, work your way up through goblins, floaty things, angry fungus, demon girls, giant spiders and mean ol’ orcs, finding treasure along the way.
You can heal your character up at any time by visiting the healing spot near the dungeon’s entrance, but doing this will revive all the monsters you’ve already killed! But that can be a good thing, since it gives you the chance to earn more experience points. Healing there also gives you the chance to save. When you think your level is high enough, leave the dungeon and try to fight the boss orc to win the game. You can turn on an in-game timer (that, due to engine limitations, only counts up outside of battle) to find out how long you’ve taken on your run.
The design of the game is “unlocked,” that is, you can open it in the full version of RPG Maker FES and look at how I put it together. Or, if you just want to play it, it can be downloaded using ID ci9u6rkm from within the free RPG Maker FES player available on the 3DS eShop.
If you decide to implement such a system in your own game, my suggestion is to devote a block of 100 switches to the random monsters, and reset the whole block when leaving an area. In my game there’s only one dungeon so it’s not a huge deal, but if you have multiple areas, those 500 switches will run out fast. So instead of giving every monster in the whole of the game its own switch, you can reuse them in each dungeon, so long as you don’t go over the number of switches you’ve reserved. This means that leaving an area will reset all the monsters in it, but you can’t have everything.