Man of Destruction is a two-dimensional puzzle game with emphasis on speed. Cause destruction and create a path to more dynamite and the end of the level while avoiding your own explosions and the debris caused by them. This game is for the Microsoft Windows operating system.
In-game controls:
- W - move up;
- A - move left;
- S - move down;
- D - move right;
- Left mouse button - throw dynamite;
- Esc - pause the game;
- F5 - retry the level;
- F11 - toggle fullscreen.
Installation steps:
- Download the latest release;
- Extract the downloaded archive;
- Run
ManOfDestruction.exe
.
Levels included in the base game can be replaced and custom levels can be added to the game.
To create a level, run the level editor found in tools/level_editor.py
using Python.
The level editor requires Python 3.10 or newer to be installed.
The following must be specified for a custom level:
- Name - the name of the level (up to 24 characters, default:
output
); - Biome - the biome of the level (up to 24 characters, default:
grass
),
This corresponds to the name of a file in theassets/sprites/level
directory; - Width - the width of the level in tiles (integer from 4 to 32);
- Height - the height of the level in tiles (integer from 4 to 32);
- Tilemap - the text representation of the level's tiles (width columns, height rows):
S
- start tile;F
- finish tile;D
- dynamite pickup;1
- stone block;2
- wood block;3
- dynamite block;#
- indestructible block.
The sprite sheets, sounds, and shaders included in the game can be modified and replaced with custom ones. For these modifications to work, follow the requirements for all resource types below.
Sprite sheet requirements:
- Bitmap (
.bmp
) file format; - 32-bit (A8 R8 G8 B8) colour;
- Keep the original resolution.
Sound requirements:
- Waveform (
.wav
) file format.
Shader requirements:
- Assign a value to
out_colour
infragment.glsl
; - Assign a value to
gl_Position
invertex.glsl
; - Assign a value to
var_coords
invertex.glsl
; - Keep all global variables.