Creating a game, be it indie or not, involves solving a lot of problems. It is one thing to imagine all sorts of interesting game mechanics, level designs, story arcs, and everything else, but beneath all of that is an important question: How are we going to get these things on to the screen? Even that question reveals a rabbit hole. Should our game be 2D or 3D? Or maybe 2.5D? How should we represent objects, characters, etc.? And what about the rest of the game world? We’ll stop the line of questioning right there for now.

Focusing in on our representation of the game world brings whole new branches of questions. How should our levels be constructed? What do we need to do to get the level graphics on the screen? Can we do something that allows us to be iterative and experimental?

As we pondered these questions and this challenge, three approaches became apparent:

  • Prerendered:  Various images, large and small, layered one atop the other. Examples include Final Fantasy VII, VIII, and IX for the PlayStation 1 and the early Resident Evil games, also for the PlayStation 1. This technique puts the least strain on the hardware as it only needs to composite a few layers of images. It also allows for complete artistic freedom. However, art assets such as level backgrounds need to be built up front, leading to a more rigid design process.
  • Tiles: Various small images of specific widths and heights arranged in a grid. Examples include nearly every game before 3D rendering was the norm. Tiles are the life blood of 2D games. There are a few reasons for this. Due to the fixed image size and grid arrangement, performance optimizations can be put in place. Although the grid is rigid, there is enough flexibility that the game world can be tweaked and reworked without much effort.
  • Blended Terrain: Texture blending between arbitrary polygons. Examples include most 3D games, but the most applicable are modern day terrain engines from games like SimCity and StarCraft 2. Put the camera above and point it straight down or flip the terrain up to face the camera, and what was once a 3D terrain engine becomes a 2D terrain engine (with respect to perspective). Building a terrain engine is an endeavor in of itself. They require a huge amount of effort and care. Well crafted though, they make the best use of today’s hardware and are highly versatile.

For our game, we wanted something flexible that we could also realistically develop with our timeline and resources. We needed a solution that allows for creativity without requiring an explicit graphics skillset early on. Something that we could build an editor around to gives non-developers the ability to build out levels.

Considering all these things, we decided that using tiles was the best choice. They provide the right balance between upfront needs — manageable art creation — and long term flexibility — building and testing arbitrary level layouts. We also have aspirations to build a community around content creation and feel that a tiles based approach is the most accessible to most players.

Now that we’ve made our choice, we need to implement a tile engine into our game. Future posts will detail our exploration of that process.

photo credit: JulianBleecker via photopin cc