2
\$\begingroup\$

What are the pros and cons of using a 'square' or 'space' based character movement mechanic vs using a free movement mechanic?

  • Square/Space - Movement on a ridged grid using 'squares', 'hexagons' and 'triangles'
  • Free - Character can move to any valid position on the game board

Some examples of 'Square'

  • Final Fantasy Tactics
  • Zoids Assault

Some examples of 'Free'

  • Star Craft
  • Age of Empires
  • Baldur's Gate

I am designing a game that is a Tactical RPG my current idea is to use a square grid with a standard character size of 3x3 or 5x5 so that the maps tiles are more granular.

\$\endgroup\$
  • \$\begingroup\$ @Close Voters, pros vs cons lists are not "primarily opinion-based". It's really fairly simple to see why and how there could be actual, fact-based reasons why there could be advantages or disadvantages to various game design concepts. Consistently closing these style of questions harms the community in general. \$\endgroup\$ – Attackfarm Jun 1 '15 at 3:07
4
\$\begingroup\$

Both of these examples are commonly used because they both have their advantages and drawbacks, mainly on the programming side of things.

Square/Restricted Maps

Pros:

  • Easy to program, positions can be stored in tile-coordinates as integers and/or in world coordinates.
  • Easy for the player to understand
  • Fast
  • Fairly easy math

Cons:

  • Very restricted in movement positions
  • Diagonal movement is a pain to implement and takes much more processing time, depending on implementation ofc.
  • Low path quality

Free-movement Maps

Pros:

  • Extremely intuitive (aka click here and the "character" moves exactly there)
  • More natural looking

Cons:

  • Very computationally heavy
  • Often requires a pre-generated map and a separate navigation map with valid positions.
  • Hard to implement
  • Takes a large amount of RAM
  • Many duplicate edges

Note that you can get around some, but not all, of the limitations of both of these methods. You can reduce the amount of stored and loaded edges in the free-movement situation at the expense of the perfection of the paths, or can even create a navigation grid rather than a mesh, saving having to store all possible paths. You can also improve the tile-based maps by post-processing them, making them look a little more natural.

Amit Patel, one of the users here on StackExchange has a website where he has many of these additions and optimizations in a tutorial/blog kind of style. One of the best for the question that you are asking is here: http://theory.stanford.edu/~amitp/GameProgramming/MapRepresentations.html

\$\endgroup\$
  • 1
    \$\begingroup\$ I always find Amit's website very helpful \$\endgroup\$ – Zixradoom May 15 '15 at 20:55

Not the answer you're looking for? Browse other questions tagged or ask your own question.