Thursday 13 July 2017

nGlow

This program controls modern home smart lighting according to the contents of your screen. Similar to my amBX glOW application but compatible with normal Philips Hue lights rather than the hard to find amBX system. While the program would itself be capable of controlling 10 to 20 lights, unfortunately due to the limitations of the Philips Hue Bridge system, it's best to limit the program to 1 or 2 lights in order to avoid increasing latency. As far as I know, this is the lowest latency program of it's kind.

Download
This is still rather early, I'm currently trying to work out how best to automatically benchmark light setups so I can send as many commands as possible without the commands becoming unreliable.

Test video (worst case content):

Friday 8 January 2016

amBX Glow

A while back, I created a simple piece of software that allowed more control over Philips amBX lights. As the amBX forums are now down, I'll upload it here just in case someone still has use for it.

I've included a link to the source code, it's a bit messy but very easy to read.

Download
Download (Source)

Tuesday 21 June 2011

Daedalus - C++, DirectX

This project is currently not very far along, originally planned to be a shader demonstration but I'm now thinking of ways to turn it into a life sim set on a space station orbiting Earth.

Early teaser:


Update:
The gameplay still has to be fleshed out but there are now some building blocks in place, for example:
An easily expandable window based GUI.
AI with pathfinding, behaviours and animation.
Objects interacting with AI.
A simple system for users to build rooms and place objects.


More pictures

Monday 13 December 2010

SX Engine - C++/Direct X

I created this project in order to allow viewing/playing of the Sonic Xtreme resource and level definition files that were recently released. I'm still very early on with the project but it's starting to come together.

The level layout was stored as a tiled texture, with each tile being a horizontal slice of the level and each pixel being a level piece (cube). The layout image contained a palette, the order of the colours inside that palette were used to apply cube definitions (those definitions are contained within an external definition file). Those definitions could specify what textures to apply to the sides of the cube, scaling information and miscellaneous small effects, such as transparencies and texture mirroring.

Early build:


Animation test: