Ue4 navmesh or grid based system

hi everyone

I’ve been working on my project for some time know(turn based tactical game) and I’ve made big changes in the concept of the game( i started the project with a grid based system ). One of the fundamental changes was that I went to a combination of turn based and a third person view , so that if its the player’s turn, The movement is carried out in real time in a third person view until shooting or preforming other ability.

So recently I started to question whether I should stay with the Grid based system or to use the built-in ue4 navmesh system (because know i need it almost only for the ai).

I’m at the crossroads know deciding which direction to go and I’d be very happy to hear your opinion on the subject. what are the advantages and disadvantage of each one?

Thanks in advance
Leo

hi shrikky

thanks a lot for your input…
and what about Performence/ optimization wise?

cheers

leo

Let is be a grid system or hex based system. It is always better to have your own control. If you are making a significantly large game, which emphasis on “Location”. It is better to have a your own system. Using a simple A Star you can navigate everything. We are working on a Turn Based tactical game currently (that project is in UNity though). However, we are using a combination of nav mesh and A* for path finding. We have no regrests.

Pros of In-house path finding :

  1. Highly customizable.

  2. Usually bugs can be solved without having to look online.

  3. You are not at dead end because of the API (UE4 or Unity).

Cons of In-House path finding:

  1. It is high initial investment

  2. You have to make sure its a pluggable tool, in the sense, you can whitebox everything in an empty map with few

hexes or squares. It is not exactly a con, it just means that you have to maintain a good modular standard so the designers can play around with level design without having to bug you a lot.

Well it depends on what type of turn based game you are making, hybrid would suite some of the games, while just purely hexes or grids will suite some.

For example, we use A* to find the shortest path to a hex (The A* assumes each Hex as a node). However for traversing through the node we use the nav mesh as we have varying heights which is much easier and efficiently calculated by the Nav mesh system. We also have blockers which both the nav mesh and A* is aware of, to make sure the route is calculated properly. This hybrid also makes sure the navigation doesn’t cut the hexes in wierd angle. It should look correct when moving from one hex to another

IK for animation also plays a role here to make sure the feet sliding on the terrain is handled properly.

Overall I would say you won’t lose performance going hybrid as it is a turn based game. I assume each player at least takes a few seconds to complete their move. If you can however stick to one system, even better. But on a bigger game with more abilities and features, you will eventually find a reason to have both.

hi shrikky

I appreciate your help very much, you helped me a lot!
I did not think of a combination of the two systems and indeed it makes a lot of sense to use them both.

one thing i didn’t understand from your post is - in the con of in house path-finding, no 2- if you could explain more on that it will be great!

cheers

leo

So ideally, you have to make the tool as friendly as possible such that if you level designers plan to open a new map, they should be easily able to make a grid and start prototyping. It should be as modular as possible. Lets say tomorrow you start a new project, you can just import this tool and make another turn based game. Once a base tool is set up, designers can prototype easily. Also make sure to use a lot of data tables and separate the data and logic as much as possible. So the designers can just tweak the data table for any prototyping purposes. One good example would be - Units, you can haev a data table that has all data related to units, what blueprint, attributes etc. So when Map1 starts, you can go through data table and spawn the units in numbered hexes.

hi shrikky

thank you so much for all the help and information you gave me

leo

No problem, glad I could be of help.