![]() |
Buh.. @ Maloria being redeveloped... sounds like every other server.
|
Quote:
|
Quote:
|
I haven't been feeling well, so I haven't been on Zodiac much lately.
And this is why I didn't want PRs to be more than FAQs. It's also why Moisdne doesn't have ban rights; he keeps people he would have banned if he could in his comments. Last I saw, he was up to ~40 people. If it doesn't deal with the game itself, my scripts, I'm not very interested in your problems. I don't like touching other peoples' scripts. You'd probably be better off speaking to calani, since it's her NPC. However, I don't believe she updated it.. So it shouldn't be adding time instead of reducing it, unless another staff member added time manually. Once again, Zodiac isn't laggy. I've put special emphasis on making the server <-> client communication as efficient as possible. The only 'lag' on the server is due to client effects. I have absolutely no lag. Zodiac wasn't made for older computers, so you will experience lag if you aren't using a decent computer. I suggest cleaning your computer up (delete unused files, defrag, scan for spyware/viruses, ect.) if you find it laggy. I've thought of adding options to reduce the cpu usage of effects and such, but I don't think it's worth the immense time it would take just to make Zodiac more playable for a few people. |
Zodiac itself doesn't lag, it's just that the monsters have ****ty scripting. I mean they walk through walls, bounce around everywhere, and sometimes the server doesn't even detect you attacking them while they slash away at you.
|
Quote:
Why don't I? The server would die if more than four baddies are chasing at the same time. The reason they jump past walls is to prevent people from glitching them, and reducing server lag at the same time. |
Quote:
|
Quote:
|
Quote:
We thought about setting 'nodes' for the NPC to use to find a smart path if they can't move directly to their target, but there was too much work involved to script the pathing into each level. |
Reminds me of Hacker Catching on Classic, back in the day...the most efficient (then, the Only) way to handle something like that is clientside, but you can't trust the clients not to lie about how well they're doing. So then do you trust someone else's client to calculate how fast the baddy's moved? All terribly confusing.
|
Quote:
|
That's right, they're absolutely horrible and annoy the hell out of everyone.
|
A simple way to avoid complex path finding algorithms is to remember where the player walked. The monster then only needs to go to the last known position and follow the path of the player.
|
Quote:
It's at least far better than having them appear to be lagging badly and teleporting around. I refused to even bother with Zodiac after I played for a few minutes trying to fight monsters and they were just teleporting in front of me and attacking and I'd swing and miss them. Another thing you could do is just have it pathfind for short distances... Like if it runs into a wall and the player is on the opposite side of the wall, the enemy would search for an opening along the wall and then move that way. It's not perfect but again, it's far better than having them teleport around. |
Quote:
How will the baddy know which way it has to search for a way around the wall? It could have to circle the room and, go down a hall, and turn to reach the player. If this is the case, it's going to do an immense amount of onwall checks. We have looked into following the path the player takes, but we don't think it would work very well. There are spells that teleport the player and effects that speed the player up. If a player has a speed boost, they could move up to 10 tiles before the baddy begins it's next movement; it would be pretty much the same thing as letting it walk through walls. Also, it's possible for a player to aggro a baddy through a wall. |
Quote:
NPC Code: Why would that make it check the entire level? It would only check the wall that it's run into. If the monster is having to circle an entire room and go down halls and all of that... It's too slow to keep up with a player in the first place. Then all you'd have to do is make it "give up" chasing the player if there is too much distance between them. |
PHP Code:
|
NPC Code: The player is down the right tunnel, but the baddy is closer to the left tunnel. The baddy will go down the left tunnel, but zomg, it can't reach the player that way. Likewise, tunnels that twist or zigzag will cause similar problems. It's really hard to find a pathing system that will work for any situation. |
You can find which quadrant the player is in with a dir = getdir(player.x-x,player.y-y)... or is it the other way around... whatever... and then find the clearest path in that quadrant maybe?
I'm just throwing out stuff here though |
Quote:
We have some levels that are maze-like. The player may be to the left of the NPC, but the proper path begins to the right; a path going somewhere else begins to the left. The NPC would try to go down the wrong path, catch a wall and find no way to the player, then spazz and crash the server with a lot of loops. |
If the NPC is being blocked, have it return to its former position. If the returning takes more than, say, 5 seconds, make it instantly return to its place. Also, the enemy should return to its place after the player is out of its range of sight for a certain amount of time as well. Nothing on Zodiac really blocks except for players and scenery / NPCs, so checking for whether or not the NPC is being blocked for a certain amount of time should be fairly simple.
It's just like if you were running away from a monster and back into a castle town via a drawbridge. Once the Portcullis Gate closes, the monster wouldn't keep trying to pursue you through a grid gate made of iron. |
How about the baddies dont magically follow players around complex corners? They should give up after a certain amount of time or implement a baddy chase bar, when it runs out they return to their original positions.
|
I like'd the idea of working yourself out of jail - Mining etc.
|
Quote:
|
Quote:
|
Oh, I remember that. They put you in there if you swore or some other minor offences - I hated it :p
|
| All times are GMT +2. The time now is 03:31 AM. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.