Skip to content

Instantly share code, notes, and snippets.

@Simoyd
Created March 7, 2019 15:15
Show Gist options
  • Save Simoyd/fd8c27e2dd084edbc47c07e7d538bcab to your computer and use it in GitHub Desktop.
Save Simoyd/fd8c27e2dd084edbc47c07e7d538bcab to your computer and use it in GitHub Desktop.
SimoydLast Thursday at 11:03 PM
hey James, I have a question for you about meteor spawning mechanics. on todays (Jan 10) hunt we went through the "center" of 8+ regions on Norkyna between 9:00pm and 9:30pm EST and didn't spawn a single meteor (not even a distant small one). I feel like I'm letting a bunch of people down :(. I was wondering if there might be some way for you to review what occurred during that time? What mechanism or system is preventing us from getting those meteors? Is there a cap on how many meteors can be active on a planet? Maybe it was already capped before we started? Is there any additional information that you might be able to share regarding the meteor spawning mechanics?
January 13, 2019
Oort "the James" ArchToday at 2:54 AM
Roughly speaking there are a few systems running.
The old 300m x 300m world grid. Walking into a cell schedules an event in that cell in the next 0mins to 120mins. Unless the grid is on a cool down. Then it’s skipped.
The new named region based system. Which will instantly spawn an event unless the region is on a cool down.
I think both cools downs are roughly 120mins.
There is a maximum number of events in the world but I doubt it’s hitting that.
I’m assuming that someone else explored the regions before you so all the regions were on cool downs.
There is a bit more to it if for example the system can’t find a place to land the meteorite.
SimoydToday at 1:47 PM
ok
when you say 300x300, do you mean 288? I've never heard of this world grid :S.
thanks for the insight though
Oort "the James" ArchToday at 1:49 PM
It's 300m (voxels) by 300m.
SimoydToday at 1:49 PM
how is the size of the meteor determined? I know it's based on the amount of people nearby but, what does everyone have to be nearby exactly? How near? is it different between the two systems you described?
Oort "the James" ArchToday at 1:49 PM
So think of it as a big grid over the entire world.
SimoydToday at 1:49 PM
but the world is 4608 right? are the grids aat the edge smaller?
Oort "the James" ArchToday at 1:50 PM
The size of the meteorite is determined by the # of players in the 300m grid.
(I'm not totally sure what happens at the edge. Would need to check the code.)
SimoydToday at 1:51 PM
Do the meteors always both appear in the sky and land, in the grid that triggered it?
Oort "the James" ArchToday at 1:51 PM
The system is:
1. Request to spawn a meteorite near a particular location. (Coordinate of the player entering the named region.)
2. Engine then searches for a place to land the meteorite. (Not too steep, not in deep water, etc.)
3. Once the landing point is picked then the meteorite is launched and will hit the exact point.(edited)
SimoydToday at 1:53 PM
ok so the players need to be inside the 300x300 grid space that the meteor is landing in?
Oort "the James" ArchToday at 1:54 PM
There are 2 systems:
1. The big 300m grid.
2. The named region.
When a player steps into the named region, the game looks to see how many players are near (I'd need to check the distance).
And then spawns a meteorite for that many players.
If it doesn't spawn, it's because the named region is on a cool down.
I think the cool down duration is 2 or maybe 3 hours.
So it someone was exploring or mining or lives in the region - you'll not get one.
I have often wanted to reduce the cool time duration - but the problem is for players who live or have a settlement in the named region.
Every time they leave their home - BOOM!
It's a balance.
On the "Temporary Worlds" we're looking to change the config rules a little.
SimoydToday at 1:57 PM
:heart:
Oort "the James" ArchToday at 1:57 PM
(These are just ideas at the moment!!)
We're thinking about:
1. Not allowing beacons on the temporary worlds.
2. Players will need to Warp in.
3. We can hence ramp up the Meteorite rules. No one lives there.
SimoydToday at 1:58 PM
I was thinking it would be awesome to have temporary planets with common colors and no ore/plants (among other possible temporary planet). So we can get fresh regions to hunt on that people wont be using for other reasons.
Oort "the James" ArchToday at 1:58 PM
We don't want players living there - because when the temporary world is taken offline - what happens to their beacon? And stuff? It just seems cleaner to say - no beacons. Hence no portals.
SimoydToday at 1:58 PM
yea that makes total sense to me. I like the idea for sure :smile:
Oort "the James" ArchToday at 1:59 PM
With the temporary worlds we can be a bit more adventurous.
Because if it's a bit crazy then it's ok - we'll replace it shortly!
How long do you think they should be online for?
Say, 1 temporary world, per region, per week? So you'd have 4 new worlds per week to explore. Hunt on. Gather the unique colours from, etc.
SimoydToday at 2:00 PM
2 weeks probably? with a 1 week overlap?
Oort "the James" ArchToday at 2:00 PM
Or is that too short? Some people in the team are pushing for monthly.
I like weekly.
SimoydToday at 2:01 PM
I feel like 2 weeks give you 2 weekends I dunno(edited)
you can explore one, and exploit the next
Oort "the James" ArchToday at 2:01 PM
Weekly Worlds just sounds better then Biweekly Worlds.
SimoydToday at 2:01 PM
or if nothing is nice for you then in 1 week you get more planets?
I dunno
Oort "the James" ArchToday at 2:01 PM
We'll see.
SimoydToday at 2:01 PM
if they come out weekly, but stay 2 weeks you can still say weekly
Oort "the James" ArchToday at 2:01 PM
We'd obviously need more worlds if the universe was fuller.
SimoydToday at 2:02 PM
sounds awesome though. looking forward to it for sure!
Oort "the James" ArchToday at 2:02 PM
If there was a new world every 2 days, and they stayed for 7 days each, then there would be a rolling cycle of 4 new worlds all the time.
SimoydToday at 2:03 PM
yea that could be good too
I guess it feels bad to miss a planet/color
but if they cycle fast enough you can try to catch the next one
yeah I'm not sure what's best there
perssonally with my pacing I'd prefer a week or 2. a month seems long
but that's just me heh
but spawning frequently and offsetting them sounds amazing to me
do you mind if I share the information regarding the meteor spawning?
paraphrasing
Oort "the James" ArchToday at 2:05 PM
Nope.
SimoydToday at 2:05 PM
cool :smile:
Oort "the James" ArchToday at 2:06 PM
(In general I try not to DM anything that can't be shared publicly, because I can't trust it'll not be shared publicly.)
SimoydToday at 2:06 PM
I'm going to add a 300x300 grid to my map site. maybe that way we can touch more areas, hit more triggers
I get that, but I want to be respectful too :smile:
but thanks!
Oort "the James" ArchToday at 2:06 PM
The 300x300 grid is a bit useless.
(And hence why we expanded it.)
SimoydToday at 2:07 PM
well on high tier planets even level 1 meteors give significant oort
Oort "the James" ArchToday at 2:07 PM
The system schedules an event for the future.
SimoydToday at 2:07 PM
so if we can just hit them, maybe we get a region meteor after, and while we're doing that we get a grid meteor
doesn't hurt to run thru it
Oort "the James" ArchToday at 2:08 PM
So when you walk into the region it says: schedule an event in 45 minutes. When it then triggers it looks to see how many people are near. But normally the person who triggered it is long gone.
The rough idea was to spawn meteorite events around where players lived. When one landed you'd go do it.
But players didn't approach it that way. If they're at home - they're not interested in meteorites. And the system was terrible for hunting.
So we added the new system which was "better" for hunting.
So it's a genuine iteration of the system based on how players approached it - rather than how it was originally conceived.
SimoydToday at 2:10 PM
does there have to be a person inside the grid that spawned it when the 45 minute timer finishes? or is a neighbouring gridspace close enough?
Oort "the James" ArchToday at 2:10 PM
I think it just gets spawned.
The grid is often called a "broadcast region".
It's a grid that defines what entities the server should send you.
Some entities are global, some are in the big grid, others are in a 32m grid, etc.
This is why you can sometimes see a meteorite up to 300m + 299m = 599m away.
And sometimes only 301m away.
Because it's giving you entity information about the next cell in the grid.
(If that makes sense.)
I'm in grid (0,0) an it tells me about metoerites in (1,0), (1,1), (0,1), etc. around me.
SimoydToday at 2:13 PM
is this on the web socket? is it json by chance XD
Oort "the James" ArchToday at 2:13 PM
Ummmm...
Input is sent via UDP from the client to the server, entity interactions are sent on WebSockets, the server responds with everything on the WebSocket.
It might be JSON, or might be MsgPack.
I can't remember. It might vary per data type.
SimoydToday at 2:15 PM
yeah ok
cool
Oort "the James" ArchToday at 2:15 PM
But it'll be encrypted over wss. Secure Web Sockets.
SimoydToday at 2:15 PM
I mean
world default block color json has been pulled out of the web sockets
can probably figure out a way to read more data I dunno
or is that a big problem :S
Oort "the James" ArchToday at 2:20 PM
The block colour stuff was changed because it was being sent for every portal open and this was quite slow.
(I think. Jeesh - can't remember.)
SimoydToday at 2:21 PM
ok
well I appreciate all this information! it's very helpful
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment