Download links (see about for more)
This is not a game (yet).
This is a quick tech demo, started as some muddling for #7hfps and then advanced somewhat in the scant spare hours I could find during #7dfps. I have some plans on how I want to turn this into a real (small) game, and still intend to do so in the near future. I do think what I do have already is actually kinda interesting, hence sharing it in case anyone is curious.
So, this is a real time ray-tracer; the ray-tracing code was written from scratch in straight C. Ray-tracing is super cpu expensive, which is why this runs at such a tiny (64x64 pixels) resolution. This is why real time ray-tracing is pretty uncommon! Ray-tracing does however make certain visual things really quite easy, like reflection, and infinitely smooth surfaces. So I'm using those things a fair bit. The coloring restrictions are purely aesthetic, I could use many more colors very easily, but I prefer this.
There's not much to see, but what's there is shiny.
WSAD or Arrow keys to move, mouse looks.
If you're feeling particularly enthusiastic, have a play with the in-engine level editing. Shonky control scheme:
Tab - Toggle Edit mode
Q - Float up
E - Float down
Left Mouse - Move shape with mouse
Right Mouse - Resize shape with mouse
Middle Mouse - Select shape under cursor
Shift - Move/resize vertically instead of horizontally
R - Edit reflectivity (horizontal) and luminosity (vertical) of selected shape
C - Create new shape
1 - Set shape to box
2 - Set shape to cylinder
3 - Set shape to sphere
4 - Set shape to 'start point' (only use one)
V - Duplicate selected shape
X - Delete selected shape
F - Save level (will save to the same .lvl file in data that is loaded at startup)
Anyway, hope that was worth it, follow me on twitter ( @whitingjp ) or check my website ( http://jonathanwhiting.com ) and I'm sure you'll find out when I release an actual game from this stuff.