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

Also, I can infer that zones and triggers would still be need to coded internally in the map file. Looking through the 1.5 api file(which I started this project with) it does not appear that the zone or triggers can be created externally with coding.

Yeah, the problem with zones and triggers is that they are not named, so there's no provision for them in persist.js.  One of the unfortunate limitations of the classic map engine. :(
Radnen's analogue.js is newer and fixes a few nagging bugs that persist had, so I would recommend that.
Libraries / Re: box2d-sphere
@Eggbertx Have you tried it on the 5.0 beta at all?  Beta 2 is fairly stable, there might be a glitch here and there but it should run pretty well.  For the next beta I should probably have it install in a different location so that people can use 4.8.x and the 5.0 beta side-by-side.
@Miscreant The persist.js map script syntax is a bit weird, basically the whole file is a big object literal which is eval()'d.  It was done that way as a necessary evil because otherwise, with traditional JS, all the functions in the file would be global.  Putting them into an object which can be eval'd gets around that limitation.
Libraries / Re: box2d-sphere
Nice!  miniSphere 5.0 will make this kind of thing more practical too, thanks to Chakra's blazing-fast performance.

I spotted that SSj Blue badge in your screenshot.  I imagine you might have leaned on the debugger a lot while developing something like this! ;)
Projects / Re: Project ZeC (My Zelda-esque Clone)
Almost.  You have an extra spurious ( before "function" that shouldn't be there, though.
Projects / Re: My Junk
The Sphere 1.5 API is still fully supported.  I purposely never broke compatibility for v1 code.

That said, the upcoming 5.0 is planned to be an API freeze, so there should be no more API breakages after that point unless absolutely necessary.
Projects / Re: Project ZeC (My Zelda-esque Clone)
There's a macOS build of miniSphere 5.0b1 in the downloads drive:

I'm not sure what the minimum macOS/OS X version to run it is though.  I think Rhuan built it on Sierra.

edit: ninja'd by @Rhuan.
Projects / Re: mp3 SoundStream demo: mp3 playback in JS!
I was thinking last night, I should probably move the actual mp3 player functionality out into a class that can be used in other games.  At least once I fix the bug where it crashes the game at the end of playback...
Projects / Re: Project ZeC (My Zelda-esque Clone)
I'm assuming the game already knows which level you're in, so the pseudocode should be as simple as:

Code: [Select]
if (currentLevel.playerHasCompass)

Right?  I see no reason to look through the whole array of compass values when you already know which level you're in (and you would have to know that, to display the correct map in the first place).
Projects / Re: Project ZeC (My Zelda-esque Clone)
I think I got stuck inside the dungeon for a few months too...

The grumble, grumble guy?

Yeah, I think so.  Didn't realize I had to give him the bait.
Projects / Re: Project ZeC (My Zelda-esque Clone)
That gives me PTSD flashbacks of going around the entire world in circles for hours at a time trying to find Level 7 as a kid.  It took me years to actually find it.  How was I supposed to guess I had to use the whistle for a purpose that wasn't even hinted at before?

I think I got stuck inside the dungeon for a few months too...
Projects / Re: mp3 SoundStream demo: mp3 playback in JS!
I updated the demo with code changes to support to most recent beta (5.0b2).
Engine Development / Re: miniSphere 5.0b2 (stable: 4.8.8)
miniSphere 5.0b2 and 4.8.8 are up.  Unlike the first beta, 5.0b2 has breaking API changes, so be sure to read the documentation to get up to speed.
Engine Development / Re: miniSphere 5.0b1 (stable: 4.8.7)
Since ES6 modules will be natively supported in miniSphere 5.0, I'm going to deprecate require().  It will remain available for legacy compatibility with modules written for Node, but is otherwise no longer recommended for use in Sphere code.  import and export are much more elegant and will be the preferred mechanism for linking together scripts going forward.

Speaking of legacy compatibility, I recently added a new API, FS.evaluateScript(), which allows loading old-fashioned JS scripts.  I realized I was using RequireScript() a lot to load stuff like Aurora.js, which is awkward in an otherwise fully Sphere v2 codebase especially since all the v1 functions are technically deprecated... ;)