To help game developers build the battle system of their dreams, I’ve developed the Grid Battle Engine, which is a suite of plugins that allow you to add new mechanics to your game.
The Grid Battle Engine allows you to turn your default battle system, into a grid battle system!
First you start with your default battle system like this
And then you add grid battle on top, to turn it into this!
It’s basically the default battle system that you’re familiar with, except we add a couple things to it
- One or more grids.
- Battler positions on each grid.
So what’s so special about grid battle? Isn’t it just changing where the sprites appear?
The grid battle engine itself allows you to create and manage grids. You can then install add-on plugins that will provide additional mechanics depending on what kind of battle system you want to make.
For example, one of the add-ons allows you to create Area of Effect targeting, which allows you to create your own area of effects and then assign them to your item or skills so that you can target multiple battlers with a single action!
With the grid battle engine, you can add a lot of new functionality to your battle system without having to change the rest of your game. You can also use different types of battle systems in the same game, for example if you wanted to create some mini-game arena challenges, or have a map-based battle for certain parts of the game.
The possibilities are endless.
This plugin can be used in both MV and MZ. Instructions are the same for both.
A quick getting started guide can be found here:
There include fixes and other things that are separate from the plugin, or I haven’t merged it with the plugin yet (for example, bug fixes)
Main Patch file: download here (last updated 2020-08-23)
Contains fixes and other bug reports. You should install this under the other grid plugins.
The plugin parameters come with a few options
The Default Grid is the name of the grid config that the game starts with. This can be changed later on using script calls.
Show Grid simply lets you choose whether the grid outline will be displayed. You can turn this off if you don’t want to see it.
The Grid Configs is where you set up your grids.
Managing Battle Grids
The grid battle engine works with two concepts
- Battle Grid Config
- Battle Grid Data
Battle Grid Config
The config describes the entire battlefield. It has a name that you’ll use to reference this config, and a list of grids. In the plugin parameters, you can set up some default configs that will be used in your project.
You can click on an existing config to edit or, or click on an empty row to create a new config. I have provided two sample grid setups for you already that you can explore.
Start by filling out the name for the config, and then click on Grids to set up the grids for the config.
Battle Grid Data
The grid data itself describes the properties of the grid. Here’s how it looks in the plugin parameters. You can have one or more grids per config, so you can just click on an existing grid to modify it, or click on an empty row to create a new grid.
Let’s go through each property
- The Tile Width of each tile in the grid, in pixels
- The Tile Height of each tile in the grid, in pixels
- Number of Rows in your grid
- Number of Columns in your grid
- Screen Offset X is the number of pixels from the left of the screen
- Screen Offset Y is the number of pixels from the top of the screen
The highlights are the colors that will be displayed for the tiles under specific circumstances, usually for target selection.
- Empty highlight is when there’s no target (eg: empty tile)
- Damage highlight is when the skill has “damage” type
- Recover highlight is when the skill has “recover” type
- None highlight is when the tile isn’t highlighted
For party positions, you can set up the default positions for actors in the party. You can add more entries if your game supports more actors in the party. The ID is the order the actor appears in the party, so 1 is the leader, 2 is the first follower, and so on.
You should create as many rows as needed based on the max number of party members, otherwise the game will crash since no position was able to assigned.
For Enemy Positions it’s the same set up, except it’s based on enemy order in the troop. The order by default is the order that they’re added to the troop, but if you have other plugins this might not be the case.
Again, you should make sure every possible troop enemy has a position.
Multi Grid Positions
Each grid can have their own party and enemy positions. This means that you can basically move actors and enemies to different grids. The default “Two Grid” config comes with two grids, one with 4 party positions, the other with 8 enemy positions.
You could extend this to as many grids as you want. For example, if you wanted a three grid “pincer attack” system, you can set up a config with three grids, set the screen offset of each grid appropriately, then place enemies 1 to 4 on the left grid, actors on the middle grid, and enemies 5 to 8 on the right grid. This is how it should look:
I need help. When I start a battle, the grid doesn’t appear. I added the patch, and it didn’t work.
This developer doesn’t respond to questions, FYI. Many of these questions are 6+ months old.
Perhaps the Discord is best way to reach them
Can I set on what tile each enemy spawn at the beginning of the battle?
also, is there any way to add custom graphics to the battle system? like changing the “selection tile” image and the tile border.
Would anyone mind explaining how to use this plugin? Usage in the grid battle script just says to set a common event without explaining how to set it up. I feel so directionless on how your suppose to initial battles with this. The initial release tutorial is somewhat helpful, but doesn’t demonstrate how to set up the event for this. This script seems like it took a lot of work to create so it’s a shame there is so little explaining how to use it. If you have gotten this to work, I humbly ask you to take the time to explain how you did so; it would be very much appreciated! If I manage to figure it out on my own, I’ll make a follow-up post.
It turns out I was overcomplicating things. All you have to do is just begin a battle like you normally would, except you have to have “use side-view battle” checked. You do not have to both with script calls or anything for it to work. I feel like a fool for not realizing this right away, but there you go. To be fair, this was never directly stated, but hopefully I can spare anyone the trouble I needlessly put myself through.
It would be cool if enemies and actors had the ability to move between free tiles mid-battle, like, to try escaping from the enmey attack range for example
Hey there, I am fairly new to a variety of plugins – I am having trouble getting this to work. When I encounter a battle i get an error that asks me if I called the grid, grid_name.
It mentions “call” the grid – do you mean just it’s name? I used the One Grid in the plugin. Am I supposed to set up a specific type of event on each map like the tactical plugins out there?
Or am I just not doing something simple?
It says “failed to load grid”. So I’m guessing i’m not setting this up right.
Can’t run the game with these plugins installed. “Failed to load data/Map999.json”
No idea what that map is and where it’s supposed to be. What’s up?
Look in “HIME_GridTargetArea”. The default value for the Area of Effect Map is 999, so the plug look for Map999. You could change that value to 1 to so the game uses Map001 as the AoE map instead to get rid of the issue.
Hello Hime, I have a suggestion.
The possibility to move the battlers and attack if the target is in range (adjacent tiles).
We could make something lilke a game called Robotrek for SNES (Slapstick Super Famicon)
Can this be used in conjunction with Yanfly’s Rows plugin? Or, are row-based attacks (such as limiting a skill to targeting the front-most row instead of any whole row) possible in this engine? Thanks so much!
I really like this plugin but I’m wondering if it’s possible for me to use this in conjunction with the YEP_CTB battle system or if its strictly it’s own separate system?
The grid engine is designed based on the default battle system, so if CTB is also built on the default battle system, then it might work.
A visual tutorial like a video would help setting up this plugin for newbies.
Sorry, I don’t really do video tutorials. Maybe I’ll hire someone to make videos.
For now there’s a getting started guide that I think might be visual enough: https://himeworks.itch.io/grid-battle-system/devlog/172117/initial-release-getting-started-guide