Saturday, July 12, 2014

July 12, 2014

Also see Chapter 1, 2, 3, 4, 5, 6

Hope you've checked out the first 1-6 chapters so far, or this part might be a bit tricky. Either way, on to the next part!

7. Doors 2.0

Some fun with editing existing events and switches.
Let's add a grumpy character - how would you feel about random heroes just barging into your house all day?
I sure wouldn't like it!

Find a house in your town and add a door (quick event creation -> door).
Now, we'll modify it by not having the player go to a new area, and some text shouted at you by the owner, as below.
* We copy the animation (move route), and reverse it.
* Add a switch to indicate you've tried to open the door once.
* Add a conditional based on the switch, to show the grumpy character yelling at you.
* Play the close sound.
* Remove the transition stuff.


@> Play SE: 'Open1', 80, 100
@> Set Move Route: This event (Wait)
:: $> Turn Left
:: $> Wait: 3 frame(s)
:: $> Turn Right
:: $> Wait: 3 frame(s)
:: $> Turn Up
:: $> Through ON
@> Conditional Branch: Switch [0003: Grumpy Town 1] == ON
@>Text: -, -, Normal, Bottom
:: Back again?! I told you to go away!
: Else
@>Text: -, -, Normal, Bottom
:: What are you doing here?! Go away!
@> Control Switches: [0003: Grumpy Town 1] = ON
@> Play SE: 'Close1', 80, 100
@> Set Move Route: This event (Wait)
:: $> Turn Right
:: $> Wait: 3 frame(s)
:: $> Turn Left
:: $> Wait: 3 frame(s)
:: $> Turn Down
:: $> Through OFF
See if you can re-create it for your own town.
As an extra exercise, see if you can change it into a "self switch" instead of a regular switch.

8. Moving NPCs

Everyone just standing around like idiots makes the town look a bit "dead", so let's add some moving npcs.
Dogs, cats, messengers running around, old people shuffling.

Go to the event layer (F6) and add a new event. Select a random person from the "people" graphics (or monsters, or actors, as you see fit). Next, you will have to look at the two sections: "Autonomous Movement" and "Priority". Set the "Type" to "Custom". This will unlock the "Move Route..." button, press it and add a simple path. Don't forget to enable/disable the walking animation, so it looks like the character is actually walking instead of gliding.

For example:

$>Walking Animation ON
$>Move Right
$>Move Right
$>Wait: 60 frame(s)
$>Move Left
$>Move Left
$>Move Up
$>Move Down
$>Wait: 60 frame(s) 
This will cause the NPC to move in a repeated L shaped pattern before returning to his original position.
Next, the "priority" section. By default this is set to "Same as Characters". This means the player will block NPC movement, and vice versa. If the player is blocking the NPC's path, it will pause it's loop. If you set it's priority to be above, or below players, then movement will not be blocked either by the NPC, or by the player.

If you wish to make it look as though a NPC just walked into a house, you can set the: "Transparent ON / Transparent OFF" flags when you have them walk into a house door.
Note you can make monsters use this behavior just as easily, and have them react to "player touch" to initiate a battle.

9. Two way Bridges

Bridges are cool, but a bit tricky to make. If you tried creating a canyon, and spanning a straight bridge across it you'll notice a few problems.
* You probably can't walk "onto" the bridge if the tile on the edge of it is the cliff edge tile.
* If you didn't use the cliff edge tile, then you can probably walk "under" the bridge, and straight onto the cliff face where the bridge is attached.
* If you walk under the bridge, you'll walk onto it !

Worry not, as all these problems can be fixed, but it does take a bit of work to set up initially. Once it's up and running you can copy this technique to your heart's content across your entire RPG.

Take the image below as a guideline.

The colored dots won't appear in RPG Maker, they were added with as a reference. Each color represents an event, which can then be copy and pasted onto the dots with the same color. Let's start with the black, yellow and blue dots.

* Black: Create a new event, and set a graphic (Tileset-B at the bottom of thte list has some good bridge elements). Set the priority of the event to be "Above Characters". Next is something you might not have done before. At the top of the edit event dialog we select the "New Event Page" button. This will create a new event page which we can then modify and set special conditions on. In this case we need to add a "switch". Create a new switch and call it "0004:bridge" (or other number if available). Lastly, on this new event page set the priority to be "Below Characters". That's it, just copy this event to create the base bridge.
* Yellow: In order to prevent the player from being able to walk off the sides of the bridge we need to block the sides when the player is on the bridge, and remove that barrier if the player wants to walk under the bridge. Create a new event, and set the priority "Below Characters". Next we add a new event page and on this we set the priority to be "Same as Characters". On this second page we also set the switch condition just like on the black event (0004:bridge)
* Blue: To prevent the player from walking onto the cliff from under the bridge we will create a blocking event that works much the same as the sides of the bridge - but in reverse. Create a new event and set it's priority to "Same as Characters", then like the yellow event we create a new event page and add a switch condition to "0004:bridge" and change the priority. In this case "Below Characters".

That takes care of the bridge itself, now all we need to do is ensure the switch gets turned on and off when the player walks near or away from the bridge. That is where the green and red events come into play.
* Green: Create a new event and add a new line to it's contents "Game progression -> Control Switches", set "Bridge = ON". Also important next, is to set the "Trigger" (found below the priority field) to "Player Touch".
* Red: Copy the green event you just created (you can ctrl+c, ctrl+v on just about anything you like). And edit the control switches line to "OFF". As an extra you can set a switch condition on this event that checks "0004:bridge is ON", but this is somewhat redundant.

Finally, copy and paste the events into the correct position to ensure the player always walks onto them. Then playtest your newly created bridge.

Credit to Keile (MMOC forums) for the initial guide & test project.

To be continued.