Wattage Tile Engine

Stacks Image 809
Introducing our in-house developed tile engine for Corona developers. It is open source. The source code may be found here. The documentation is excellent and contains a useful quick start guide. Check it out to see how easy it is to use here.

The video above is a tech demo. It illustrates the following engine abilities in the following order:
  1. The demo begins by scrolling to the right above a dark scene. This illustrates the scrolling capabilities. As the demo progresses, note the parallax scrolling of the walls and columns which give the scene a sense of depth.
  2. Three lights are switched on: one red, one green, and one blue. This illustrates the engine’s ability to dynamically add lights in real-time and have their outputs mix with other lights.
  3. An off-white light is switched on which is surrounded by pillars. This illustrates the engine’s ability to cast shadows.
  4. The lights are all turned off as the demo continues to scroll to the right. This illustrates that lights may be dynamically removed.
  5. A white light is then switched on which follows the camera. This light then passes through a room lined with pillars. The shadows move as the light moves through the room. This illustrates the engine’s ability to support lights which move while updating their effects in real-time. It also illustrates how lighting states fade into the next lighting state.
  6. The demo then switches to the next scene where the camera will bounce left and right above a small room with four pillars.
  7. The lighting will be switched between a moving white light, then to a series of static lights: a white light, a red light, green light, and blue light. Only one light will be on at a time and each light is located at a different side of the room. This again illustrates the engine’s capability to dynamically add and remove lights in real-time while also casting shadows.
  8. The demo will also turn off all lights while turning the ambient light all the way up. This will result in a bright scene with no shadows. This illustrates the ambient component of the lighting model.
  9. Note the yellow disk which bounces up and down in the room. This illustrates the engine’s ability to appropriately tint entities with the lighting of the tile they are in.
  10. While the lighting is being switched, notice that pillars are being added and removed while the shadows are updated in real-time. This illustrates the engine’s capability to dynamically add and remove opaque tiles.
  11. Next, the demo will switch to the next scene. This scene is similar to the previous scene, however a new entity shaped like a man has been added to indicate the player, and tiles which would not be in the player’s line of sight are blocked out. This illustrates the engine’s capability to support dynamic line of sight.

The engine has the following features:

  • Support for a large number of tiles.
  • Orthogonal tile support. (Isometric tiles are not supported at this time)
  • Dynamic lighting effects.
  • Tiles may be configured as opaque to cast shadows.
  • Opaque tiles may be added/removed arbitrarily and their effects on shadows will be realized in real-time.
  • Lights may be added and removed arbitrarily and their effects are realized in real-time.
  • Ability to specify ambient lighting, useful for outdoor scenes.
  • Ability to specify whether a tile is affected by ambient light, useful for indoor tiles in an outdoor environment.
  • Lights may be moved with smooth transitions between their states.
  • Entities are affected by the lighting in each tile.
  • Dynamic line of sight, useful for hiding tiles that would not be visible to the player.
  • Dynamic tile definitions, useful for representing a dynamic world.
  • Multiple layers.
  • Multiple layer types (Tile, Entity).
  • Parallax scrolling between layers.
  • Camera which supports arbitrary viewing positions and different levels of zoom.

The Wattage Tile Engine can support a variety of game genres:
  • Platformers
  • Roguelikes
  • Racing Games
  • Simulation