Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Players/NPCs on the edge of the screen get stuck on reoserv/GameServer #157

Closed
sorokya opened this issue Mar 28, 2022 · 5 comments · Fixed by #303
Closed

Players/NPCs on the edge of the screen get stuck on reoserv/GameServer #157

sorokya opened this issue Mar 28, 2022 · 5 comments · Fixed by #303
Labels
Milestone

Comments

@sorokya
Copy link
Contributor

sorokya commented Mar 28, 2022

I'm not exactly sure what triggers it in the official client but it seems like if something is on the very edge of the screen (12 tiles away) it will be dropped from view when the map re-renders.

I wasn't sure where the best place to implement this behavior was though. Up for suggestions if you have any.

Originally posted by @sorokya in #154 (comment)

@ethanmoffat
Copy link
Owner

I recently reworked animations pretty heavily. They're mostly fixed but still have some work left to do on them - other players walking around will sometimes jump coordinates suddenly or be in the wrong position (requiring an F12).

I think I've noticed this behavior, when someone is walking off the screen I've noticed them suddenly disappear before they are fully out of view.

@ethanmoffat ethanmoffat added this to the Up to Speed milestone Mar 28, 2022
@sorokya
Copy link
Contributor Author

sorokya commented Mar 28, 2022

I recently reworked animations pretty heavily. They're mostly fixed but still have some work left to do on them - other players walking around will sometimes jump coordinates suddenly or be in the wrong position (requiring an F12).

I think I've noticed this behavior, when someone is walking off the screen I've noticed them suddenly disappear before they are fully out of view.

I saw the jumping around happen too I think this is a separate issue though.

The original client will drop players/npcs from memory when they're on the outer edge of the screen and the map renders.

GameServer/reoserv depends on this because it doesn't send avatar/remove packets and the equivalent for npcs when they go out of view.

The behavior right now with GameServer and reoserv is when a player or npc walks out of range and you walk towards them their ghost will still be there until you F12.

I think the fix would be something like on map render just remove any players or npcs that are 12 or more tiles away from the player

@ethanmoffat
Copy link
Owner

I need to think more about how to handle this. On one hand, I'd prefer to have the server tell the client what it can see instead of the client deciding that. From the perspective of emulating EO I'd rather conform to the existing spec so GameServer/reoserv are supported. Something about having the client decide the view range feels wrong to me (considering I want to eventually support variable display sizes).

@ethanmoffat
Copy link
Owner

Moving to version 1 milestone, v0.10 is intended to work with eoserv

@sorokya
Copy link
Contributor Author

sorokya commented Nov 30, 2022

This will probably be useful
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants