söndag 2 oktober 2016

"A more lively world" Tutorial for RPGmaker VX Ace

Making the world and the character feel real is harder than it looks. Perhaps you have created your first short game, familiarized yourself with the rpgmaker engine. But you feel that your game world feels too static, the NPCs just bit players instead of real characters with lives of their own. This tutorial is meant for beginners wanting to get the game world to seem more "real". To get you into the thinking I have prepared two examples to look at together. All are made with the default assets of Rpgmaker VX Ace. 



The first example is lifted straight from Links Awakening. Kids shouldn´t stand totally still and say "Welcome to Corneria" over and over, they should be playing! So we are going to create a couple of kids playing, as well as making them talk with the player from a distance without the player´ss input, making them seem like they have agency of their own.  

We start by placing three events out and choose graphics for them. The boy and girl are found under the actor1 subtab and the ball is taken from other1


For the ball, make sure the walking animation is checked out and the through option is checked in. Otherwise the ball will act as a character walking, meaning it will "blink" through the colors in its animation sheet. Furthermore the ball will stop if the characters comes into contact with it. With the options like this it will seem like the ball is thrown over the characters! Next, set the speed and frequency to the above, the type to custom and then click the move route button.

Set the move commands like this and check in the repeat action command. Now it will seem like the ball is throw into the air in an angle, making it seem more natural.  

Let us set up the actors next! Having a natural movement for the ball is no good if the characters just stand there without moving. Make two event pages, setting the first one up like this. The trigger for this event should be set to parallell process.


The second page should look like this. What we have done here is creating a switch that periodically turning on and off, making the graphics change so that it appears as if the character is moving as the ball is thrown. Naturally it will look even better if you have custom jumping graphics! You may have to fiddle around a bit with the timing to make it look natural.


Next, we create the same two event pages with changing graphics for the girl, but we do not have to set up the timing and switch change. Just make sure the event still reacts to the switch, though!


Now the character will speak while the hero walks past!

The second trick:

Being instructed by the mayor of the town to find a treasure that the evil Lord Calibri has taken and hidden is not very fun, but it can be made more engaging by the player actually witnessing the events before the quest is handed out. So let us make it so the evil Lord Calibri throws the chest away as the player walks down the path.

Once again we create three events, one that the character steps on to initiate the animation, one for the skeleton and one for the chest.


For the first event we set it up like this and set the trigger to player touch.


We need two event pages for the skeleton, the first do not need to be filled with anything.


The second page is set up like this. You can fiddle around with the speed and frequency to make the character move faster or slower. I want the skeleton to sort of shamble, so I left him fairly slow.


I just want the character to move out of the map, so having a single repeating move right command is enough.


Lastly we have the chest event, which we can leave completely empty. No graphics, nothing.


For the second page we create a chest and set up custom movement.


Set it like this, but make sure that the repeat option is checked out. We do not need for the chest to be thrown again!

And there you have it! I have here included a video on how this will look in practice. Here are some questions to think about and hopefully solve yourself:
1 Can you make it so that the kid only finds the player scary the first time, and makes a more friendly greeting afterwards?
2 If we would implement Lord Calibri in a game, the event would play out every single time the player enters the map. Can you make it so that the event only plays out once?