I'm working on being able to make games in VisualWorks (and for that matter, ObjectStudio). This requires a combination of game techniques, technology, 3d graphics, sound, collision detection, ... all kinds of stuff.
I have a grand vision for the game I want to make - but it'll take me a while to get there. So in the mean time, I decided to make an action game to test out all the tech I've built so far: OS-Keyboard, OpenGL, OpenAL, ExecutionLoop, et al.
As you can see in the video, it's actually working! it even has sound and effects, smooth game play and the VM doesn't even break a sweat. OpenAL failed me though, I'm now using FMOD Ex instead - which is free for non-commercial stuff.
For the last week I've had a crash that would take out the VM randomly and it was infuriating me. Finally, I narrowed it down to starving the FMOD Ex buffers - the game loop will send #update to FMOD Ex every 30hz unless something else in the game engine crashes.. in this case I have two outstanding bugs - one in my keyboard code and one somewhere in my vector code.
Tonight, the video you see is from the first stable version of the game - I wrapped up each iterative command in the execution loop with an exception catcher on Error which throws away the crash and keeps the game loop ticking away. This is something I'd consider for production but for now it means I can at least see that everything works as it should.
So without further rambling, here is a short game play video of FreqWars as it stands now:FreqWars-20080319-FirstLook.mov
For those interested, the code is in the public repository under the package name FreqWars. You'll need the music and sounds which I'm not distributing just yet.. so it's an academic exercise of reading the code, you probably won't be able to fire it up yourself.