Yeah, as it turns out the Sphere 1.5 API isn't all that complicated, there's just a LOT of functions. Most of the graphics APIs would be about 3-5 lines of code if it weren't for all the stack juggling Duktape requires.

So, who's up for trying to compile minisphere on something other than Windows to see how it works?

Yeah, as it turns out the Sphere 1.5 API isn't all that complicated, there's just a LOT of functions. Most of the graphics APIs would be about 3-5 lines of code if it weren't for all the stack juggling Duktape requires.

Implementing the Sphere graphics API was precisely what lead me to believe that it would be better to have a very small API, even if it were a little more verbose. That's why TurboSphere just has the Shape and Group objects, and no primitives or even direct Surface or Image blitting at all.

Yeah, as it turns out the Sphere 1.5 API isn't all that complicated, there's just a LOT of functions. Most of the graphics APIs would be about 3-5 lines of code if it weren't for all the stack juggling Duktape requires.

Implementing the Sphere graphics API was precisely what lead me to believe that it would be better to have a very small API, even if it were a little more verbose. That's why TurboSphere just has the Shape and Group objects, and no primitives or even direct Surface or Image blitting at all.

Also: It's still smaller than Sphere 1.5. About half the size at last check. Also a much smaller codebase. Vanilla Sphere's codebase is frankly huge for such a simple engine.

Even if you include all the Allegro libraries? Sphere's codebase includes the entire editor, too (which has some guts in many shared components), as well as the loaders for many audio file types, image types (including all of libungif), and the binaries include the MSVC runtime, as well as several graphics plugins.

I'd be surprised if, including all the necessary libraries, minisphere was actually able to open all the same file types as Sphere, play most of the same games (stuff like const notwithstanding), and was still less than half the size.