Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(3 edits)

Thanks for checking it out, I did notice the amount of time it takes to spawn big amount of events, solving that will help a lot. 

And you right, cover the full map with events will not work for this case, since there are walls, and places I will put other events, small and big event size (house...), that why control the area with Region are  the most affective way for my case but I still need it to cover the full region area. 

So If  you find a way to add the option to spawn full region area (%100 of the region ID) using a script call that will be very helpful, I checked many spawn events, and when is come to 'fps'  with big amount of event (like I need) your spawn win them all as you probably know (galv as I emanation have the option to cover 'full' region area with spawn, but the fps drop when I spawn 600-700 event   already so I can't use it). 

I included a script call in my last post which does what you need, but it will be a lot of events spawned at once and will likely cause the same fps issues you had with other spawners as MV has problems handling that many events at once.

In a game I'm making (which is on hold while I work on my biggest tool/plugin project yet) I got around that issue by creating the boundary system which I used to spawn and unspawn events outside of the players screen so that I could reuse unspawned events over again and get a result of having practically unlimited amount of events (as far as the player knows at least) without the fps drops.

My spawner works best when events are unspawned and respawned instead of spawning 1000+ events on the map at once.

(3 edits)

I see, that probably be the best way to go with then,  just got your 'boundary' plugin, I still need to learn how to do this right. and I think I didn't explain it right, I don't need it to spawn at once, just to spawn fast as passible like your original script for region already do, but instead of spawn to part of the region spawn it to the full area of the region.

And yes, I sew the script above but is for 'random' events from the map id,  and I need to spawn 'specific' event id on the full region area, Is that passible?  Also I don't need it to spawn in the same second, as long as it spawn fast enough to not fill like is take forever (7-10 seconds?). Do you know why the method with the 'var' doesn't work? It's work with 'galv spawn', and 'galv' is weaker then your spawn, so why something like 

Ritter.spawnEvent($gameVariables.value(35),15,true);

doesn't work with your plugin? is should make it spawn not at the same time but still fill the all region (with 'jump to label' I show in the  picture above.

Here is the same idea but with 'galv spawn' script the connect to a 'var', as you can see it's  fill the all region area, not at the same time but that works for me as long as is fill the all region area without to much fps dropping:




'68' are the event number from the spawn map Id, '34' are the 'var' ID, and '11' are the region it will spawn on, using 'if: Random = 500 jump to label' make the script to repeat itself until the all area full, however when trying this way with your spawn is only add some amount of repeating but doesn't get the all region area full , but when trying to use the same idea with RitterSpawn is not working at all, is like the main 'Ritter.spawnEvent' script can't be connect to the 'variable' for some reason, could you check it out? I have other problems with 'galv' so if I can do similar thing with your spawn I prefer to use yours. There is no rush or anything so if you need time to check it that ok.

And again It's not have to be spawn at the same time (I sew how is drop the 'fps' like you said), is just need to fill it up fast as you can get it to be. Thanks again for your time, I appreciate it!

I'm currently creating a demo project which will show various ways to utilize the spawner and boundary system. I'll upload it to the store page once it's finished.

This is probably the best route to showcase the features and make it easier to understand on the users end.

I believe I have a good idea of what you're trying to accomplish here and there is a good way to handle this task with my spawner + boundary system that will be explained in the demo. You'll be able to see it in action and if it's what you need you'll be able to inspect the events which handle it within the demo and see how it's done :)

I appreciate your patience and will get this done as soon as I can! Thank you!

(1 edit)

That will be a big help, thank you! Also just to point it out, I think you sew it in the image I upload, I'm also using this spawn for an 'ABS' event (use tool the active the 'yellow ground' event and give the player an item) and also for non abs events, not sure if that make any different, but wanted to point this out. 

One  more thing, I sew you have two parameters in the 'spawn' plugin to define  the start  ID number for normal spawn events and another parameter for  start ID for 'abs tool events', I didn't really  understand what is for, are this is just tell the engnie the event I spawn on the map will be ID number 1000, and then next spawn event ID number1001, and so on? are this ID number change by each event or by each 'spawn'(so any amount events in the spawn script will include in one ID)?  why/how this will make any change in the spawn?  I sew some drop fps when I change the number to 1, but didn't understand why, maybe you added this parameter to use it with the  Boundary plugin? if you can add some info about that in the plugin info with some examples for what I will want/need to change the Parameter ID numbers, that will help too. 

I'm looking forward for the demo :) 

About the two parameters:

For Spawn Starting Event Id, this parameter allows for the spawner to start spawning events at a specific ID such that the spawner has its own space to work without interfering with other events, just a clean workspace for the spawner so that you know any events spawned after this number is a spawned event. I defaulted this to 1000. Basically when you spawn your first event its id will be 1000, then the next event will be 1001, then 1002 etc. etc. Now when you unspawn one of these events that eventId will be reused on your next spawn unless that event was saved, if the event was saved then that unspawned event remains in the queue waiting to be respawned, thus an extra event remains on the map. To restore an unspawned event which was saved you need to use Ritter.restoreUnspawnedEvent(eventId). Restoring unspawned saved events can be rather tricky to figure out at first though, its something I intended to expand on to make easier but haven't gotten around to it yet. If you're using thousands of saved events it would likely take quite a bit of reworking the spawner code to handle that really well and would likely need to reuse events which wouldn't preserve their original event ids.

As for the Chrono Engine Tool Event Offset parameter this was implemented because in my testing i found that tool events (when you attack) could sometimes steal some event properties from the final event on your event list. In some cases this interfered with gameplay in a game i'm developing so i created an offset to allow for a null/undefined event to be the final event in the list at all times, this made it so that tool events were allowed to operate unobstructed without grabbing properties from an event which is unintended. I defaulted this to 2000 because you should never have that many events on the map anyway thus event 2000 will be undefined and have no properties to steal. I'm not 100% sure why this happens with those tool events but this was the easiest way to correct the issue. :]

So in short just set the first spawn id parameter to a large number, and the chrono engine offset number to a much larger number.

Also the demo is coming along well and should be ready soon-ish. Trying to make sure I include enough in the demo to be a useful tool to pull ideas from :]

(4 edits)

Thanks for the explanation, sounds like simple but affective way to solve the Chrono engine issue, and yes I'm still worry a bit about the loading save un-spwan' events, my game have day and night system and basically every 'morning' player will be able to 'attack' the ground (and found items) again, that when I plan to restore the 'un-spwan' events. a good example how  to the 'restor' events effectively will definitely going to help, And no rush with the demo (I can't wait though :))