iakov.dev

CPU voxel lighting in Iron Cube

· 1 min read

CPU voxel lighting in Iron Cube

I implemented new lighting for Iron Cube that runs on the CPU, which makes rendering easier on mobile devices.

There are two parts, sky lighting and local lighting. The sky emits light from the top of the voxel world downwards, so it casts shadows and makes caves darker. Local lights don’t have shadows yet, but they do use the normals of objects.

All of it is calculated in the editor and saved to the level file. On a phone the game only has to load the result, which keeps loading times down.

First prize in the Intel Perceptual Computing Challenge

· 1 min read

First prize in the Intel Perceptual Computing Challenge

I won first prize in the Intel Perceptual Computing Challenge with the Mercury prototype.

Mercury is a sculpting tool for voxel models that you use with your bare hands. It runs on the Glow engine, reuses the voxel code from Iron Cube and builds a smooth mesh with Surface Nets. The hand tracking comes from Intel’s Perceptual Computing SDK and the Creative gesture camera, which arrived one day before my deadline. I had one day to wire it into the engine, and the SDK made that a job of a few hours.

Thanks, Intel.

The Mercury prototype

· 1 min read

Video

Mercury is my entry for the Intel Perceptual Computing Challenge: a voxel sculpting prototype on the Glow engine that you control with your hands in front of a Creative gesture camera. The first video was a bit chaotic, so here is a new one.

Since then I have also improved the gesture handling. The Perceptual Computing SDK reports positions for individual fingers, and that is what I used at first. Now I take the coordinate of LABEL_HAND_FINGERTIP instead, and it seems more robust.

The camera arrived only a day before the deadline, so the first version had a single day of integration behind it and very little time for tuning the gestures.

Why Android is better

· 1 min read

Why Android is better

This is my phablet, a Samsung Galaxy Note 2, running Launcher 8. It’s a custom launcher that copies the Windows Phone home screen: square and wide tiles for the phone, settings, Dropbox, Skype, maps, the camera and a big clock with the date.

That photo is my whole argument. On Android the home screen is just another app, so if I like the look of Windows Phone tiles I can install a launcher and have them on a Samsung phone. Underneath it is still the same Android device with the same apps, and if I get bored of tiles I can switch back.

Project Mercury

· 1 min read

Video

I entered the Intel Perceptual Computing Challenge with Project Mercury, a digital sculpting application. You edit a voxel-based 3D mesh with your bare hands.

The prototype runs on the Glow engine and uses the voxel engine I wrote for the Iron Cube game. For Mercury I also wrote smooth mesh generation based on Surface Nets, which is a modification of Marching Cubes.

Rasterising 3D models into voxels

· 1 min read

Video

I’m playing with rasterising polygonal 3D models into voxels. The video shows the first version of the algorithm, and it isn’t right yet: there are cracks and holes in the result.

This picks up from my voxelisation test in October, where I rasterised a tank model into a 50x50x50 voxel field polygon by polygon, in the style of a 2D scanline algorithm, and the resolution was too low.

Iron Cube on Android

· 1 min read

Video

I made a video of the Iron Cube game running on a Galaxy Note 2. Movement, shooting and rendering are done, and what’s left is sound and AI.

For AI navigation, the voxels can go directly into the Recast navigation library. The other option is to build navigation meshes from the final optimised mesh, the way I already do for physics.

The Leap Motion controller has arrived

· 1 min read

Video

As I wrote earlier, I applied to the Leap Motion developer programme and was selected as a developer. The device arrived today and I ran some tests. It looks responsive and precise, as you can see in the video. Later I’ll try to integrate the Leap SDK into the Glow engine. It seems perfect for manipulating 3D meshes, or for shooters.

The FedEx parcel with the Leap Motion, addressed to Glow Engine

Unboxing:

The Leap Motion box, labelled Dev Board V.05

It’s a kind of multi-touch without the actual touching. Multi-touch support in the Android port of Glow is already done. By the way, the Android port of the Glow engine and the Iron Cube game is going very well, and I’ll show some of it soon.

Glow engine on Android

· 1 min read

Glow engine on Android

I ported the Glow engine to Android over the last few weekends. To be honest, the port is based on the Google Native Client port of the engine, and recently I’ve spent a lot of time making Glow properly cross-platform. I’ll write more about it later.

My new Galaxy Note II is great, and I’ll write about it some time as well. It’s fast: it loads the voxel scene from my game in a time comparable to the PC.

Steam Big Picture on a TV

· 1 min read

Steam Big Picture on a TV

I’ve finally become a console player, only without a console. Steam’s Big Picture mode got me excited. I have a big library of games on Steam and hardly played any of it, because playing at my workplace isn’t convenient.

So I connected my shiny new Ultrabook, the one Intel sent me for taking part in the 300 Ultrabook competition, to a big 46-inch TV, bought a wireless Xbox 360 controller and launched Big Picture. 2D games like Limbo and Braid play very well. Shooters are another matter. Seriously, how do you guys play shooters with a controller?