Tile Engine (MSTE)
MSTE is a cross-platform tile-based scroll engine for developing games using CRM32Pro SDK.
Originally it was created as a scroll engine, but after some code revisions and improvements, it reached the next evolution step and now is a powerful, stable and easy to use tile-based scroll engine which can be used for creating almost any kind of 2D game.
- Top level entity formed by 1 or more layers:
- Orthogonal view.
- Any number of layers defined at run-time.
- View-port and target surface can be modified at run-time.
- Layers can be independent or group fixed supporting standard or parallax scrolling.
- Auto-scrolling capabilities.
- The layers contain the cell map data plus other attributes:
- Any width and height size (number of cells).
- Individual cells can have any size.
- Cells have assigned a tile from a tileset.
- Supports any number of tilesets and each one can be of any size. Tiles larger than cell size are extended at the top and right.
- Alpha value attribute ranging from 0 (full transparent) to 255 (full opaque).
- OnUpdateEnd event raised at the end of each layer update.
- OnRenderEnd event raised at the end of each layer render.
- Optional smooth scroll rendering getting a very nice scroll effect.
- Adding your custom maps for managing any kind of data using C++ inheritance classes.
- For debugging purposes, the cell borders can be rendered showing the cell grids.
- The tilesets contain the tiles for the layers:
- They are CRM32Pro_CTile objects and can be stored on an external file or in a DPF.
- Supported I/O formats:
- Native XML-based file format (MSM) that can be stored on an external file or in a DPF.
- Import BMP/PNG images into a layer or export a layer to a BMP/PNG file.
- Full support for TMX files from Tiled Qt 0.81 or greater.
- Available for Windows. Also compiles on Linux and MacOS X but make files are not provided.
- Developed in C++ using CRM32Pro SDK.
- Source code
- Source code and make files for VS2008+ and GNU C/C++ 4.x.
- Previous releases
- Get access to all releases repository.