Home Artists Posts Import Register

Content

Advanced Eventing & Building a Scene

Hello everyone! Last time we built out some chores for our player character to do, but now we give some consequences for not doing them. Seeing as RPG Maker lacks any kind of sound effects that resemble a spanking at the moment, that will be the first thing we tackle.

Spanking Sounds

That link will take you to a download for several different varieties of slap as well as a very nice belt impact sound. We'll need these later. Go ahead and unzip the folder into your audio folder in the Spanking Tutorial folder.

One thing to note is that since RPG Maker MV can export to phones as well as internet browsers, it takes .mp4 and .ogg sounds now, the former for non-pc ports, and the latter for pc ports. I'm not going to go into a bunch of details on editing sounds in this tutorial, but if you find a sound that you like, but it's not in .ogg, you can use Audacity to export it as an .ogg!

So before we do any eventing, let's go ahead and create our spanker character now. Last time it was established that she's some kind of robot or android, so let's start from there. Open up the character generator now and make a spanker.

Here's what I decided on. By no means do you need to create this same character. I wanted something that looked distinctly non-human, like an android and also I REALLY like short hair on girls (You will notice this if you play ANY of my games). Okay, so now that we have our character, let's save our settings and create a walk character. Remember to save the face settings in the Faces folder we created earlier. I'm saving both the walk character and the settings as the name of the character, which in this case is Ada.

Now that we have that done, we're going to start making faces! Expressions to be exact. One of the perks of the character generator is that it allows you to rapidly create facial expressions which are nearly essential to a game like this. First, we need to Export our current face image which will be our neutral face. I'm naming mine Ada01. Explaining how to create these expressions is somewhat hard. It helps to look in a mirror when you do it! Create some expressions and add them to the Ada01 file using the import, reposition, export method we used for our main character.

Here's what I ended up with. It's not necessary to fill the sheet with character portraits, but it can help us later if we find that there's an emotion we need that we don't have yet. If we do all this and that still happens, it's just as easy to pop open the character generator again and save a new face sheet as Ada02 that we can populate with all sorts of new expressions.

Once you've finished making faces, go ahead and close the character generator. Okay, before we get into the serious nitty-gritty of making our new character give us what for, I want to edit something in the apartment room really quickly.

I want to erase this chair tile and replace it with an event with the same tile as its image. It will become clear why we've done this later. Right click on the tile next to the chair and click on top of it to erase it, now double click on the same spot in event mode to create a new event called "Chair". For the image, scroll down to tileset B and set it to the image of the chair we just erased. Set the priority to Same as characters and click OK.

Tiles are inherently static in our game world. They act as barriers and that's about the extent of their interactivity, but what if we want to be able to turn them, like say, for a character who needs a place to sit while they take another character over their knees? Now you see why we just did that don't you? Good. Let the perversion flow through you. It will make your game better.

Alright, so now that we've got our turning chair extraordinaire (hehe), let's make a new event right on top of the the exit to our map at the bottom.

Name it Exit, leave the priority alone, and change the trigger to Player Touch, click OK to save and close it. Now immediately to the right of it, yes inside the wall, create another event. Call it Ada, and click OK to save and close it.

Okay, to go over what I am trying to do here, I want the player to try to exit the room, but be stopped by Ada, who comes into their apartment to perform an inspection. We'll be seizing player control at this point without telling them, but it's fair game since we signposted this earlier.

To create this scenario, I am going to be using the player touch event by the door as a Director Event. Director Events are what I call events that govern other events, especially for cutscenes. Open up the Exit event now.

In it, add the following commands:

  • Set Movement Route: Player - 1 Step Backward (make sure you uncheck Wait for completion)
  • Set Movement Route: Ada - Through ON, Move Left, Turn Up, Change Image: Ada, Play SE: Open4

Here's what I've got so far. Let's continue; under what we have there add a Conditional Branch to check if the switch Morning Routine is ON. Make sure the conditional branch has an else section.

Here's what my Conditional Branch looked like when I wrote up the dialogue. 

The only really important thing here is the Control Variables command. For it, I created a new variable called Domicile Infractions that we'll add to every time the player misses a chore. This will allow us to mete out different severities of spanking depending on how bad the player messed up. Without this, none of the stuff we're about to code would work. Do add some dialogue though, players like that kind of stuff.

So, let's make Ada move around as if she is inspecting the apartment now. After the Conditional Branch we just made add the following commands:

  • Set Movement Route: Ada - Move Up x2
  • Set Movement Route: Player - Turn Up, (uncheck Wait for completion)
  • Set Movement Route: Ada - Move Up x2, Move Right, Move Up x6, Turn Left
  • Conditional Branch if Washing Done switch is ON, check create else branch.

In that conditional branch, we're going to do something similar to before where we show some dialogue, and add to our infractions counter if the Washing Done switch is off.

Here's mine again, pretty basic stuff by now. Make sure that the dialogue is clear about what the player did wrong. Let's now have Ada turn as if she's looking into the Living Room now. Add another Set Movement Route after the Conditional Branch and make Ada Turn Right. After that, we're going to add one more Conditional Branch, this time checking if the Dishes Washed variable is >= 3 and having an else branch.

Again, here is mine. Now let's have Ada walk down to the player and tell them their fate. Add the following command after this Conditional Branch:

  • Set Movement Route: Ada - Move Down x6, Move Left, Mode Down x2

This will put Ada right in front of the player who is facing into their apartment. At this point, we're going to want to make another Conditional Branch to check if the player had any infractions, if not, we'll send Ada on her way and give control back to the player. If they do though, we'll check how many and direct Ada from there. I added a bunch of text to mine, so I'll show that here:

I like the idea of Ada having a personality as well as an executive persona that comes on when she has to do official stuff. Now, at the end of that pile of text, we're gonna add some code that actually does something:

  • Set Movement Route: Ada - Move Down
  • Set Movement Route: Player - Turn Down (with Wait for completion unchecked as usual)
  • Set Movement Route: Ada - Move Down, Change Image (none), Play SE: Open4, Move Right, Turn Up
  • Control Self Switch: A = ON

Let's go ahead and make a new page for this event now with the Condition of Self Switch A being on, and the Trigger being Player Touch. Leave this page alone for now, it's where we'll put our code for transferring the player to a new map, but we don't have that map yet! Go back to page 1 and click OK to save our changes. Let's test it now, do all of the chores and try to leave. 

Everything work okay? If not, check back at the code screenshots, you might have missed something.

Now it is time to code what happens if you're missing something. Open your event back up and let's fill out the else section of that Conditional Branch.

In this bit, we're going to create a nested Conditional Branch. These are good if you need to make specific things happen depending on a number of factors, here being the amount of infractions the player has incurred. For this, I will fill out the code, show you what it looks like and then explain what it does.

Okay, so what's happening here is: 

  • the player is shown a bit of text regardless of how many infractions they have
  • execution moves to check if their infractions are greater than or equal to 3, if they are, that IF is entered
  • if not, execution moves to the next check, if infractions is >= 2, enter IF, else, move to ELSE
  • repeat until the execution comes to check if infractions is >= 1, there is no ELSE here, because we should not end up at this code if infractions is anything other than 1, 2, or 3

That's the gist of it. I'm gonna go ahead and put some text in the first if statement here to proceed whatever happens to the player.

There's what I have. Yeah, it's wordy, I like words. Sue me. Now we're gonna get into some more code that does stuff. Add a bit of text to describe what Ada is doing to the player, something like "Ada seizes your wrist". Now we're gonna create a pair movement scheme. Basically, we're going to give a set of movement commands to one character and disable wait for completion, then give that same set of movement commands to another character without disabling the wait. The effect is one character following after the other.

Here's what that set of movements looks like for Ada, note the lack of a (wait) command next to her name:

And the player. The last two movements are absent because they would have put the player next to the foot of the bed instead of at it. The rest of it is the same as Ada's.

Let's hit OK and test this now, making sure to not do any chores and just go straight for the door. Whoah! Something's off, we've got the player speeding ahead of Ada and not being in the proper spot. Let's see why that is.

To correct the issues, add a Change Speed: 3 command to the top of the player's movement, followed by an extra Move Up to get them around the wall that they smacked into last time. Let's test again. Everything work? 

You may note that if you move around after being led over to the bed, you're slower. This is because the player's natural walk speed is 4 while all other characters are 3. We changed their walk speed to be the same as Ada's which was 3. To correct this, stick a Change Speed: 4 command at the end of the player's movement commands.

Another small thing that I don't necessarily like is that Ada seems to go underneath the player when she moves past them. To correct that, pop open Ada's event (the one next to the Exit) and set the Priority to Same as characters. If you feel like testing again, you can see what this changed. It's very subtle, but Ada now seems like a person that's moving past you instead of a rug beneath your feet.

So, my initial intention of this tutorial was to end it on a spanking, but I don't think that I'm going to have enough time to do that considering I've been at this for about 5 hours now and I still have to upload the project file for you guys. Let's just consider that enticement for the next tutorial hm?

Okay, see you guys next week!

Project Download 

This post was made possible by all of my generous (and attractive) patrons!  

Files

Comments

No comments found for this post.