Official Release and Level Creation

v1.0.0 b0.1.0

Despite this game still doesn't have a title (any title suggestion is welcomed!), with this update the game can be considered officially released!

This version introduces different features, the main of which is the level creation system that will make you able to create your own levels! Without any further to do, let's dive right into this special update!

New blocks:

• Keyhole Block: this is a block you can interact with. A keyhole block is active when it has a key in it. You can put a key in it by pressing the left mouse button when holding a key. You can also take the key away by pressing the left mouse button next to the block when it is active.

Activating and deactivating a keyhole block

Door: this is an special block you can open and close by pressing the left mouse button. A door can also be locked and unlocked by activating and deactivating a keyhole block. If the door is locked you won't be able to open it.

Opening and closing a door

Unlocking and locking a door

Glass Block: a transparent block that let's you see through it. You can break it by punching it 5 times. Punching a glass block will create some new glass fragments particles!

Some glass blocks

New mechanisms:

  • Switch: the switch is a mechanism that unlike a button or a pressure plate, keeps his state the same unless the player changes it. You can use a switch like you use a button, so by pressing the right mouse button next to it.

A switch!

New items:

• Key: this is the item you can use to activate a keyhole block. To use it, press the left mouse button in front of the keyhole block when holding this item. If you want to get your key back from a keyhole block, you simply have to press the left mouse button in front of a keyhole block that has a key in it.

• Light boots: as the name suggests, these boots make your steps lighter, so that if you accidentally walk on a pressure plate while holding these boots, you won't activate it.

Using light boots

• Club: now ogres have a 10% chance of dropping their club when you defeat them. Clubs deal a damage of 5 health points, but their attack deley is longer than a fist.

A club dropped on ground

Changes to the rendering engine:

Apart from all the new blocks and items, I also improved the rendering engine of the game (the part of the code in charge of drawing the game on your monitor).

These are the changes I made to the rendering engine:

• Block faces optimization: to allaw glass to be correctly rendered I had to change the algorithm that decides whether or not a face has to be rendered.

Here you can see a before and after this improvement.

Glass blocks before and after the changes to the rendering engine

• Blocks' faces texturing: the game know renders correctly a block's texture on each face instead of mirroring it in the east and west faces of the block.

Again, here is a before and after the change.

Block textures before and after the changes to the rendering engine

Also the game now supports multiple textures for different faces of the same block, and it has more flexibility for the creation of a block's model.

Main Menu:

From now, every time you open the game you will be greated with a main menu where you can choose a level to play or add custom levels. You can move up the selection by pressing the either W or UP arrow key, while you can move down the selection by pressing S or the DOWN arrow key. To play a the level you are selecting, press ENTER. You can also scroll the mouse wheel to go up and down through the list of all the levels you have loaded.

The main menu

Custom levels:

This is probably the most important feature of this update. From now, you will be able to design and publish your own levels for this game. In this devlog I will give you a brief explanation of how to create a level but there's a more detailed guide at this link (click to visit).

• How to create a level:

  1. Draw the map and save it in a ".png" file named "map.png". Every pixel in the map corresponds to a block in the game. You can specifiy different blocks by using different colours. In the guide you can visit through this link, you can find a complete list of all the blocks with their corresponding map colours.
  2. Write the level's data in a ".txt" file called "data.txt". Where you will have to write all the data for the blocks and alentities of the level. For example, you can specify what and how many items a specific chest contains, or what pressure plate activates which arrow trap block.

• How to load and play a level:

  1. Enter into the game and press the "Add level" button.
  2. In the file chooser that the game opens, select the folder containing the two files ("data.txt" and "map.png") that define the level you want to load and press the "Open" button.
  3. The level should be loaded into the game and ready to be played. If any error occurs during the loading process, an error screen will appear. The problem is most likely caused by what is written into the level data file ("data.txt").

Other changes:

  • The name of the item you are holding is now displayed in the bottom left corner of the game window;
  • The foreground color of the win message is now yellow;
  • The number of inventory slots has been increased from 5 to 8;
  • You can now press J to disable the damage indicator's red flashes and replace them with a simple red marker at the center of the screen.

Two different damage indicators

Fixed Bugs:

• The player didn't die when his health points were lower than or equal to zero.


The game is now officially released, in the future there might be a sounds and music update or other changes. Now it's your turn, create your levels and share them here to let other people play them!

Get 3D OpenGL Game

Leave a comment

Log in with to leave a comment.