Qiso Isometric Tilemap Engine

QWeb Ltd Corona Plugins / Gaming Development


Qiso (pronounced key-so), is an isometric tilemap engine for Corona SDK. It handles the complexity of converting between screen, cartesian and isometric co-ordinates, allows you to programmatically add or remove tile layers at any time, and add player or machine controlled characters. It takes care of map rendering, camera movement/zoom, and has built-in A* pathfinding algorithms.

Qiso is built entirely in Lua and doesn't depend on any platform specific features or external libraries. It's incredibly lightweight and optimised for performance.

Built to work from maps generated using the Tiled engine, exported to Lua data tables. Tested with maps as large as 1000x1000 tiles and reasonably high quality sprites, as shown in the videos. Tiled's infinite map size is supported and Qiso allows you to update map data in realtime, so enormous maps can effectively be chunked and refreshed in realtime, allowing for massive worlds to be traversed on low memory devices.

Fully documented at qiso.qweb.co.uk where you can also find sample code and videos, as well as sample Tiled map files and isometric graphic assets.

To create an isometric game in Qiso is as simple as activating Qiso and loading up a Tiled map, like this:

    -- Load plugin library
    local qiso = require "plugin.qisoengine"

    -- Load a Lua formatted Tiled Map Editor tilemap into a Qiso map.

    -- Enable zooming when the screen is pinched

    -- Enable camera panning when the screen is dragged

    -- Enable the main Qiso loop to render/update our world

Qiso creates a display group for rendering and takes care of everything on that group for you, leaving you to create other display groups on top or behind Qiso and build your game code as usual. It provides a number of functions for manipulating the world or extracting data from it and we're extending with other helpful functions as they're developed.

Subscribe to our Youtube channel where we periodically show off new Qiso features and Qiso powered games, and keep and eye on our blog where we post tutorials and announcements.

$ 12
Buy now

Additional information

Jul 15 2019

Jul 14 2019


Added the setParentGroup() function so that Qiso can be inserted into a group created outside of Qiso, such as Composer's self:vie...
Show more

Show history

Android , HTML5 , Windows Desktop , iOS , macOS

Get documentation