Gw Temp

Menu

Tutorial - 'Extreme Sport style Minigames' by Kunio

An item about RPGMaker 2000 posted on

Blurb

An in depth tutorial on how to create extreme sport style minigames for your game.

Body

This tutorial can be used to create any type of auto-scrolling game like skateboarding or snowboarding. You can have 6 different inputs. The example I'll use utilizes 2 movement inputs and 4 trick inputs. Since it auto-scrolls sideways I used up and down to evade obstacles and left, right, enter(confirm), and Esc(cancel) for the tricks.



First off you'll want to create some new graphics. You'll need new walking graphics which will need a blank/clear set (only the index color) and some trick/jumping animations which are created as battle animations. And finally a map. I made it as long as I could: 500x15.



After you have the map a new walk graphics, mine has Kunio on a skateboard, and at least 1 trick animation, I have a Kick-flip, Pop Shove-it, Mute Grab, and Front Side Grab, you can start with the coding.



You'll probably want an event that leads into the map 'cause the skating event is a parallel process. So have a couple skaters hanging around or a ski lodge, whatever and ask if your character wants to skate: Show choice.



Now on the skating map, make an event that is a parallel process. Now you'll need 2 new variables. Mine are called "Skate Control" and "Skate Graphic". In the event have a Move Event that moves the hero to the right once (Move Event...: Hero ,Right). Now make another event that subtracts 1 from Variable:Skate Graphic. Now make a command that disables the system menu. This usually isn't a problem, but if you're moving around a lot and doing tricks, sometimes the sub-menu will appear when it isn't wanted.



Now you'll want to make a fork condition without an Else case that will fork when "Variable: Skate Control is less than 14". Almost all of the code will be within this fork, because it will make it so when you input a command it won't cancel into another command when another button is pressed.

First thing within the fork, you'll want to have an Enter Password command that accepts all inputs (check all three boxes) and changes Variable:Skate Control.

Next, within the initial Fork, you'll want to make a number of Forks for every trick you want. In our case 4 forks.

For each of these Forks have their condition be that Variable:Skate Control is EQUAL to a certain value. The possible values are 6:Cancel/Esc, 5:Enter/Confirm, 4:Up, 3:Right, 2:Left, and 1:Down.

For now we'll make ours 5 or Enter/Confirm.

Now within this fork we'll first need to make a move event that changes the Hero's walk graphics to the clear set we made earlier. Then make a command right after that to show the trick animation. Make the animation target the hero and make sure wait until the animation finishes is NOT checked. If it is checked, the hero will stop because the very first move event that causes the scrolling wont execute until the animation finishes. Now have a command that changes Variable:Skate Control to 0. This will reset the input variable so that we can put in new inputs. Then have another command within the fork that sets Variable:Skate Graphic to 22. This variable will be dependant on how long your trick animation is as it is a sort of timer that keeps the Hero's graphics invisible as the trick animation executes. This goes back to the beginning of the code that has this value decrease by one each time the Parallel Process cycles. End case.

Now make Forks within the initial Fork for every trick you want. End Case.

Now make a whole new Fork outside anyother previous Forks. Have this Fork's condition be Variable:Skate Graphic be EQUAL to -14 (negative 14). Within this Fork have the hero's skate graphics change back to the skate graphics. End Case.

Now we'll make 2 other Forks with conditions Variable:Skate Control EQUAL to 1 for down and 4 for up. Within these two forks have a move event that moves them up-right (not up then right) for 4/up and in the other Fork have the hero move down-right. In both Forks have Variable:Skate Control set to 0. This will, again, reset the input controls.

Whew! We're almost done!

Now make a whole new event that is also a Parallel Process. The commands in this event can be executed through another event like the NPC the hero would talk to before starting the skating mini-game. Whatever the case have the event have a command that changes the Variable:Skate Graphic to -20. This will make it so that the first Fork in the other event can be accessed and the whole mini-game can work. As an option you can control the speed of the event with a move event command. Now have a command that will turn this event off. Make a switch that goes to a blank page on that event. But if the event was an NPC you won't need to worry about this.

At the end of the track have an event that makes the hero return to the skaters, or whatever and reset all the graphics, walk speeds, etc...

Even though these tricks look cool, what good are they for a mini-game. Well you need to make some obstacles.

Whenever you have an obstacle make it an impassable chip on the lower chip level. Now on the upper chip level make an identical graphic, but make this one passable.

Lay out your track and whenever you have an obstacle make a new event with the upper chip graphic, but make it only appear when Variable:Skate Graphic is above 1. (Note: that since you can only have variables be above a certain number we have to use subtraction with the custom timer we used to keep the hero invisible during the trick animations.

To sum up these obstacles, they become passable when your character is doing a trick.

There are many other types of obstacles that you can make. You can make pits that are events that, upon here touch, will cause a fall animation or even end the event. With the obstacles I first explained, if the hero doesn't jump the obstacle, they will be held back. So you can use a timer, explained well throughout many great tutorials on this site, to rate the hero and award prizes. It's good to have tricks that vary in length so that the player has to use the right tricks at the right times to maneuver through pits of varying length and maybe small platforms that they can only stay on for a moment. Now if they land on certain platforms they could earn points that can also be used to award items.



Now for a snow boarding game you just change the constant move event to down for a look like ski-free or have the movement down-right for a look like Sonic the Hedgehog 3. You can also have jumps that will automatically execute animations that aren't in your normal tricks. You could have several jumps lined up next to each other with a pit behind all of them and you can't see the end of any of them. That way they'll have to guess the right jump or maneuver in the air at the last moment. If you want more tricks you can have values that are combinations of inputs like 11. Cancel/Esc+Enter/Confirm (6+5=11). So have a fork with conditions of Variable:Skate Control EQUAL to 11. I haven't tested this so, I can't confirm these extra tricks possibilites.

Right now I'm working on another skateboarding game that is purely 2-D with out movement so it will allow for 6 tricks. It will require lots of rail grinding to evade pits, plus the usual jumping. I'm also working on a snowboarding one that will have cool turning animations with snow spray for a slalom event and another one with tricks.

I'll keep working on these and other mini-games to find out more cool stuff to do in them. If you use it PLEASE give credit 'cause you're a HUGE scrub if you don't.

One last thought. You could incorporate some of the shooting tutorials found on this site with this mini-game to have a seudo-shooter type game where you could take out enemies and obstacles with missiles, bombs, etc...