Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

VX ABS (Events)

Alright.  I dislike all the other tutorials on here that support event-based action battle systems.  They are quite buggy frequently, and frankly, don't make much sense.  I think I've come up with the easiest formula for making the framework to an ABS.  My game uses this framwork, but I've added a heck of a lot more, but I won't be posting that for the public.  For now, here's how you make a very basic ABS with events.




First of all, my favorite type of action battle system is similar to Quintessence.  Where you encounter an enemy then flash to a new screen with an enemy and the battle commences.  This is what this supports.  Of course, if you want, you can make this battle system on a large map with 50 monsters.  Have fun writing the 50 event pages that are long enough with one monster.  Sounds like fun.  Anyway, here's the set-up.


For starters, make a basic map with a roaming monster.  When you touch it, make a transition to a new map where you turn on any health HUDS you have and whatnot.  Now, put any random foliage and do the mapping. Leave enough open space so the battle can actually take place, though.

Near the lower right or left part of the screen or wherever you want, start a new event.  Call it "Positioning", and make it Parallel Process.

Bring up the event commands, and go to "Control Variables"
Create a new variable and call it "Hero X" or "Player X".  Whatever you prefer.
Operation: SET
Operand: Character > Player > Map X
Click ok. 

Make another new variable.  Call it "Hero Y"
Operation: SET
Operand: Character > Player > Map Y
OK.

Make a fourth variable.  Call it "ABS Monster X"
At this time, go ahead and make a random event away from the hero.  give it a Ghost or whatever character graphic, and name it "Monster".

Go back to your variable event.  In your ABS Monster X, do the following:
Operation: Set
Operand: Character > [monster event name] > Map X

Do the same thing, but do it with Map Y instead for your monster.

Go ahead and finish that event.

you have now completed the set-up of your ABS!


So far so simple, huh?  Just setting up four variables and about one switch is all this ABS needs.  When you've finished that and got a snack, move on to part 2.



Here's where it can get a little tricky.  Hold on, though.  I got ya covered.

Next to your variable event, make a new event, and title it "Enemy HP".  Make it parallel process.

In it, start a variable.  Call it : "Enemy Health"


Operation: SET
Operand: Constant > 8


You can edit the Constant to whatever you want, depending on the monster or whatnot.

After that, put Control Self Switch: A on.  Make a new page in your event.

On page two, start a conditional branch.  Set it to Variable: Enemy Health is Less than or equal to Constant: 0.

Inside the conditional branch, not where it says "Else", make a switch called "Enemy Dead" turn on.  Then, put any victory ME you want and a teleport back to where the player was on the previous map.

Ta-da! Now when the player kills the monster, everythings set up.  Easy as pie, wasn't it?

Time to actually set up the monster.  In your monster's event page, set the Autonomous Movement to approach.  I like to set the frequency to 6 so the monsters movement looks fluid, but you can set the speed to whatever.  Now, for a ranged monster, the programming would be different, but thats for advanced eventing that I don't plan on doing, so keep it to approach for now. 

Now, in Trigger, click Event Touch.  That way, the player only gets hit when the enemy touches him, not vise-versa.

In the enemies' event commands, go to page 2 and click "Show Animation"

If you are using a ghost or something, probably just use "Hit"

Anyway, make the animation on the player, and pick whatever animation you want to be used for when the player gets hit. Click OK.  Then, head to page 3, and choose "Change HP".  Make it Entire Party.  It shouldn't matter, because you will probably use a one player party because events don't do squad based ABS.  Operation: DECREASE. 

Operand: constant > ~100.  Pick whatever.  Aluxes starts with like 770...so 8 hits should suffice, no?

Then, click OK.  Head back to page two with a new command.  Put "set move route"  the move route is for "This Event".  Then, click "Move Away form Player" two times.  Then make Self Switch A turn on.  Make a new page (make the graphic the same as your monster graphic), and then put Self Switch A activates it (MAKE IT PARALLEL PROCESS).  Make a wait command for about 15 frames, then Self Switch A > Off.  you should have three pages for the the enemy now.  (commands, waiting, and dead)

Don't forget, though, to make a second event page and make it completely blank.  Make the event page only be used if Switch: Enemy Dead..is on.  Yay!!


So far, we have three events, one switch, and about 5 or so variables, and we're almost done!  The hardest part is done.  The net part is boring and time-consuming, but it isn't hard.  One more event to make, kiddies.





Make your third event down where your other two are.  Set this one to, you guessed it, Parallel Process.

Make a conditional branch, on page four, and make it so Button: "Y" is being pressed.  With RMXP's resetted controls, this means the "S" key, basically. 

Inside the conditional branch, make ANOTHER conditional branch.  Page 3, Character > Player > is facing UP.

Inside that second conditional branch, do the following:

Control Variables: Player Y Subtract 1

Conditional Branch: Variable Player Y is equal to Variable Enemy Y.

Conditional Branch: Variable Player X is equal to Variable Enemy X.

Show Animation: [enemy event], Sword, Spear, whatever your main character's weapon is

Control Variables: [Enemy HP] Subtract 2

wait: 3 frames

Self Switch A > off



then stop.

took a while, didn't it.  Yeah, well, life isn't a bag of chips.  That made no sense.  Oh well, don't give up.  Only three more sections of that and you are DONE.


After the Conditional Branch: player facing Up is finished, go directly below that.  Start a new conditional branch.


Player is facing: Right
Control Variables: Player X add 1
conditional branch: player x is equal to enemy x
conditional branch: player y is equal to enemy y
show animation
variables: enemy HP -2
wait: 3 frames

Self Switch A > off


there.  now, do the same thing again beneath that section.


conditional branch: player is facing left
variables: player x subtract 1
conditional branch: player x equal to enemy x
conditional branch: player y = enemy y
animation
enemy HP -2
wait: 3 frames

Self Switch A > off



Alright.  Almost done.



player is facing down
player y +1
player y = enemy y
player x = enemy x
animation
HP -2
wait: 3 frames

Self Switch A > off



Guess what.  YOU ARE DONE!




When setting up another fight, copy the events, but switch the two enemy variables for a new enemy event coordinates, and switch the battling enemy location variables to the new ones.

Easy.  Peasy.  -_-




RPG MAKER XP VERSION:
http://www.box.net/shared/j5qegs78k8


RPG MAKER VX VERSION:
http://www.box.net/shared/5z73sjiqsc
 
bump, because this works on VX.

And people that want an ABS in VX (lots of people) can just use this event system if they wish.

That is all.
 
The ABS I'm eventing is quite similar to his, except about 48023720 times more confusing :P  I've got a gazzilion events and sooo many attacks per "character" (and 50 characters, it's a pokemon game).

Good tutorial.
 
Actingman00":3rpwjane said:
The ABS I'm eventing is quite similar to his, except about 48023720 times more confusing :P  I've got a gazzilion events and sooo many attacks per "character" (and 50 characters, it's a pokemon game).

Good tutorial.


o.o That would take freakin years.

I just wanted to make this as simple as possible yet as effective as possible, so people could actually use it.

I might upload it in VX, cause I can.

Thanks for a real comment finally. XD
 
Lol yesterday as soon as I foun this I had to go to bed but I just got on and finished it in no time  :smile: thanx for the tut
 
xephyr14":18teaj2t said:
Actingman00":18teaj2t said:
The ABS I'm eventing is quite similar to his, except about 48023720 times more confusing :P  I've got a gazzilion events and sooo many attacks per "character" (and 50 characters, it's a pokemon game).

Good tutorial.


o.o That would take freakin years.

I just wanted to make this as simple as possible yet as effective as possible, so people could actually use it.

I might upload it in VX, cause I can.

Thanks for a real comment finally. XD
Yeah it's taking a really, really long time :dead:
 
Wow, what diligence. O_o
But it was great! (the only thing missing is an HUD)
but why is the characters attack anim just a slash?
Well anyway good work, I might use this!
and promote it... :D
 
There is more than one way to make this, and make Projectiles....
If anyone wants I can load a demo with all of that In another thread.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top