Search Unity

Anyone know how to build a Tactics RPG Battlefield?

Discussion in 'Game Design' started by MarineTyler, Aug 14, 2017.

  1. MarineTyler

    MarineTyler

    Joined:
    May 9, 2017
    Posts:
    2
    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/r...ex-final-fantasy-tactics-ogre-tactics.487860/
     
  2. LMan

    LMan

    Joined:
    Jun 1, 2013
    Posts:
    493
    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.
     
    PanzaDePiedra likes this.
  3. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    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.
     
  4. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
  5. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    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.
     
    fenrirans and EternalAmbiguity like this.
  6. HolBol

    HolBol

    Joined:
    Feb 9, 2010
    Posts:
    2,887
    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.
     
  7. Burglebutt

    Burglebutt

    Joined:
    Jul 24, 2014
    Posts:
    51
    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.