Game/Plugin maker
Dec 4, 2016
Reaction score
First Language
Primarily Uses
I've been working on a game for the last few weeks and wanted a realtime battle system. The Chrono engine didn't provide what I wanted and it wasn't exactly easy to set up.

So I figured why not make my own?

- Attack animations
- Weapons can deal more damage
- Ranged weapons (they are armors though, so you can't use armor with this plugin)
- Ammo for ranged weapons and durability for weapons
- Enemies
- NPCs that can battle enemies
- Enemy pathfinding using flow maps
- Some more I'm probably forgetting right now

Setting up the plugin(s)
This is the first time I'm writing this down, so forgive me if I forget anything.

Download the plugins and arrange them in the right order.
You can download the plugins here (press the green code button > download zip).

Then add them to your project in this order:
- JOMY_Core
- JOMY_PathfindCore
- SHAZ_SmartPathfinding (this requirement will be removed in the future)
- JOMY_Stamina (optional; adds dashing stamina)
- JOMY_eventDetection
- JOMY_inputManager
- JOMY_keyboard
- JOMY_renderCore
- JOMY_RTBS_animation
- JOMY_RTBS_bulletAttack
- JOMY_RTBS_weapons
- JOMY_RTBS_enemyPathfind
- JOMY_RTBS_HealthBar
- JOMY_RTBS_ActorHud (optional; display actor hud with stamina, health, equipped weapons)

Setting up a map
Add a new event somewhere, don't forget to enable "through" in the options of the event. Add a note with <RTBS-setup>. You can use this event for setting up other things as well, the RTBS plugin just requires it to be present.

Adding an enemy
- Add a new event
- In the note of this event, add <RTBS-enemy>.
- Now you can customize it by adding comments!
Example event:Schermafbeelding 2022-05-17 om 16.19.06.png

Everything below the == Sound == comment isn't important for RTBS.

Let's go over the comments:
- Attack and Health are pretty self-explanatory.
- Speed is how long an enemy waits before attacking again (in milliseconds)
- AttackAnimationId is the animation id that will be played when an enemy attacks (you might want to scale down the default animations if you'll be using that)
- PathfindRadius is the radius in which an enemy will check for a player or a battler
- WanderRadius is the radius in which an enemy will wander from its current position. The enemy will stay stationary (except when it spots a player) if this is not set. This is here because the default RMMV "random" movement is not compatible with pathfinding
- WanderTime is the time between choosing a different spot to wander to
- HPBar set this to shown if you want a health bar to appear above an enemy when it is attacked

Now, add a new event page with self-switch A. This is event page will be called when the enemy dies. So for example, you could fade out the enemy's body:
Schermafbeelding 2022-05-17 om 16.26.37.png
(ofcourse you'd want to use another self switch to go out of this event page once the fading is done.)

Adding an NPC Battler
You can have events that will attack enemies.
Add <RTBS-battler> to the event's note.Schermafbeelding 2022-05-17 om 16.28.07.png
Note explanation is the same as for an enemy.

Adding weapons
Add a new weapon in the database.
Change its attack. This will be the weapon's attack.

For the animation, choose an animation. If you chose for example animation 1, this will be the animation when looking up, animation id 2 will be used for attacks looking down, 3 is left and 4 is right.
Add RTBS-durability: <number> and RTBS-speed: <number> to change the attack speed and durability of this melee weapon.

To add a ranged weapon, rename the second equipment type to Ranged Weapon and in the terms, change armor to Ranged Weapon.
Now, in armor, create a new ranged weapon. Change its attack. And you can add any of the following notes:
- <RTBS-ranged-alerts>: if this is present, the ranged weapon will alert nearby enemies
- RTBS-ranged-ammo: <number>: the item id of the ranged weapon's ammo. This means that the weapon will require the item to be present to shoot and will use up ammo when shooting
- RTBS-ranged-cooldown: <number>: the amount of time before the player can shoot again after firing a shot.

And I think that covers all of it.
Feels great to finally write down a reference for other people that are interested.

If you want a companion for the player, check out my companion plugin.

If there is anything that's unclear, feel free to leave a comment, I'll be glad to assist you.

I'll probably make a downloadable demo one day and upload a demo video.

Do note that the plugins are still under development, but most of the plugin is already quite solid. So new features might be added in the future, so keep an eye out.

License: use if for whatever you want, just give credit. You are allowed to edit the files, as long as you state this.
Last edited:


Aug 21, 2021
Reaction score
First Language
Primarily Uses
Hello, I just setting everything you said and when I start the game I get this error:

error battle.png

any solution?


Oct 8, 2018
Reaction score
First Language
Primarily Uses
A demo should be usefull as well even if it's simple.

as Chrono Engine doesn't have it all, there is AlphaABS (AABS) as well.
your command seems the same as chrono engine with a small difference,
as I want to aim for the ABS if possible, mainly sword slash at most and
arrows were possible.

I also notice NPC to fight which is new or difference.
but I dont know if it requires ALL plugins for a simple sword slash, arrow shooting?

Latest Threads

Latest Posts

Latest Profile Posts

The main game of my trilo/saga 50%OFF on Steam..... its now or never more
I swap between Ace and MZ so I can stay fresh but - what do you mean you can use subfolders in the plugin's folder for easier organization!?
Did some new music again, praise be. To the next song!
Watch Studio Blue play Numina by starlit in our latest RPG Maker Games Critique stream starting NOW!

Forum statistics

Latest member