Skip to main content


Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Fat Cerberus

Engine Development / Re: miniSphere 5.2.9
Forgot to mention this above, the module fix besides fixing the aforementioned crash, also corrects module load order which was previously reversed, such that imports will now correctly execute in the expected order, e.g. this will now work properly:
Code: [Select]
import 'side-effect-module-1';
import 'side-effect-module-2';

In miniSphere versions prior to 5.2.9, such imports would execute in reverse order, which could cause issues especially in cases where modules are pulled in only for their side effects, à la legacy RequireScript. Special thanks to @Rhuan for fixing this in ChakraCore.
Engine Development / Re: miniSphere 5.2.9
miniSphere 5.2.9 is up.  It fixes a few minor SSj bugs as well as a bigger issue where certain combinations of circular module dependencies and import() (or require()) can crash the engine.  Barring major unforeseen issues (read: a showstopping bug), this will be the final release in the 5.2 series so that work can commence on miniSphere 5.3.
Projects / Re: Project ZeC (My Zelda-esque Clone)
You had an excuse before as Duktape wasn't *that* much faster, but now you're missing out on blazing fast JS by sticking with 1.5 ;)
Engine Development / Re: miniSphere 5.2.7
Yeah, the default project has been broken since miniSphere 5.0.0, that release changed the API significantly compared to 4.8 but it seems that I neglected to test creating a new project before I did the release.  I'll fix this in 5.2.8.  There was also a separate, more serious issue I discovered where several APIs are missing due to a bug in apiLevel handling.

Note that API Level 1 is frozen since 5.0.0 (the system modules are not, but I do try not to break them unnecessarily), so breakage like this should be minimized going forward.
Projects / Re: Project ZeC (My Zelda-esque Clone)
The minimum requirement to run ChakraCore (the JavaScript engine miniSphere uses since 5.0) is Windows 7 SP1 so there's probably no hope of getting miniSphere to run on that machine, unfortunately. :(
Game Development / Re: The Screenshot Thread
It'll be neat to see something using vector graphics, I think.  You didn't see much of that with Sphere v1 because the API just wasn't designed for it.  The v2 Shape class is a perfect fit for that, though. :D
Game Development / Re: The Screenshot Thread
SSj Blue

It makes me happy to see this banner :)

Kind of off-topic, I notice it says "60 fps" instead of "60/60 fps", which means you have Sphere.frameRate set to infinity or else are using the Sphere v1 API without calling SetFrameRate (presumably you're FPS-locked by your graphics driver hence why it stays at 60).  I don't recommend doing this as it will max out a CPU core and kill battery life on laptops.  If you set a specific framerate the engine will be more friendly to the CPU and background programs :P
Engine Development / Re: miniSphere 5.2.5
5.2.5 is up as a hotfix for a regression that prevented miniSphere 5.2.4 from being able to run standalone .js and .mjs scripts (it would show an unsupported API level error and quit).  Sorry about that!
Engine Development / Re: miniSphere 5.2.4
miniSphere 5.2.4, 5.1.4 and 5.0.2 are up.  I did a simultaneous release across three minor versions to bring the API back into parity, since backward compatibility had drifted due to important bug fixes (for example 5.0 didn't support index.mjs) and the recent addition of system-directory packaging.  Now if you target API level 1 and the game works properly with --retro it is also guaranteed to work in miniSphere 5.0 (which notably is the last 32-bit version), as it should be.

No functional changes in 5.2.4 other than to drop the reported API level back down to 1.  Since I updated 5.1 to realign the level 1 API, the premature freeze mentioned above is no longer necessary.

5.0.2 and 5.1.4 are available on either the miniSphere GitHub Releases page or the Downloads Drive, if anyone needs them.
Engine Development / Re: miniSphere 5.2.3
Because miniSphere 5.1 shipped with Sphere.APILevel set to 2, in the interest of maintaining backward compatibility the APIs introduced in that release have been retroactively frozen and the current experimental API level increased to 3.

APIs added in level 2:
  • JobToken .pause() and .resume()
  • Color.PurwaBlue
  • Color.RebeccaPurple
  • Color.StankyBean

edit: The freeze mentioned above was reversed thanks to the release of 5.0.2 and 5.1.4.  Disregard this post.
Engine Development / Re: miniSphere 5.2.2
miniSphere 5.2.2 is now available to fix a nasty bug in 5.2.0 and 5.2.1 that prevented double-clicking on minisphere.exe to launch the engine.  I'm a bit ashamed that this slipped under the radar, there's really no excuse for me not picking something that obvious up before the release.

Oh well, in any case it's fixed now. :sweat_smile:
Engine Development / Re: miniSphere 5.2.1
I forgot to mention before for anyone who hasn't already noticed, miniSphere 5.2 is now out of beta and brings a ton of new stuff: profiling, retrograde mode (old API emulation), blendmodes for Sphere v2, Dispatch.onExit() and much more.  Also, a lot of overhauling was done under-the-hood to give a very nice performance boost compared to v5.1. :smile:
Engine Development / Re: miniSphere 5.2.0
I agree TTF support would be nice to have, raster fonts work well enough in most cases but there's nothing like having an infinitely scalable typeface.  I'd want to give the API some thought first, as even if we just start with the bare essentials it needs to be extensible enough to remain stable.

I'll think about the best way to proceed on this front.
This just in!  miniSphere 5.2b3 is up and fixes more bugs and brings new features for backward compatibility testing: 1) An apiLevel field in the game manifest for targeting a specific version of the API, and 2) --retro command-line option for SpheRun that makes the engine emulate the targeted API level (anything newer is disabled).
No, I got that, I'm just trying to figure out what the significance of using that song in particular is.  Unless it's just because it's a really goofy song?  I'm confused.