Feb 7, 2021 - Iron Cube 0.52 - better lighting, physics and lenses flares


New lighting system in Iron Cube - shadows are pre-baked on the level editing stage by casting a ray from a voxel to a light source. If a ray crossed something on the way to the sun, the voxel considered shadowed. The algorithm is primitive and was implemented in couple of hours. It costs 20-30 seconds to calculate lighting for entire level.

Shadows look smooth as they are applied on corners of voxels and it works well with existing ambient occlusion and diffuse lighting. All works on 7 years old mobile devices.

Lenses flares are pretty standard - transparent squares moving relatively to projected sun position. They became invisible when a ray casted from a camera to the sun meet something on the way (sun is not visible). Also, in this release - improved tank physics, heavy tank is scaled, bug fixes.

Get it on Google Play

Jan 22, 2021 - Iron Cube reborn


After 9 months break from development of my old pet project (joined a new company) I finally launched it properly on Google Play! I spent 2 weeks of my Christmas staycation and prepared the project for the release. At least something to distract from what is happening around. Music for the trailer and game was created by my 12 y.o. son using Garage Band, and the head of QA was my 8 y.o. daughter.

The game is here: https://play.google.com/store/apps/details?id=com.yak32_games.iron_cube (with a staggering zero downloads, as it was launched today and have no idea how to promote it)

The game is written in C++ with my old custom game engine and uses:

  • a greedy voxel mesh generation algorithm
  • dynamic voxel world built from 32x32x32 clusters
  • simple AI with state machines
  • Minecraft-like pre-calculated ambient lighting
  • dynamic water (still glitchy) - water fills connected areas
  • real physics with Bullet
  • path finding with Recast

And it’s all runs on 7 years old mobile phones!

Get it on Google Play

That was relatively easy and now I need to do the most terrifying part - promoting the game on Google Play somehow.

It’s so different now comparing to 2014 when I launched my first game and organically reached 40 thousand downloads without any marketing somehow.

Jan 28, 2020 - Some historical videos of Glow engine from 2004 till 2020

2003-2004

Walkalble visualization of the Ministry of Textile of my home country - I worked on a project with Bouygues Construction, French multinational. The goal was a demonstration of a future buildings to clients.

The whole building:


Read more

Oct 16, 2019 - Pathtracing - Day 1

Ray Tracing in One Weekend

I was reading the excellent Ray Tracing in One Weekend and decided to give it a try with my voxel engine/editor. The book uses spheres as primitives for a scene, but I wanted to use voxels.

Read more

Oct 16, 2019 - Running emscripten apps in fullscreen

I spent an evening making my emscripten game demo working in full screen mode. So basically, Emscripen supports 2 modes - “proper” fullscreen, and soft fullscreen. First one is similiar to a fullscreen mode of a native app, but it seems not supported in all browsers. Soft fullscreen is just running the app fully resized in the browser window, and it’s exactly what I needed.

Read more

Oct 10, 2019 - Emscripten


I ported my demo game “Iron Cube” to the web in couple of days using amazing Emscripten technology. The demo could be played here https://glow3d.com/blog/demos/iron_cube.html and should work in any modern browser, including mobile.

Aug 31, 2017 - IMGUI


Initial support for themes + Linux, MacOS and Windows build support. https://github.com/yak32/glw_imgui

IMGUI is a code-driven, simple and bloat-free GUI system, widely used in modern game engines and games. Best explanation of IMGUI concept is here. The library has basic suppot for layouting (attachable toolbars, layout serialization), themes (colors and serialization), lock-free multithreading (triple buffering).

This library was a part of my game engine, but I extracted and moved it to github some time ago.

May 7, 2017 - Voxel adventure game.


A youtube video from the voxel game prototype I built on my Glow3D engine some time ago. The idea was something like the original Zelda game (isometric, adventure, but on voxels). Art from the video was created by Sir carma. I built a parser of the MagicaVoxel file format and updated significantly the source code I created for the Iron Cube game. Support for nVidia HBAO+ and nVidia Shadows was added using Shadow Works middleware to improve picture quality. nVidia HBAO+ is Screen space ambient occlusion technology to emulate global illumination and I gave up on creating my own implementation of SSAO (at least for some time). I have some support for shadows in the engine but I didn’t have efficient Cascaded Shadow Maps at that time and decided to use nVidia libraries instead. It’s efficient and used in many modern games.

MagicaVoxel is a nice voxel editor and renderer, created by @ephtracy. He basically did the 3D Studio Max alone but only for voxel graphics. The sound used for the video is Medieval Introduction.

May 2, 2017 - New website and blog

I spent several evenings on rebuilding my website and blog - www.glow3d.com. The first platform I used to write periodically about my hobby game engine was blogger.com. I started it several years ago, but for some reason decided to switch to AWS based website and WordPress - basically the only reason was to learn basics of html and web site development. Also, I wanted to try it as a server for my prototypes of multiplayer games. WordPress-based blog was bad - SQL database periodically crashed for some reason and I had no idea why (probably memory configuration). I was tired and cancelled my subscription to AWS services (honestly the main reason was the expiration of the free period) and closed the website and blog.

Read more

Apr 21, 2017 - Ludum Dare

“Pied Piper” – stupid little game about dancing zombies. It’s my first attempt to participate and finish a game for Ludum Dare.

What went right – The idea to use Fuse tool for characters and mixamo.com for animations really saved time. It’s easy to make a realistic character in Fuse and I prepared a pipeline for exporting characters from mixamo.com to my engine before Jam. Also, making the game was a lot of fun (really loud laughing for the first 10 minutes when I saw the first dance) and it was an important motivation to finish it.

What went not so right – planning (as usual) – I spent one evening on selecting proper music from freesound.org and had only one evening and night to actually write the code. As usual, I found several weird glitches (downside of the usage of my own engine). One glitch leaked to the first release for LD (and fixed in the latest version)

This is my first LD, so the goal was just to finish something. Engine is mature now and can be used for next LD. I’ll probably continue to work on Pied Piper if I receive positive feedback from the community.

Youtube video of the latest version is here