I updated the roadmap for beta-3 earlier today, nothing surprising; we finish up the Vala migration such that the multicore threading bug is forever crushed, finish migrating to gdk and other minor polish, and release with the massive number of new features we've gained over the last two years.
For beta-4, it'd be good to discuss some optimistic goals, especially since it /should/ be a short release (ie, less than 4 months after beta-3). I would like to get audio working. We're already tied into OpenAL to a large extent, which gains us cross platform audio with 3d doppler effects, numerous surround sound options (4 channel, 5.1, 6.1, 7.1, ambisonic, etc), and ties in nicely with PulseAudio, ALSA, and OSS on GNU/Linux. We need to develop an API that handles background music (including .soy music, ie, scripted music tracks), 3d positioned sound effects and voice samples attached to bodies, volume and other access to OpenAL output and input devices. This is a pretty big collection of things to be resolved, though the code implementation isn't very difficult once we have a rough API in mind. Networking is penultimate - both XMPP and game networking. I looked again at Loudmouth, it seems that under new management they've fixed many of the big issues (ie, it works on Windows again) and is worth another consideration since it's glib-based and being developed by a community. This will mark the primary model transition from a traditional game engine to PySoy being intended to run on servers for "cloud gaming" (though running it locally will always be supported). It's also already widely packaged, which Strophe is not. The browser and XMPP client plugins should be a big target - there'll be some work to be done on pyjs (http://pyjs.org/) so callbacks can be converted to Javascript and sent to the client (no Python code should ever be sent over the network). It should not take very long to put together plugins for a large number of IM applications once we have libsoy and seed (http://live.gnome.org/Seed) working together, what appears to be a trivial task since refactoring to Vala gains us GObjectIntrospection support. Of course any web browser our plugin would be loaded into will have it's own Javascript support, which also gets us scriptability from the web pages the plugin is loaded from. We will also need Concordance (http://concordance-xmpp.org/) together by beta-4 release for hosting some of these spiffy XMPP-based game services. There seems to be a consensus that we should move to Bullet, and this should happen before 1.0 since there will be inevitable API changes. I don't think the migration will be difficult, and it may even make sense to do so before beta-3 due to the ode.vapi having problems and being out of date, not to mention ODE causing us problems with packaging due to it being more of a toolkit to build a custom physics engine rather than a unified library. I'm not personally very concerned with adding spiffy graphics before 1.0, we can always add new features to the API so long as nothing gets removed or otherwise breaks games written for 1.0. I think our goal at this point should be to get the API stable and all the critical functionality in, get 1.0 released, and get it in public use to build up more developers and interest. Did I miss anything? Any must-haves or personal coding goals for beta-4?
_______________________________________________ PySoy-Dev mailing list [email protected] http://www.pysoy.org/mailman/listinfo/pysoy-dev
