Gw Temp

Menu

Tutorial - 'Wall Flattening' by ATARI

An item about RPGMaker 2000 posted on

Blurb

You like flattening against the wall in Metal Gear Solid? Well this tutorial tells you how to make that system in Rm2k!

Body


Hi folks! It’s ATARI again! This time I’m going to talk about how to make a wall flattening System for your RPG!

What you will need to know to use this tutorial:
1. Fork Conditions
2. Switches
3. Password Commands
4. Variables

So what exactly do I mean when I say, “wall flattening system?: Well, the concept is very simple. You go up to wall, and you can tell your character to flatten their body to the wall, to minimize their visibility, the amount of space they take up to get through tight areas, and so forth. Look at the screenshot below for an example.



Setup

So the first thing that you will need to do is open up rm2k and make a new map. Make it the usual 20 x 15 size. Make the entire map a walkable grass tile, with the top part, there being a wall that stretches across the entire screen horizontally, and is 3 tiles high vertically. Then create a new parallel process event somewhere on the map. Have its graphics be invisible, and make sure that it is below hero. Name this parallel process, “Wall Flatten Command.”

Now in this event, create a new password command. In the password command event, use the variable “WallFlatten.: Choose the “(5):box, and make sure that the “Wait Until Key Is Pressed:box is not checked. Hit the okay button. Hit the ok button. Then create a “memorize hero position:event. In here, use the variables “heroX:”heroY:and “heroID,:in their respective box. Once that is done, hit the okay button and get out of that event.

Next, create a new event. Make this event “push key.: Have its starting condition be the switch “WallFlatten.: Make its layer be on the same level as the hero. This is so that your character won’t be able to walk on this event. Name this event, “unpassable area.: Now copy and paste this event all over your wall, except for the bottom part. Look at the example below if you don’t know what I am talking about. (Remember! Cntrl + C and Cntrl + V work in rm2k!)



Next, create a new event right below the last wall tile. Put the event on the very left side of the grass. Make its graphics that of a guard. Make it push key, level be the same as hero, and make its movement pattern be back and forth horizontally. Name this event, “guard.: Basically, this event will go back and forth on your map, working as a guard. The goal of this tutorial is to make your hero able to press himself/herself against the wall, allowing the guard to go past without bumping into you. Sneaky!

Now, go into the database (F8), and go under the “chipset:tab. In here, find the chipset that you used for the map that you created, and make a copy of it. In this copy, name it “(x)2:replacing (x) with the original map name. Now the only editing that you want to do to this newly copied chipset, is to make the wall tile that you used passable, instead of impassable. Hit the apply button and the ok button once that is finished.

The next thing that you need to do is get the Y coordinate of the area where the guard walks. Since you aren’t moving up and down, you don’t need the X coordinate in any of this. (Thank you Geometry And Algebra!) If you followed the map creation exactly like what was stated above, this number should be “3.: If you did not however, you can find it by looking at the example figure below.



Putting In The Commands For Wall Flattening Action!â„¢

Now it is time to return back to the “Wall Flatten Command:event. In here below the memorize hero position event that you put in when you were at the event last, create a brand new fork condition. In here, make the fork condition say, “IF variable ‘WallFlatten1’ is equal to ‘5,’ then,:below that (not in else or end case) make another fork that asks “IF variable ‘HeroY’ is equal (not greater than, etc.) To ‘3’, then:make the switch ‘WallFlatten’ turn on below that. Then make a fork option that says, “IF switch ‘WallFlatten’ is set to ‘OFF’ then,:(not sure if this is necessary, but I put it in as a fail-safe) Put in a wait for 0.1 seconds event. After that, put in a change chipset/tileset. In here, make the chipset be changed from the one you were using to the one that you created earlier. Now below that, put in a new move hero event. Make it make your hero face up, move up on, and then change graphics. As for the change graphics part, you would want to create a new character set of what your hero would look like pressed against a wall. I myself have no ability in drawing, so I am not going to attempt to create something, but would want to create this, and then change the graphics of your hero to this new character set that you have created. Just make sure that you have animations, and that every single direction would have the same graphics. After that, put in a wait 0.1 seconds event. Leave the else and end case blank. Hit the apply and then the ok button.

Next, create a new parallel process event also on that map. Name this event, “Wall Flatten Command 2” Make it’s starting condition switch be “WallFlatten” So as you can see, “Wall Flatten Command:was the command to flatten, “Wall Flatten 2:is to unflatten. Create a new password command in this event. Make the variable that it uses “WallFlatten2.: Choose the box with the “(1,2,3,4).: Make sure that the “wait until key is hit:box is not checked, as usual. Hit the okay button. Next, create a fork condition that says, “IF variable ‘WallFlatten2’ is equal to ‘1’, then,:have the fork condition, “IF switch ‘Wallflatten’ is ON, then:(this is also a fail-safe), then have it wait 0.1 seconds, and then put in a new move character event. Have your character’s graphics change back to normal, face down, and move down. Change the chipset back to the normal chipset of the map. Then turn off the switch “Wallflatten.:

Now try wall flattening when the guard goes by. The guard should be able to pass.

So that is all that there is to creating a wall flattening system in your RPG! Awesome! Remember that this is just the engine for wall flattening. You can implement this into things like guards being able to see you and such, (for stealth concepts), or whatever you would want it for. Feel free to expand!

Remember,
“Even The Greatest Gamers Were n00bs.”
- ATARI