A couple days ago I noticed that VoidStorm(36 hits) was running a bit slower than usual on one of my test machines. The frame-rate was still 60Hz, but all the ships were moving a little bit slower. Eventually I saw that my frame time delta was smaller than usual: it should have been about 16.667ms (since I have VSync on), but it was around 11ms instead.
After a bit of investigation with a friend (thanks Alban!), we figured out that QueryPerformanceFrequency(27 hits) (which I use with QueryPerformanceCounter to measure my fame times) was not telling the truth.
We were indeed shocked to see that a QPC/QPF based timer was slow compared to a real-world timer.
I ended up writing this little test program: http://pastebin.com/GeekTiSQ(90 hits)
It compares timing between QPC/QPF and the timeGetTime(31 hits) function, and if they don’t match (within a millisecond), it adjusts the count frequency returned by QPF. It then starts a timer loop and shows the three different timer values (QPC/QPF, adjusted QPC/QPF, and timeGetTime).
In VoidStorm, I now check every 4 seconds (which is when I print the frame-rate and other profiling info) that QPF hasn’t changed (I read that this can happen), and that it matches the timeGetTime timer. If it doesn’t, I adjust it by the ratio like in the test program.
January 16, 2012 at 2:22 am
· Filed under VoidStorm
Since allowing the player to go into slow-mode any time and for however long they want would make the game too easy, I added an energy bar. Going into slow-mode uses energy, and the energy replenishes itself when the player is not using it.
January 14, 2012 at 4:21 am
· Filed under VoidStorm
So a couple months ago, I decided that I wanted to see if I could make a Geometry Wars(88 hits) clone by myself.
I decided to write my own engine.
I’m calling it VoidStorm(36 hits).
It uses OpenGL for graphics, OpenAL for audio, and Lua for game-logic scripting.
So far I’ve had a lot of fun working on this and optimizing it. I’ve also learned a lot about game programming.
It’s also given me a great opportunity to try my hand at making some sound effects, which is something I’d been wanting to try for a while now.
March 6, 2011 at 7:08 pm
· Filed under News, Tracks
Some people have complained that I haven’t released anything the last couple of months.
I haven’t been as productive as I wanted, but I have some tracks in progress that I’m not completely sick of yet.
Here are some previews:
December 24, 2010 at 12:26 am
· Filed under Tracks
Here’s a spacy ambient electronic tune. For this one I used LazySnake (heavily effected for the main ambient keys), Synth1 and Alchemy. Drums are made with MicroTonic.
Here is a calm and airy instrumental track featuring my Ovation acoustic guitar tuned in DADGAD (which I also used to record the main beat).
A little melody introduces the track, which then goes into a first part in G major (lydian melody), before modulating to D minor.
Composed entirely in Ableton Live 8 with 16 tracks. Instruments used were (besides my guitar) mostly Alchemy and Synth1.
September 11, 2010 at 7:34 pm
· Filed under Loops, News
I’ve recently acquired Sonic Charge’s amazing drum synth plugin: MicroTonic(353 hits).
This thing is really great for making all sorts of crazy electronic beats and rythms.
These guys also have a genetic algorithm running on their servers that generates new beats using user feedback: The Patternarium(243 hits).
Here are 30 free drum loops I recorded from some of the generation 7 patterns.
All loops are recorded as 24bit, 48khz stereo wav files.
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here(251 hits). You also need to have JavaScript enabled in your browser.