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: