The Daily Click ::. Downloads ::. Miscellaneous ::. ZEngine

Author: Zephni Submitted: 7th October, 2015 Favourites:1
Genre: Miscellaneous Downloads: 181

Edited By Zephni on 13/10/2015

Edited By Zephni on 13/10/2015

Git project:


ZEngine is a foundation for building and running a game with a personalized level editor and an engine that comes with the following standard features:

- Map loading
- Epic scrolling engine ( See )
- Multiple layer Paralax scrolling ( Can be set in level editor at varying coefficients )
- Comes with epic fader, seen here: ( )
- Can read from LUA scripts, this can easily be extended
- Easily extendable platforming engine

The level editor includes

- Highly custom
- Multi-layer level building
- Saving in standard text and encrypted formats
- Tile properties (Such as water/lava) that can easily be extended
- Objects (Like start points and doors) that can be easily extended
- Customize block size and resolution size, plus how many screens high/wide the level is
- Use any image format for tilesets/backgrounds


I built this because I tend to have a case of the classic "Big game syndrome". So using this I can cut out a big portion of the development and get straight into the "design" elements rather than the game engine / level editor.



Once you have chosen a tileset (a 16 and 32 px version comes with) and set your dimensions you can scroll around the level with the directional buttons.

Press 'ctrl' to bring up the tileset and select a tile, or a selection of tiles to use.

If you have a single tile you can click and drag an area to lay a large selection of tiles at once.

To change layers select one from the layers icons, layer 3 is the obstical layer by default (This is where the player moves and collides)

Add up to 2 parameters to any entity

Fully customize tile properties and objects in the 'ZEditor/data' directory, specific to your game

If you need help with anything else just ask... there's a lot!


The level reader has two groups by default, the 'Engine' group and the 'Independent' group. The Engine holds all of the important stuff that shouldn't be edited unless you feel very comfortable and understand it. 'Independent' holds everything that is unique to that frame.. or the game.

In this example you can drag a level file over the frame to load it, but obviously if you had a menu you could set the level to be loaded by presetting the 'LevelFile' global string, and running it on the main frame.

You can save and load by pressing 'S' and 'L' respectively.. once again this is something that you would want to change for a game but it shows how the process works. Note by pressing 'L' it will automatically load the correct level and position, and any flags that have been set.

You can switch between save files by pressing '1', '2' or '3' on your keyboard, but you still need to press 'S' or 'L' to save or load to that save slot. You would likely adapt this to a save system where a save file is chosen from a menu.

By pressing 'A' it will give an example of running a script, if you need help understanding Lua there are many places to look, I have written examples and even found one I made a long time ago on here ( ). In this example it just runs 'test.lua' script that counts down from a certain value and then quits the application, this also sets a flag that will change the amount to count down from to show that it works. The flag will save and load, as will any flag that you set through the script.

The Lua scripts would basically run the entire game, and will talk between the user and the engine. To extend the Lua functionality (for example a message system) once again look at my download above.

There is a lot more to explain but please ask any questions if your wondering.

EDIT: I just noticed I'd already made an article explaining some more about Lua aswell so here are the two links for help: - Example .mfa - Article on how I use Lua

Review This Download
 (4428 kkb )

No comments have been posted for this download.





Worth A Click