Skip to main content

A word on Events.

RPG Maker (I use MZ) hinges on Events, which are snippets of code made to run at certain times. Prototypical examples might be, say, an NPC sprite you can click on for dialogue, or a doorway you can walk into that takes you to another map. But not all events work this way. For each Event, you must specify a type of trigger.

There are Action Button triggers, which are exactly what they sound like - your NPCs. Player Touch and Event Touch triggers are also what they sound like - your doorways.

There are Autorun triggers, which grab control of the game by the nostrils and say, "Shut down the player controls and do this, above and before everything else, BECAUSE I SAY SO."

Then there are Parallel Process triggers, which are a little more "I'll be here in the background controlling some stuff, but don't mind me; keep doing what you're doing."

Trying to put together minigames can be a little hairy, because there are typically a couple different ways you can do things, and I'm still learning the more intimate mechanics of RPG Maker. So it might take some time to finagle the exact mode of operation. Notably, I also do not want to use 50,000 JavaScript plug-ins. I have about 12 and that is plenty. I want to use as many of the point-and-click functions, without having to learn JavaScript, as possible. Even if I need to use some duct-taped work-arounds.

Let me set the stage for you: Minigame where you are skating "up" and have to dodge creatures on the multi-use outdoor path. Pretty great, right? So here's what I started doing:

  • Autorun event that zooms screen and then continuously moves you along the track, so you have no manual control or menu access by default.
  • Invisible Player Touch events that look for left or right button pushes 6 or so blocks before an obstacle. For example, in the 6 blocks leading up to the obstacle:

If player is pushing left, move upper left, up, up, up, up, up. Else: move up once. Then:

If player is pushing left, move upper left, up, up, up, up. Else: move up once. Then:

If player is pushing left, move upper left, move up, up up. Else: move up once.

And so on, until you run out of "ups" and therefore "Else: You fight the monster." And do this rigamarole every time there is a creature on the screen. You see how this can get really, really tedious? What happens here is that you get cluttered with a bunch of events with a bunch of if-thens, and it never stops. If you're off by one "up," everything breaks. And this only lets you move left only in certain places. I did these events for maybe 6 battles, and was feeling pretty good about it, until I had someone playtest it. They insisted it was not working; I insisted it was working exactly as intended. After a minute, my player realized that they could move left only if an enemy was on the screen and you were meant to go left. "I'm used to racing games, so this is weird. Why don't you make it so that you can freely move left and right?" quoth my playtester.

...at first, my spirit was crushed, because I had spent 6 or so hours on these stupid up, up, up, up, up, up events, and wasn't sure how to proceed without scrapping everything. I mean, I have engaged in many Quicktime events and such in video games. What I had wasn't unlike those. But scrap everything I did.

NEXT.

SONG.

  • Autorun that zooms screen, disables menu access, sets a switch to start the Parallel process, and then deletes itself.
  • Parallel process event that, when switch is on, continuously moves you in the up direction, and with every square, checks to see if you are pressing left or right. If pressing left, move upper left. If pressing right, move upper right. Repeat essentially forever. Screen moves at a steady pace and player has free control over lateral movement. Fantastic.
  • Player Touch events that are the creatures on the trail. Theoretically, you touch a creature, you engage it in a battle.

First, the upsides. This was looking great. I let go of the sinking feeling from the feedback I'd received and was instead grateful for it. But what happened here was that the creatures were not engaging. It turns out that an event has to have the capacity to turn to "face" you as you touch it in order to be activated, and if you set a continuous movement route for an event, unless you come across it at the correct one of 4 directions (up, down, left, right), nothing happens. Of course, if I am going to have a squirrel on the trail, it is going to be going left and right and running all over the place, not facing down and waiting to engage the player.

Which brings us to the next iteration!

  • Parallel process. Still the same.
  • Player Touch events that are the creatures on the trail. Same. Who cares if they activate or not - I'm past that.
  • Player Touch events that are invisible and set to move in tandem with the creatures one square below them, while constantly facing the player.

Ding ding ding ding! It's alive! It's aliiiiiive! If you're slow, you get a battle. If you manage to skirt around the side of an enemy and whiz past, it feels exciting.

I feel like being a computer geek in the mid to late '90s set me up for this kind of problem-solving. It was the era of never opening the Chooser from the shortcut because it would crash for some inexplicable and irreparable reason. It was the age when some major websites were still using Times New Roman, but if you were really slick, you Photoshopped together a navigation sidebar in the font you wanted, then saved it as an image map. Who remembers HTML image maps? There was no Squarespace or Wix to save you!

Anyway, problem solving: It's fun!

I'm waiting for the RPG Maker legion to fly in, see my event management, and laugh until they croak. Maybe I am making life harder for myself, but something is working here, so I'll roll with it. At the very least, I am learning a lot.

Comments