Anyone know how to build a Tactics RPG Battlefield?

Just need someone who can point me in the right direction of learning how to design Tactic RPG game style Battle Fields, or would like to help out with my project! Simple enough, anyone know any good tutorials?
This is the Thread, we have a few people who are already on board if anyone else is interested. We have Designers, programmers, and music. All the help welcome!
https://forum.unity3d.com/threads/recruiting-a-team-to-make-a-strategy-tactics-rpg-ex-final-fantasy-tactics-ogre-tactics.487860/

I pursued this for a time.

I wanted the square terrain of fft, or tactics ogre, so I looked up making voxel terrains. There is a fantastic tutorial out there for that. That gave me the look I wanted, but if you’re going to design your terrains by hand, you’ll need to make a map editor that allows you to do that.

The alternative would be to model the terrains in blender or whatever, and script a way to lay a grid on top of the mesh.

Use abstract, virtual, and interfaces to define functionality and data that is common to all characters and actions.
Ie. All characters have hp and mp and can move, and execute a basic “attack.”
You’d then override the appropriate functions to work the way you want- ie. Bow user “attacks” differently than a sword user.

Then you’d have to make an AI system at some point, which would have to take the players characters and actions into account to decide what to do.

There are some good resources on redblob on orthogonal pathing if I remember.

1 Like

Well, the basics for determining/creating a JRPG-style tactics playfield is a simple 2D grid, with height information for each individual tile. Ideally, you would also need logical links between the individual tiles, for querying the relationships between them. Alternatively, you could create a few functions that acquire that data on the fly, given the integer index value of an individual tile within a basic array of tiles with the width and height of the rendered array. I personally prefer the logical link approach, as it makes writing scripts a bit easier, but this approach might not be for everyone.

The rest is details built on top of this basic data foundation. It would mainly involve determining a character’s current location, and then getting a set of tiles based on what tile they are currently standing on. This would be one of the primary factors determining what a character can do and where they can move given their present location.

All of this is actually fairly easy to achieve in Unity. Putting together a decently solid and flexible back-end for a system like this should be relatively tame. It’s mainly just some technical wrangling.

Consider what contribution the grid truly creates.

I personally had initially figured I’d use a 2D grid as well for a game I’m working on, but after reading this thread and pondering it I realized there was no justifiable reason other than “nostalgia” or inertia.

Using a grid allows for the rules of the game to be tied to a simpler system. It also allows much fewer calculations for the various rules. All of this helps to produce an experience that is easier for the user to grasp and learn.

There is certainly merit in attempting a non-grid system. But you will be making a more complicated system that will require a greater number of calculations for every action. It’s fine to go with this approach, but it will become much more complicated to teach the player the rules of the environment. You also open yourself up to a greater number of potential bugs.

“Nostalgia and inertia” is a short-sighted view of the topic. Yes, a grid-based approach is simpler. But that in itself has value. Starting with a simpler base allows for greater flexibility when dealing with the rules and mechanics. A simpler base is less likely to break under such experimentation.

2 Likes

Create a 2D grid of ‘Tile’ objects. Allow said tiles to have different properties, such as a height level, terrain type and so on. Make sure each tile stores a reference to its up, down, left and right tiles. With that, you’ve got a way of working out fights between tiles.

Then make sure you have a way of keeping track of where your players are on that grid. I’d probably give each player or unit a reference to a Tile object so that if they attack an enemy, the tile types and properties can be directly compared. Calculations can be done based on that. If you build off that, you can create all sorts of complex behaviour.

First thing ya should do is buy MapNav2 on the asset store. Don’t try to make the grid yourself use this asset. It has everything you need to make a final fantasy tactics style game. I am deep into making my own tactics style rpg and I love this asset.