Skip to main content

News

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 - Rhuan

46
Projects / Re: Project ZeC (My Zelda-esque Clone)
I've not used persist.js but based on reading your error and the code I think it expects you to have a map script or each map AND for each of those map scripts to define all of the standard scripts for that map - if you want the script to be blank I think you still need it in the map script just have it as an empty function.

I think what's happening is that persist.js has overwritten the default on enter map script (which would be blank) with the one it has read from your map script file - but you didn't include one so instead of "" it got the value undefined which is what it's then trying to execute.
47
I'm sorry for the further delays - I've had a lot of important refactoring to do and also been testing miniSphere v5.

The attached shows a little test of 1400 sprites walking around with collisions disabled.

Multi-layer rendering is now working - the 700 Celes are on a higher layer than the 700 Arvis.

It also shows some windowstyles drawn with my new (draft) HUDSystem script - another piece to add to this package.

It allows you to assemble a HUD comprised of multiple shapes then move that HUD around as a unit and draw it with a single command - it also includes helper functions to simplify adding various shapes and object types to the HUD include windows using .rws files (and images and text etc). I'd like to add a few more helper functions then will be sharing it.

But for now the next goal has to be fixing the refactored map engine - I broke it when I converted it to ES6.
48
Projects / Re: My Junk
I was actually planning to look at Sphere again when it seemed to be settled on working API and the old one was completely phased out.

I stopped using Sphere around that one big update where the entire codebase started to be changed. All of my stuff was written in the Sphere 1.5 API and I was much too lazy to rewrite everything/re-learn the new API.
miniSphere still supports 95% of Sphere 1.5s API so you could continue with what you already have.

As for the v2 API getting a freeze it's nearly there, there are just kinks to work out that should be fixed before it's frozen.
49
Projects / Re: My Junk
Some of this stuff seems pretty impressive for "junk".

Shame you assumedly (from your post) can't stick around.
50
Projects / Re: Project ZeC (My Zelda-esque Clone)
Started a Project: ZeC miniProject including persist.js. Wondering, how difficult & time consuming it would be to try to include it in to the things already created in P:ZeC.

At a current total of 401 maps, there is just so much already created that it may be too time consuming to try to convert the project to include persist.js.

My next project will include it.
There could probably be a script that would export all of the scripts from your maps into text files - I have code that loads rmp files as JS objects, it would just be a case of working out what needed to write back out again.

The version is Sierra. The current miniSphere MacOS Port should function.
Excellent - FYI worth saying that it's a miniSphere 5 beta port, one known bug is that the startup game is unusable in the version 5 beta - just do the one of the following to get around that:
a) rightclick your game.sgm file and do open with and select miniSphere OR
b) rename your game folder as startup and put it in the same folder as miniSphere - double clicking miniSphere should then find it
c) double click miniSphere it should give you a box assking you to open something - select your game's game.sgm file and click ok.
51
Projects / Re: Project ZeC (My Zelda-esque Clone)
Yes it's built on Sierra and targeting Sierra, I could build targeting an older version if wanted - I've just seen so little to no feedback from anyone using it other than me so kept it with the easiest option for now.

TBH: I'm not sure what version the other person is using and I, personally, haven't used an apple computer since the era of the original little boxy Macintosh.
Sierra is the latest version of macOS the linked version of miniSphere should run out of the box on that and may run on older versions but may not, I should be able to build it for anything back to OSX 10.8 (aka Mountain Lion) with a little fiddling so let me know if it doesn't work for your friend and which version they want me to target. (If they need earlier than 10.8 it may be difficult)
52
Projects / Re: Project ZeC (My Zelda-esque Clone)
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.
Yes it's built on Sierra and targeting Sierra, I could build targeting an older version if wanted - I've just seen so little to no feedback from anyone using it other than me so kept it with the easiest option for now.
53
Projects / Re: Project ZeC (My Zelda-esque Clone)
If you want it to be sphere 1.5 you'll have to point them to using wine.

On the other hand with miniSphere I build mac versions of miniSphere and share them:
http://forums.spheredev.org/index.php/topic,1215.msg10639.html#msg10639

I'm hoping at some point to add my build set up to the github repo so other people can build for macOS but my setup is a bit Heath Robinson at the moment so would need refactoring before it could be shared - for now the binaries I've posted are quite usable.
54
Projects / Re: Project ZeC (My Zelda-esque Clone)
@Miscreant : you can slow down your 1.5 code to an appropriate rate by passing a framerate limit when making your MapEngine call. MapEngine(name_of_first_map, framerate);

@Fat Cerberus SetFrameRate is only meant to control out of map engine drawing - render scripts are called by the mapengine fps (per the api documentation anyway)

And yeah repeating what Fat Cerberus said - removing detritus from your scripts will speed up 1.5 but the only thing it would change in miniSphere is the time to open the script in the first place so unless you have noticeable loading times removing comments and white space is largely irrelevant for miniSphere. (Well if it was a MB or more worth of comments it could be enough to cause an actual noticeable load time but that's about it)
55
Projects / Re: Project ZeC (My Zelda-esque Clone)
In general if you need something to happen on the map before your script continues you have to stick in those 3 lines to guarantee it, unless instead you have it queued as a person script where the person script contains a condition OR the thing you want to wait for is that person to move (as their queued script won't execute until they've finished moving - note "moving" in this context is not the same as having a function set their x and y I'm talking about queued movements)
56
Projects / Re: Project ZeC (My Zelda-esque Clone)
I tested each individual Triforce room currently created 10 times each. CollectTriforce() functioned each time in miniSphere. In sphere, however, the function would skip past relocating the Triforce and the player but process playing the sound and the rest of the function.
OK, So either before the Delay or before the Queue person script call put in:
UpdateMapEngine();
RenderMap();
FlipScreen();

Or actually to make it simpler forget queue person script for that one just do:

CollectTriforce();
UpdateMapEngine();
RenderMap();
FlipScreen();
LevelComplete(x, y, map);

Looked it over and it seems clear that with Sphere 1.5 what's happening is that your queued person script executes before the mpa gets redrawn after moving the people as in the internal logic works like this (for every cycle of the map engine):

1. Update Map including running any person scripts
2. Draw the Map
3. Return to 1.

In this case your function to move your people and then queue a script gets called BUT the queued script then gets called as well still in step 1 and so the map is not drawn after the movement.
57
Unfortunately my effort over the last two days to make a cell script to convert rmp files into the format I want has proved to be a total failure - the initial version of my planned format is totally useless, back to the drawing board with that, in the mean time I'll work on sprites.
58
Projects / Re: mp3 SoundStream demo: mp3 playback in JS!
Hmm very interesting concept, linked sound and music - I feel like that should have a game related application.
59
Projects / Re: Project ZeC (My Zelda-esque Clone)
My read of your other topic was that it was the Delay that wasn't working, not the QueuePersonScript, that aside if you don't want to use QueuePersonScript, then use the loop method.
60
Projects / Re: Project ZeC (My Zelda-esque Clone)
huh? Very simple. If x = 39 destroyperson... why the is he still there when his x = 39?
That looks like a script that runs once? If yes - the commands to move are queued then the condition is checked (he won't have moved yet so I assume the condition returns false) then the movement commands execute.

Movement commands do not happen during script execution - in general, sphere is entirely single threaded, at any given time only one thing can be happening.

Options:
1. Simple option you could use QueuePersonScript to queue destroying the person - this would trigger as soon as the movement queue emptied - no reason to put in a condition check it would just be when he stopped moving.

2. You could put the condition check and DestroyPerson command into the update script - though this seems excessive for a one time event.

3. you could put a loop into the script that does:
Code: [Select]
while(GetPersonX('OldMan') !=39)
{
  UpdateMap();
  RenderMap();
  FlipScreen();
}
DestroyPerson("OldMan");
UpdateMap and processes the movement queue and Render Map draws the map - a loop like this basically runs the map engine during your script, if you want to have other things happen after the Old Man finishes moving this another way to do it. (Though simply using QueuePersonScript("Old Man", "DestroyPerson('Old Man');", false); may be easier.)