3
\$\begingroup\$

A simple question, to which i couldn't find a definitive answer - how to manage buildings on a tiled map? Should the building be sliced in to tiles or one big image?

EDIT: The game is being built from scratch using C++/SDL 2.0, it will be a turn based strategy, something like Fallout 1 & 2 without the hex grid, a simple square grid, where the Y axis is squished by 50%. Buildings can span multiple tiles, the characters move tile by tile. For now, the terrain is completely flat. Some basic functionality is in place, so I'm aiming to advancing the terrain and levels them selves - adding buildings, gates, cliffs, not sure about the elevation.

\$\endgroup\$
1
  • \$\begingroup\$ Would be helpful to know: *: whether your buildings can span multiple tiles *: how you are rendering the tiles (e.g. two triangles, four triangles) *: whether your buildings will be solid or partially transparent *: whether the buildings are the exceptional case (i.e. most tiles are entirely flat and will never obscure tiles behind them, or whether most tiles have some vertical aspect and will generally extend at least part way into the tiles behind) \$\endgroup\$
    – MrCranky
    Oct 20, 2013 at 9:51

1 Answer 1

1
\$\begingroup\$

Really not enough information in your question to give a definitive answer. However, in general, if you have a building which extends vertically to occlude multiple other tiles behind it, should be a single image. The quasi-3D nature of the isometric viewpoint is usually achieved by layering, and is distinct from laying out your map by breaking it up into tiles. That is, you render tiles in front after first rendering the tiles behind, so that a tall building may obscure the tiles behind it.

This results in some amount of overdraw (painting tiles onto the screen which are going to be partly or wholly obscured) but is generally a much more simple system to manage than trying to associate part of the building with tiles other than the tile it's directly sitting on.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .