2013/02/25 (Villainmad): I Got The Multiplatform Blues
After a week-long slump, it was the work of a few of days to get back in the saddle and finish 90% of the engine's new audio-system. As is typical for this kind of project, the remainder was also 90%.
See, for most of its non-Windows implementations of playing sounds and music, MonoGame uses OpenAL, which lacks certain functionality which XNA takes for granted, such as "play an intro, then smoothly switch to a loop-section and oop it until the sound get stopped", and "announce when it's finished playing a sound in case you need to add another sound after it or do something else." I managed to kludge together a fakey pretend-version of the loop-thing, and added some other interesting features which mostly revolve around smoothly enqueuing other sounds afterward; however, it still requires the use of XNA's DynamicSoundEffectInstance class, which does not exist in any implementation of MonoGame because the announcing-thing is basically its defining feature, so I've kludged together a fakey-pretend version of that, too.1
Slightly more difficult, though, is that MonoGame has different implementations for different platforms (unlike OpenTK, which was supposed to be "compile once, run everywhere"). In other words, if I want to release this game on Linux and Mac, I'm gonna need a Linux and a Mac. The former isn't a problem, if someone can recommend a distro that'll be easy for someone like me to use solely so I can develop a game on it (virtual machines = best), but Mac ... is Mac, and expensive (I mean, "forget hiring someone to do the art assets ..." expensive). I guess multi-platform is going to be a bit longer-term for now. Unless I go completely crazy and make the game in Unity or something? Blah. Oh well, I guess.
1Also, lesson learned: OpenAL does not like threading (defined as "the program does multiple things at once"), and will cause the sound to flip the fricking-fricky-frick out in various incomprehensible ways.
Previous: 2013/01/21 (Villainmad): So I spent the last month sort of messing around with the config system
Next: 2013/04/07 (Villainmad): You'll Notice That The Loading Screen's Fade-In/Fade-Out Takes Longer Than The Actual Loading
Back to Villainmad
Back to My Games
Back to Main Page