Most of the time I develop in the Mac OS X environment while fidel is testing under linux. The game provides some sound effects which worked only on the mac. We first thought about having a problem with the general problem with the soundengine on linux. Playing around with Open-AL, ALSA and different sound configurations ended up all in deep silence.
I was close before giving up. Time goes by and I restart investigating the problem. I first checked the sound sample of SFML library which worked !
But why ? I compared the sources and then I catched the problem. To play sound the system uses two objects: sound and soundbuffer. I was using the objects but it did not work. What was wrong ? The solution is quite simple. The game uses multiple sounds and so I handled all sounds in a manager object. But the sound manager had one big logical mistake. Each time I accessed the manager to start playing a sound, the manager made a copy of the objects and started playing. The copy was the problem because after start, the object was destroyed (local scope). The destroy stops playing which results in silence :-)
Rewriting the storage of the sound objects the sound works now. Yeah!
We are close to first public release. Time to get some stats:
A lot of features and effects have blown up the code. The self written particle engine for better effects takes about 2300 lines of code including comments. The engine may be introduced in a separate post if you are interested in.
Thanks to fidel for the never-ending ideas and the tests.
In case you are willing to take a look on the current dev builds (available for Linux & Mac OS X) don’t wonder if those contains a slightly different version as the one used for the video above was manually modified.
Keep in mind that the current version is not yet ready for public tests – so don’t expect a stable, well documented and final product ;)
Just a quicklook at the amount of closed tickets (per milestone) during the last 12 month
Well i have to thank core who is the ticket closing machine in our team – while my part here at muddle-code is more or less to create all those evil tickets in the first place ;)