Reset Password
Existing players used to logging in with their character name and moo password must signup for a website account.
- Fire 12s https://i.imgur.com/CF2ywFy.jpg
- Satanic 21s
- Whoja 9m
- CharonFlora 1m
- villa 14m
- wooshoo2 33m
- Baron17 34s
- Diani 2m Shake hands with him! Charm her!
- Atheran 11m
- dreambeats 44m Fart hard enough and you'll have grey matter in ya shorts.
- vantablack 2s
- NEVERWINEVER 43m
- OPAhostile 29s
- JMo 2m You can't have a conscience in the pimp game.
- Storm 1m
- crashdown 5m
- SpecialK 37m Not @invis for a reason. RPme!
- Baguette 1m ye boi
- attaboy 33s
- Tequilajoe 9m
- Napoleon 2h Bad bish is bad.
- Neekly 11m
- Luck 19m
- Stingray 45s
- whatislove00 16m youtu.be/Jj4nJ1YEAp4
- Dumpster 16m
- DiamondNine 1m
- Evie 30s
- stylo 18m
j Johnny 6h New Code Written Nightly. Not a GM.
- Malanth 15m
- Ryan101 1m
- Barrien 1h
- Speccy 10s
- BCingyou 17m
- FancyPenguin 11s
- Dawnshot 1h https://youtu.be/qg_7saEbnwE
- Azelle 1h
- Cyberpunker 2m
a Cerberus 2h Head Builder & GM when I need to
- Chrissl1983 8h Really enjoying this awesome game to the fullest!
- jsmith225 20h
And 26 more hiding and/or disguised
Connect to Sindome @ moo.sindome.org:5555 or just Play Now

Pathing Algorithm Update
Much improved!

So, we use a depth first shortest path algorithm. It's pretty complex. We use it to find paths from one location to another in a localized fashion (rooms are pretty close to each other) and we use the same algorithm when rooms are far away, using waypoints.

I was watching some videos today about how this algorithm works, hoping to find places we could optimize ours. I stumbled on something that we thought we were doing, but we weren't.

First, a bit of an explanation on how the depth first shortest path works.

We take a starting location, we take an ending location. We then find a bunch of different paths from starting point to ending point while at the same time keeping track of the shortest one that's found. We don't know which one is shortest until we're doing making our calculations. When we're all done, we use the shortest path to move NPCs and vehicles and stuff like that, throughout the game.

Sometimes this causes lag because NPCs move from one location to another and it's far away so it takes lots of calculations, or a taxi needs to drive from red to blue and that is a lot of moves, even with waypoints, and so it takes awhile. Sometimes a bunch of NPCs are moving at the same time or in quick succession in an automated manner. All these things lag the MOO intermittently because they all are calculation heavy.

The optimization I made today, was for each step in each calculation of a path, to check and see if the path it was currently calculating was already longer than the shortest path found. If it turns out it's longer, we just stop checking that path because it's garbage, we don't care. We have no reason to continue checking a path that will turn out to be 10 or more moves long when we already have a path that takes 9 moves to get from point a to point b.

This results in some dramatically increased performance detailed here:

Before Optimization, calculating the path from the 1st Floor Landing of New Rose, to Withmore Savings Bank: 6.86 seconds.

After optimization, making the same calculation: 0.36 seconds.

This optimization, coupled with our pathing cache, reduces the overhead that pathing has on the overall health of the MOO a large amount. This makes me very happy, but as with any change like this-- if you notice wonkiness, please let me know.

-- S

Good update! Good job Slither =D

I understand something just became faster and updated. And thank you for that! Also, for the hard work!

This is a nice introductory article on pathfinding for anyone curious (it has neat pictures too): http://www.redblobgames.com/pathfinding/a-star/introduction.html

I've noticed that certain NPCs always tend to pool up in the same room. They spawn in one and then seem to always end up in another.

Not sure if this is working as intended, but figured I'd mention it.