This is neoSphere, the current official implementation of Sphere and a complete rewrite of Chad Austin's original Sphere game engine, coded from the ground up in C. It uses
Allegro for cross-platform graphics and sound and JavaScript is powered by
ChakraCore. The engine boasts near-full parity with the Sphere 1.5 API and most Sphere 1.x games will run in neoSphere with no modifications. But make no mistake: this is a
Sphere v2 engine, and includes many, many features not found in the engine it replaces. These include Galileo, a scene graph API pioneered by TurboSphere which enables more flexible rendering than the Sphere v1 primitive-drawing functions; the
RNG class for ultimate control over random number generation; SphereFS, a standard protocol for specifying asset filenames within the sandboxed file system; and full native support for JavaScript module syntax (
import/
export) as defined in ES2015. Best of all, old and new API functions can be mixed within the same codebase, making migration of existing codebases to Sphere v2 very easy.
neoSphere natively supports many modern JavaScript features such as template strings, arrow functions, destructuring assignment, even modules! The engine also comes with an SCons-inspired programmable build engine,
Cell, also JS-powered, which can be used to build assets on-the-fly. neoSphere was also the first implementation of Sphere to include support for single-step debugging! Thanks to ChakraCore's powerful built-in debugger API, it does! Using either
Sphere Studio or the
SSj command-line debugger (both included with the engine), you can set breakpoints, see console output, and step through your game's code line-by-line to find bugs, inspect variables and even run arbitrary JavaScript code.
neoSphere 5.9.2 - December 22, 2023 -
Release Notes -
GitHub RepoIncludes neoSphere, SpheRun, Cell compiler, and SSj command-line debugger.
Sphere v2 API Documentation- Sphere v2 Core API Reference - v5.9.2
- Sphere Runtime API Reference - v5.9.2
- Cellscript API Reference - v5.9.2