SkoolKit 3000

By | March 20, 2012

SkoolKit 3.0SkoolKit 3.0 has just been released and is available from the ever-present download page. The observant reader may notice that 3.0 is a whole major version number bump (from 2.5, in case the unobservant reader was wondering). Let me assure the observant reader, however, that the version number bump is not merely a frivolous attempt at attention-grabbing. For SkoolKit 3.0 is the first version of SkoolKit, ever, that will work with Python 3.x. So if you’re one of those people whom it pains to have a version of Python 2.x installed just so they can use SkoolKit, SkoolKit 3.0 may be the analgesic you’ve been waiting for.

In addition, SkoolKit 3.0 has its own image creation library; it no longer requires (or supports) gdmodule or PIL. This time, let me assure the concerned reader that SkoolKit is better off for this change. I have carefully optimised the library for Spectrum graphics and PNGs, with the result that it is faster and produces smaller image files than SkoolKit 2.x. For the curious, here are some stats on the build times (on my development machine) for the HTML versions of the most recent releases of the Skool Daze, Back to Skool and Contact Sam Cruise disassemblies when using SkoolKit 3.0 versus SkoolKit 2.x:

Disassembly 3.0 2.x (PIL) 2.x (gd)
Skool Daze 5.0s 5.9s 8.0s
Back to Skool 5.9s 8.2s 12.1s
Contact Sam Cruise 23.0s 33.5s 51.5s

And here are some stats on the total image file size (in bytes) for those same disassemblies:

Disassembly 3.0 2.x (PIL) 2.x (gd)
Skool Daze 261,426 1,677,213 356,037
Back to Skool 276,891 1,788,654 378,232
Contact Sam Cruise 566,702 1,767,657 719,542

I would encourage the sceptical reader to repeat these experiments and convince himself that the stats are correct, but I haven’t released versions of the Skool Daze, Back to Skool and Contact Sam Cruise disassemblies that are compatible with SkoolKit 3.0 yet. All in good time, though.

So there it is. Having rescued SkoolKit from Python 2.x-induced obsolescence, I must now get to work on 3.0.1.