I have something of a strange relationship with RPG Maker. I own multiple builds of the engine, yet for all the hundreds of hours I put into them I never make an actual, complete game. I am consistently sidetracked by adding features, tweaking mechanics, crafting out fights, but never actually settle down and make something complete, start to finish.
So I’ve decided to fix that.
I’m planning on making an rpg—not a grand one, just a complete one—from start to finish in MV, parring out anything that doesn’t contribute to actually completing a game. No feature creep allowed. And I’m hoping that by writing some posts about my progress will help keep me on task and focused.
Now then, where do I start? Yanfly (whose scripts I am eternally thankful for for adding so many quality of life features, and being springboards for my own experimenting) actually has a decent series about this, in which they via the medium of a comic guide a hypothetical newbie through the process of just sitting down and making something.
One of the things yanfly advises in the very first comic is to have a rough structure of the game in mind, and uses the classical formula of Town-Story-Dungeon-Boss cycle as a basis, with the intro and ending at the start and end of this internal cycle. While I’m not too invested in being specifically following the conventions to a T, I think you could reduce it to an even more generic format:
Downtime-Setup-Mechanical Challenge-Mechanical Test
You see this kind of cycle in almost any game, for good reason. You need setup so the player is invested in the stake, and some downtime between mechanical challenges so that they don’t all blend together. I’m not too concerned fleshing out what exactly happens in each and every map right now, just in setting up the vague structure. I’m a fan of threes, so three cycles sounds good.
Oh, I see you’ve noticed I’ve already given this thing a name. Well, I had this idea of the entire game being set inside a single tower-dungeon you climb up, for an appropriate climax at the top. It’s practical too, since by nature it means a limited play-space with a clear set of progression.
So next, let’s start at The Beginning. I’ll talk about what I’ve done with the database later (specifically skills) mostly because I want to save that for a talk about gameplay in general (I mean, I did mention I spend most of my time finding and making scripts right? I might as well actually put them to use for a change, instead of fiddling with them for their own sake).
A nice small room to start, with our primary actors for the first cutscene/intro zone. I’m really not following yanfly’s tutorial advice at all am I? Honestly I’m mostly starting up with this because for someone whose primary engagement with RPG Maker has been the mechanical side, I am really lacking when it comes to practice with the actual storytelling tools.
Now, if I had been smarter I would have written this post up as I went along, but I’ve only really thought of it after setting up this first little scene, so you won’t quite get to build it along with me. I promise this will change in the future and I’ll actually have this opened up as I work on the game.
Let’s recount my trials step by step:
Past Me: How should we throw people into the setting to start with? Oh, I know, we’ll start with our character passed out from something just before the start, and then we can have some world-building begin as they talk with their rescuer.
So far so good. Now how do we get a person to lie down and get up? As a side note, I’m going to be keeping most of my sprite work to a minimum. I’m not very good at it to start with, and while I’d like to get better and practice, I’m going to save that for another time. One skill at a time, and I’d like to actually make a full thing first. Besides, limiting my options like this will force me to get creative. I hope.
Thankfully, I won’t need to work too hard for this right now:

These three sprites will serve well, normally they’re the “damaged” sprites but it’ll do—
Hmm. I’ve run into my first hurdle here, I want to do an animation where they start down on the third frame, sit up with the second, then pop up to full wakefulness with their normal walking sprites. The problem is that by default you can’t control which frames of a given sprite are being called all that precisely. This is a job for some plugins to solve and… nah, I can just solve this without adding to my plugin list. Behold!
Not the most elegant of solutions, but it was fairly quick to just make some basic sheets for these and be done with it. Hopefully I don’t end up wanting to do animation shenanigans like this too often, so it saves me grabbing a plugin and getting it to work at the low low cost of 34.9 KB. Not the most efficient option space-wise but not something I’m too concerned about for this specific game.
Now then, for the wakeup animation I’ll—

(I’ll get to the control switch up there later)
Okay let’s break down what I’m doing here. So we exchange whatever default image I’m using for my player character for the first part of this animation and then… why am I direction fixing here? It doesn’t do anything! Let me just quickly remove that and okay

There we go. There’s a lot to cover, but let’s start with the most obvious: the trigger is set to Autorun, to ensure this cutscene fires off the moment we load in and that we can’t muck about with it by moving. Everything’s going to happen in sequence.
Okay so then we wait for a second, and play a little sound effect to suggest that the character is shuffling around. They get up, and we make sure they’re facing down for later and swap their image to the second part of the animation. This is the part where it looks like they’re setting up. Another second passes and now they’re up! One more second, then they jump a little in surprise (by the way, non-obvious hint: if you want a character to ‘hop’ you do a jump with 0s in both the x and y values of the jump command) while playing another sound to indicate they’re… rustling their sheets with their movement. Some spinning around happens, and then we’re onto the next actor.
Speaking of! We’re doing a bit of a trick here with the other actor, where we’re using one of the damaged states to suggest them being asleep or less attentive. Now we’re swapping their sprite to the “proper” actor ones, but keeping them facing downwards to help create that illusion of them just lifting their head.
Ugh, I didn’t really want to get into it in this first post, but we’ll have to bring up some of the plugins I’m using, if only to explain some of the oddities we’ll see in the eventing. I’ll mention it as they come up just for the sake of readability.
First and most obviously, I’m using Yanfly’s messaging plugins here, specifically Message Core, Extended Message Pack 1 & 2, Message Macros, and Message Backlog.
Message Core offers a lot of useful functions such as being able to dynamically input the name of actors (so if I decide to rename them later, I don’t need to manually comb through every inch of dialogue), put name boxes over windows, or adjust various bits of timing in the messages.
The Extended Message Packs let me do some other cool things, including having sounds play as the letters are read out in the message windows. I’ve always been a fan of those sorts of things, since it lets you give a character a “voice” for relatively cheap, which helps with characterization. Honestly a bit frivolous, but I had it in my files to start with and I like it.
Message Macros are important, since all the fiddling to give each character a unique “voice” via sounds will get absolutely repetitive, and prone to issues down the line if I ever decide to give them a different voice. With this plugin, I can stuff all that junk into a single macro, which gives me a single point to edit and keeps my message windows readable as I edit them.
Backlog is another one of those plugins I already had on hand, and the utility it offers is just good enough that I have no reason to cull it. Being able to re-read dialogue in a text heavy game is a godsend, especially if you lose track of things.
So with that out of the way, let’s return to the eventing.

\m[Si]
That calls a macro I’ve prepared for this actor to be their voice.
\n<???>
That sets their name box for this dialogue to be “???” which feels appropriate since this is the first time both the player and character have met this person.
Next this is followed by the player moving down off their bed so they can stand in front of the stranger, playing sound effects to indicate their motions. The “Through ON” is important since the best is technically an impassible object. Honestly I probably could have and should have just made them passable in the tileset, but this will do for now.
Mostly some back and forth here, though I do want to note a couple of the other commands here.
\lsoff
For the purpose of turning off the letter sounds for that specific message, which I use in conjunction with not showing the name box to help emphasize that this is a nonverbal thought or action occurring rather than dialogue. This is my method of cheating my lack of animations, just write it out. Again, not very elegant, but it’ll do, and best to establish this convention now so it isn’t a surprise when it matters down the line (I’m assuming it’ll matter down the line).
\.
\|
Some basic macros for meddling with the timing of the text coming out in these windows. “\.” is a 1/4th second pause, while “\|” is a full second. Combined with the letter sounds, it helps convey the cadence of speech in the midst of all this dialogue.
Then we’ve got a “Show Balloon Icon” which should be fairly obvious, it’s a little emote-like speech balloon that pops up over the head of the specified event, which in this case helps me convey expressions given I have exactly one face icon for each character.
At this point, I’m pretty in the zone and just filling out things as I go, so there’s not much worth commenting on until—

Ugh okay, time for another script discussion. I’m also using Yanfly’s Event Sprite Offset here, to get some slight adjustments to the locations of sprites so they look better. This involves editing their note tags with their offsets like so:

So now it looks like the actor is actually on the stool and not just sort of pasted over it. Unfortunately, since I intend to have them move down and “seamlessly” integrate into your party, that means I need them to adjust back to their right location and to space out the timing enough that it looks smooth and not extremely janky. I can’t say I’m successful, but I’m pleased enough with how it looks to roll with it.
And with that, our first cutscene is done! Let’s see how it looks in action:
It’s honestly super basic, but I’m happy to have actually made anything that could be called a cutscene.
Next time, I’ll talk about the half dozen other things I shoved into this intro room!
