lare96 / asteria-3.0

An open source Runescape server designed to emulate the #317 protocol. This is no longer being developed.
GNU General Public License v3.0
41 stars 22 forks source link

Hyperion region system, with prioritization #24

Open lare96 opened 9 years ago

Promises commented 9 years ago

Sounds great, good luck! Maybe even implement cache loading serverside?

lare96 commented 9 years ago

Eh, probably not.

ghost commented 9 years ago

Will you still do this? Why not Apollo's

Mind also explain the prioritization?

lare96 commented 9 years ago

As you know, during updating when players are being added to your local lists it's done in intervals of 15. If you're in the wilderness and there's 100 people that you have to add to your list, it'll take approximately 6.7 ticks or in other words 4 seconds for you to be able to see everyone. If in that time, someone who hasn't been added to your local list is attacking you, you won't be able to see them. I'm sure you can figure out why this could be a problem?

It's prioritized first by people attacking you, then next comes the people closest to you (because that just makes sense).

If I recall correctly no other publicly released server does this, I'll take a look at Apollo's region system though.

ghost commented 9 years ago

I've done this on an older version of asteria. Not sure if I have the code still. Either way, I can't access my computer for few days but I'll try to look at it back home.

Apollo's regions sizes is 8x8 tiles. Which ia small in my opinion. As about the distance, you set a vkewing distance in the player's class and you increase, decrease it.

lare96 commented 9 years ago

What?

ghost commented 9 years ago

Nevermind -.-

lare96 commented 8 years ago

I might just add my region system from Luna since that includes what Graham I'm guessing couldn't figure out at the time: loading specific surrounding regions depending on your position in the region in order to avoid unnecessarily loading all 8 surrounding regions

The problem with this is that the region system in Luna hasn't been tested. So I'm not sure about what to do, whether to just include hyperion's raw system or to test out Luna's (which could be riddled with bugs)