Monday, December 31, 2012

Fixes for PowerPC platform

My kids have a couple of old G4 PowerPC 'quicksilver' PowerMac towers that they use to play on the web, run games, etc. Since they are quite young, and these computers do what they want, I haven't bothered upgrading them to newer (x86) computers.

It always gives me the problem when I create something they want to play... I've kept the version of Xcode around that generates PowerPC for C and C++ ... but the Löve framework v0.8.0 is Intel only. I'm sure this makes sense to the Löve people; supporting platforms is quite a bit of work. Many other things are going the same way.

Anyway, I thought I'd try with Löve 0.7.2. Sadly the sound files caused LibModPlug to stop on PowerPC.

After some investigation (things like paths, etc.) the actual changes I made were:
  1. Change the .wav sound effect files (generated with cfxr Third Cog Software/Joachim Bengtsson's Mac port of DrPetter's sfxr.) to ogg files. They are also smaller in size. There is a strange sound 'artifact' at the start of one the sounds - but not enough to make me not release it. (I'd actually seen a forum post with something about this.)
  2. Apparently when the Platform / Löve starts up the framerate is very low. It very soon (under a second) gets to 60fps (vsync locked I think). The low framerate gives a huge time delta into the movement/update routine leading ultimately to a huge speed and huge fall displacement. Big enough to skip the floor underneath. So I limit the max. jump and max. fall offset to half a tile size (32 pixels / 2).
This second 'bug' I'm pretty sure I've seen when running on an x86 mac as well - not at the beginning but at some random time. Probably requires more investigation.

I actually think that longer term I'd be better limiting the max. time delta to, say, 1/5th of a second (0.2s).

Anyway, you can find it here (with the other versions).


Post a Comment

<< Home

Newer›  ‹Older