Skip to content

Releases: spheredev/neosphere

minisphere 4.1.1

24 Aug 04:41
Compare
Choose a tag to compare

minisphere 4.1.1 is a maintenance release for minisphere 4.1.

Changes in This Version

  • When starting a game with a JSON manifest, the main script is now run as a
    CommonJS module unless the manifest explicitly specifies version: 1.
  • console methods now actually send text to the console.
  • Sphere Studio now runs minisphere Console at V0 verbosity by default.

Installing in Windows

Simply download and run minisphereSetup-4.1.1.exe. The Inno Setup install wizard will walk you through the installation process.

Installing in Linux

For Ubuntu (14.04 and later), minisphere is available via personal package archive (PPA):

Installing from a PPA is easy. Simply open Terminal and run the following commands:

  • sudo add-apt-repository ppa:fatcerberus/minisphere
  • sudo apt-get update
  • sudo apt-get install minisphere

You only need to do this once. The system will automatically notify you of future minisphere updates.

For other Debian distributions such as Linux Mint or Debian itself, simply download one of the .deb packages below. Users of 32-bit systems will want minisphere_4.1.1_i386.deb, while 64-bit users should download minisphere_4.1.1_amd64.deb. Once downloaded, simply double-click the file and your package manager will guide you through the process of installing the package.

minisphere 4.1.0

22 Aug 06:43
Compare
Choose a tag to compare

minisphere 4.1.0 is the first minor release in the minisphere 4.x release series, introducing a new CommonJS module, assert, to the standard library.

Breaking Changes

  • There is a new Standard Library module included, assert. It is based on
    the Node.js built-in module of the same name, and includes most of the same
    methods with identical semantics.
  • A handful of system object functions have been renamed and given simpler
    names. Specifically: system.doEvents() is now system.run(), and
    system.restart() is now system.reset().
  • The Sphere Studio plugin now includes an option to display ssj.trace()
    output. Previously this output would always be invisible while using the GUI
    debugger, with no way to show or even retrieve it.

Changes in This Version

  • Adds a new module to the standard library: assert, based on the Node.js
    built-in assert module. Unlike ssj.assert(), the functions in this module
    throw an AssertionError when an assertion fails.
  • Renames a few system APIs, giving them easier-to-remember names.
  • Adds an option to show ssj.trace() output while debugging a game with
    Sphere Studio.

Installing in Windows

Simply download and run minisphereSetup-4.1.0.exe. The Inno Setup install wizard will walk you through the installation process.

Installing in Linux

For Ubuntu (14.04 and later), minisphere is available via personal package archive (PPA):

Installing from a PPA is easy. Simply open Terminal and run the following commands:

  • sudo add-apt-repository ppa:fatcerberus/minisphere
  • sudo apt-get update
  • sudo apt-get install minisphere

You only need to do this once. The system will automatically notify you of future minisphere updates.

For other Debian distributions such as Linux Mint or Debian itself, simply download one of the .deb packages below. Users of 32-bit systems will want minisphere_4.1.0_i386.deb, while 64-bit users should download minisphere_4.1.0_amd64.deb. Once downloaded, simply double-click the file and your package manager will guide you through the process of installing the package.

minisphere 4.0.1

14 Aug 05:44
Compare
Choose a tag to compare

minisphere 4.0.1 is a backwards-compatible update for minisphere 4.0. This update fixes a bug in system.extensions which caused the array to be missing entries.

Changes in This Version

  • system.extensions now includes properties for individual extensions. Each
    has a value of true, which allows games to check for the presence of extensions via, e.g.
    an if statement instead of searching the array.
  • Fixes a bug which caused the system.extensions array to be missing entries.

Installing in Windows

Simply download and run minisphereSetup-4.01.exe. The Inno Setup install wizard will walk you through the installation process.

Installing in Linux

For Ubuntu (14.04 and later), minisphere is available via personal package archive (PPA):

Installing from a PPA is easy. Simply open Terminal and run the following commands:

  • sudo add-apt-repository ppa:fatcerberus/minisphere
  • sudo apt-get update
  • sudo apt-get install minisphere

You only need to do this once. The system will automatically notify you of future minisphere updates.

For other Debian distributions such as Linux Mint or Debian itself, simply download one of the .deb packages below. Users of 32-bit systems will want minisphere_4.0.1_i386.deb, while 64-bit users should download minisphere_4.0.1_amd64.deb. Once downloaded, simply double-click the file and your package manager will guide you through the process of installing the package.

minisphere 4.0.0

12 Aug 04:14
Compare
Choose a tag to compare

minisphere 4.0.0 is the fourth major minisphere release. This version introduces the brand-new Sphere v2 API for a fully modern Sphere development experience.

Release Notes - Breaking Changes

  • Several object constructors such as Image, Color, and Surface have been
    repurposed as Sphere v2 APIs, while constructors for legacy objects such as
    ByteArray have been removed entirely. Any code using the constructors will
    need to be updated.
  • Objects constructed using a Sphere v2 API--such as the Image constructor
    (see above), Color.Black et al., and so on--are no longer compatible with
    the Sphere v1 API. For example, you can't use a v2 Color object with
    Rectangle() or assign a v2 Image to a v1 spriteset. Doing so will cause
    a TypeError.
  • The Sphere v1 API is now deprecated in its entirety. It is not recommended
    to use any Sphere v1 functions in new games, and the v1 API is thus no longer
    documented. New games should use the Sphere v2 API exclusively and migration
    is highly recommended for existing games.
  • Automatic CoffeeScript and TypeScript transpilation has been removed from the
    engine. This was always a bit of a misfeature as Duktape isn't quite fast
    enough to do this on demand without causing unwieldy delays. Any
    transpilation must now be done in advance.

Changes in this Release

  • Introduces the new Sphere v2 API. The entire Sphere v1 API, including the
    map engine, has been deprecated and is no longer recommended for use in new
    games. For information on using the functions in the new API, see
    docs/sphere2-api.txt.
  • miniRT has been overhauled and repurposed as minisphere's implementation of
    the Sphere v2 standard library. See docs/miniRT-api.txt for more
    information.
  • Drops support for on-the-fly transpilation of TypeScript and CoffeeScript.
    This must now be done in a separate step.

Installing in Windows

Simply download and run minisphereSetup-4.0.0.exe. The Inno Setup install wizard will walk you through the installation process.

Installing in Linux

For Ubuntu (14.04 and later), minisphere is available via personal package archive (PPA):

Installing from a PPA is easy. Simply open Terminal and run the following commands:

  • sudo add-apt-repository ppa:fatcerberus/minisphere
  • sudo apt-get update
  • sudo apt-get install minisphere

You only need to do this once. The system will automatically notify you of future minisphere updates.

For other Debian distributions such as Linux Mint or Debian itself, simply download one of the .deb packages below. Users of 32-bit systems will want minisphere_4.0.0_i386.deb, while 64-bit users should download minisphere_4.0.0_amd64.deb. Once downloaded, simply double-click the file and your package manager will guide you through the process of installing the package.

minisphere 3.3.0

31 May 17:10
Compare
Choose a tag to compare

minisphere 3.3.0 is the fourth minor release in the 3.x series. This release boasts improved random number generation using the xoroshiro128+ algorithm, and predefined colors such as Color.Red, Color.Chartreuse, Color.DodgerBlue, etc.

Release Notes - Breaking Changes

  • Several legacy API calls have been deprecated (but retained for backward
    compatibility) in favor of new designs:
    • Font.Default, Mixer.Default, and ShaderProgram.Default properties
      replace GetSystemFont(), GetDefaultMixer(), and
      GetDefaultShaderProgram(), respectively.
    • Color.mix() replaces both BlendColors() and BlendColorsWeighted().
  • A large collection of predefined colors (the full X11 set) is now provided
    via direct properties of Color. This is often more convenient than
    constructing Color objects manually, and makes code dealing with known colors
    much more readable.
  • minisphere now uses the much faster xoroshiro128+ algorithm to generate
    random numbers instead of Mersenne Twister used in past versions. This may
    affect games using RNG.reseed() to manually seed the generator, since the
    generated values will differ.

Changes in this Release

  • Now uses xoroshiro128+ as the random number generator instead of the slower
    Mersenne Twister.
  • Adds a new property to the RNG object, RNG.state. This allows you to save
    and restore the internal state of the random number generator, for example to
    deter save scumming.
  • Adds a bunch of new API calls to make working with Color objects easier:
    Color.fade(), Color.of(), Color.mix() (which supersedes the old
    blending functions), Color#name, and a bunch of predefined colors such as
    Color.Chartreuse, Color.Blue, etc.
  • Font, Mixer, ShaderProgram and WindowStyle now include static
    .Default properties which refer to the corresponding built-in default
    assets.

Installing in Windows

Simply download and run minisphereSetup-3.3.0.exe. The Inno Setup install wizard will walk you through the installation process.

Installing in Linux

For Ubuntu (14.04 and later), minisphere is available via personal package archive (PPA):

Installing from a PPA is easy. Simply open Terminal and run the following commands:

  • sudo add-apt-repository ppa:fatcerberus/minisphere
  • sudo apt-get update
  • sudo apt-get install minisphere

You only need to do this once. The system will automatically notify you of future minisphere updates.

For other Debian distributions such as Linux Mint or Debian itself, simply download one of the .deb packages below. Users of 32-bit systems will want minisphere_3.3.0_i386.deb, while 64-bit users should download minisphere_3.3.0_amd64.deb. Once downloaded, simply double-click the file and your package manager will guide you through the process of installing the package.

minisphere 3.2.0

22 May 17:26
Compare
Choose a tag to compare

minisphere 3.2.0 is the third minor release in the 3.x series. This release boasts a vastly improved module resolver based on Node.js and console.log() support, and paves the way for an eventual API overhaul in minisphere 4.0. Upgrading is highly recommended.

Release Notes - Breaking Changes

  • Module IDs passed to require() are resolved using a more advanced algorithm
    designed to emulate the behavior of Node.js. Compatibility is mostly
    retained; however, there may be subtle differences, for example in the
    handling of relative IDs.
  • minisphere 3.2 supports console.log() and its variants. Output produced
    this way will only be visible with the debugger (SSJ) attached.

Changes in this Release

  • The module system has been overhauled to work more like Node.js, and now has
    support for package.json files, parsing JSON files as objects, and useful
    APIs such as require.cache, module.loaded, and module.require.
  • require() can now load JS modules from anywhere in a game's file system by
    prefixing the module ID with a SphereFS alias (@/, ~/, or #/).
  • Adds support for console.log() and friends. stdout is reserved for
    under-the-hood logging, so console output will only be visible when SSJ is
    attached.
  • Improves frameskip behavior: The frame timer is now reset only if the skip
    limit is hit. This should ensure a more consistent update rate even under
    lag conditions.

Installing in Windows

Simply download and run minisphereSetup-3.2.0.exe. The Inno Setup install wizard will walk you through the installation process.

Installing in Linux

For Ubuntu (14.04 and later), minisphere is available via personal package archive (PPA):

Installing from a PPA is easy. Simply open Terminal and run the following commands:

  • sudo add-apt-repository ppa:fatcerberus/minisphere
  • sudo apt-get update
  • sudo apt-get install minisphere

You only need to do this once. The system will automatically notify you of future minisphere updates.

For other Debian distributions such as Linux Mint or Debian itself, simply download one of the .deb packages below. Users of 32-bit systems will want minisphere_3.2.0_i386.deb, while 64-bit users should download minisphere_3.2.0_amd64.deb. Once downloaded, simply double-click the file and your package manager will guide you through the process of installing the package.

minisphere 3.1.2

11 May 07:11
Compare
Choose a tag to compare

minisphere 3.1.2 is a backwards-compatible update for minisphere 3.1. This update fixes a deadlock issue when running against Allegro 5.0, which is an issue on Linux, as well as a bug which could have prevented .s2gm-based games from running.

Changes in This Version

  • Fixes an issue where sounds were reinitialized whenever a script called
    Sound#play() (including the first time), potentially triggering a deadlock
    bug in Allegro 5.0. This affects Linux only, as Allegro 5.2 is used on
    Windows.
  • Fixes a regression in minisphere 3.1.0 which could cause games with an
    otherwise valid .s2gm manifest to fail to start with an Unsupported Engine
    error.

Installing in Windows

Simply download and run minisphereSetup-3.1.2.exe. The Inno Setup install wizard will walk you through the installation process.

Installing in Linux

For Ubuntu (14.04 and later), minisphere is available via personal package archive (PPA):

Installing from a PPA is easy. Simply open Terminal and run the following commands:

  • sudo add-apt-repository ppa:fatcerberus/minisphere
  • sudo apt-get update
  • sudo apt-get install minisphere

You only need to do this once. The system will automatically notify you of future minisphere updates.

For other Debian distributions such as Linux Mint or Debian itself, simply download one of the .deb packages below. Users of 32-bit systems will want minisphere_3.1.2_i386.deb, while 64-bit users should download minisphere_3.1.2_amd64.deb. Once downloaded, simply double-click the file and your package manager will guide you through the process of installing the package.

minisphere 3.1.1

10 May 06:49
Compare
Choose a tag to compare

minisphere 3.1.1 is a backwards-compatible update for minisphere 3.1. This update fixes a bug in miniRT and adds the ability to pass a Mixer object to Sound#play().

Changes in This Version

  • Fixes a bug in miniRT/music where it tried to call console.write() instead
    of console.log(), causing it to throw an error and potentially crash the
    game when logging error messages.
  • Sound#play() will now accept a Mixer as its second or third argument.
    Previously the Mixer had to be passed to the Sound constructor, which was
    awkward.
  • The map engine now uses its own mixer for map-defined BGM.

Installing in Windows

Simply download and run minisphereSetup-3.1.1.exe. The Inno Setup install wizard will walk you through the installation process.

Installing in Linux

For Ubuntu (14.04 and later), minisphere is available via personal package archive (PPA):

Installing from a PPA is easy. Simply open Terminal and run the following commands:

  • sudo add-apt-repository ppa:fatcerberus/minisphere
  • sudo apt-get update
  • sudo apt-get install minisphere

You only need to do this once. The system will automatically notify you of future minisphere updates.

For other Debian distributions such as Linux Mint or Debian itself, simply download one of the .deb packages below. Users of 32-bit systems will want minisphere_3.1.1_i386.deb, while 64-bit users should download minisphere_3.1.1_amd64.deb. Once downloaded, simply double-click the file and your package manager will guide you through the process of installing the package.

minisphere 3.1.0

07 May 07:00
Compare
Choose a tag to compare

minisphere 3.1.0 is the second minor release in the 3.x series. This release brings several improvements to SphereFS and Galileo, three new miniRT components, and fixes several minor bugs. Upgrading is highly recommended.

Release Notes - Breaking Changes

  • SphereFS prefixes have changed. Single-character prefixes are now used for
    SphereFS paths instead of the ~usr, ~sgm, and ~sys aliases used in
    previous versions. Any code depending on the old prefixes will need to be
    updated.
  • The user data folder has been renamed to "minisphere". This was done to be
    more friendly to Linux users, for whom filenames with spaces are often
    inconvenient. If you need to keep your save data from minisphere 3.0, move
    it into <documents>/minisphere/save.
  • The Galileo API has been updated with new features. These improvements bring
    some minor breaking changes with them as well. Refer to the API reference
    for details.
  • The search path for CommonJS modules has changed since 3.0. Modules are now
    searched for in @/lib/ instead of @/commonjs/.
  • ListeningSocket has been renamed to Server. Networking code will need to
    be updated.

Changes in this release

  • SphereFS now uses single-character aliases: #/ for built-in engine assets,
    @/ for the root of the sandbox, and ~/ for the user data directory (for
    save data).
  • Changes the user data directory name back to "minisphere" to be more friendly
    to Linux users.
  • Adds some new components to miniRT: miniRT/binary for easy loading of
    structured binary data, miniRT/xml for XML parsing and DOM generation, and
    miniRT/prim to pre-render expensive-to-draw primitives like circles.
  • Adds a new Transform object which allows working with transformation
    matrices.
  • Improves the Galileo API: Shapes can now be drawn directly, Groups have a
    transform property which allows their transformation matrices to be
    manipulated, and shader uniforms can be set using group.setInt(),
    group.setFloat(), and group.setMatrix().
  • Adds new Galileo Shape types SHAPE_LINE_LOOP and SHAPE_LINE_STRIP.
  • minisphere now looks for CommonJS modules in lib/ instead of commonjs/.
  • Async() is now called DispatchScript() for API consistency.
  • ListeningSocket is now called Server.
  • You can now use -0 through -4 on the command line to specify the engine
    log verbosity level.

Installing in Windows

Simply download and run minisphereSetup-3.1.0.exe. The Inno Setup install wizard will walk you through the installation process.

Installing in Linux

For Ubuntu (14.04 and later), minisphere is available via personal package archive (PPA):

Installing from a PPA is easy. Simply open Terminal and run the following commands:

  • sudo add-apt-repository ppa:fatcerberus/minisphere
  • sudo apt-get update
  • sudo apt-get install minisphere

You only need to do this once. The system will automatically notify you of future minisphere updates.

For other Debian distributions such as Linux Mint or Debian itself, simply download one of the .deb packages below. Users of 32-bit systems will want minisphere_3.1.0_i386.deb, while 64-bit users should download minisphere_3.1.0_amd64.deb. Once downloaded, simply double-click the file and your package manager will guide you through the process of installing the package.

minisphere 3.0.8

17 Apr 06:38
Compare
Choose a tag to compare

minisphere 3.0.8 is a maintenance release. This release adds support for repeatable commands in SSJ as well as fixing a segfault.

Changes in this release

  • Fixes a bug where minisphere would crash instead of showing an error message
    if it was unable to create a render context.
  • SSJ will now continue with the previous course of action if given a null
    command. This only works for certain commands.

Installing in Windows

Simply download and run minisphereSetup-3.0.8.exe. The Inno Setup install wizard will walk you through the installation process.

Installing in Linux

For Ubuntu (14.04 and later), minisphere is available via personal package archive (PPA):

Installing from a PPA is easy. Simply open Terminal and run the following commands:

  • sudo add-apt-repository ppa:fatcerberus/minisphere
  • sudo apt-get update
  • sudo apt-get install minisphere

You only need to do this once. The system will automatically notify you of future minisphere updates.

For other Debian distributions such as Linux Mint or Debian itself, simply download one of the .deb packages below. Users of 32-bit systems will want minisphere_3.0.8_i386.deb, while 64-bit users should download minisphere_3.0.8_amd64.deb. Once downloaded, simply double-click the file and your package manager will guide you through the process of installing the package.