This blog update is to make everyone aware of the major changes that have happened over the past year.
We've made massive progress on so many fronts this last year, many milestones that would otherwise be hard to know about unless you've been paying very close attention to commits and changelog messages, so here we go!
Netcode Rewrite (KLS)
With the recent MASSIVE netcode overhaul work of KLS and assist of the implementation of myself, we've been able to break through so many stability/scaling issues of the past. EZ for example has been able to sustain 300-400 players in a combat zone without any issue
The emulator application level netcode usage was put under a microscope and we found excessive packet send issues, identified and implemented countermeasures to insure a smooth gameplay experience
[mackal] Food and Water consumption algorithms have been fixed to match close to live
[mackal] Emulator Combat engine has been massively overhauled to match Live like formulas to be 98% accurate with Live changelog
[mackal] Extended target functionality
Server Installers
[Akkadius/N0ctrnl] Linux and Windows installers were introduced in late 2016 to streamline the EQEmu Server installation processes
Linux Installs to date: 959
Windows Installs to date: 3,489
Mob Z Axis Breakthrough
[Akkadius/Noudess/KLS] - Mob Z axis correction has had a major breakthrough in 2017 - we cracked race/size offsets for models - this helps bigly with
Corpses going underground
NPC's hopping during a pull
Pet's hopping during combat
NPC's hopping while pathing
NPC's going half into the ground while pathing
NPC's falling through the ground in general
While these problems can still happen depending on the zone and situation, the chances of them occurring have been vastly decreased
Server Side Performance Enhancements (Akkadius)
I've personally taken this issue down to the core, because we're at a mature point in our project where we can focus on shaving the fat off of some of our quickly implemented code that has created many performance issues.
We've been able to continually measure PEQ and EZ zone processes running hot with players in them, profile the code stack and find problematic code paths and measure over time. We've come a long way.
It allows servers to run better, faster, with less cpu cycle consumption to create the best gaming experience possible!
PEQ with 840 players online (chart by netdata) at a steady low cpu util
Improved constant NPC AI Check close casting code for beneficial spells
So many other changes
Please let me know if I missed something worth mentioning here, the idea is to highlight what we have been doing as a whole - cause not everyone is up to speed all the time....
To keep from making this post too long - there's tons in the Github commits and EQEmu changelog that may not be seen here, and many people are contributing to bug fixes and slight feature changes to the project everyday!
Thanks to everyone who brings this project together
Documentation
We have a lot of work to do in this department and is one of my highest priorities, details posted here
Navmesh
KLS has spent a lot of time working on a Navmesh system for our code and it has come a long way, from everything to a navmesh tile generator to in game logic to follow those tiles
Navmesh is basically waypoint pathfinding, using a shortest path algorithm to determine what tiles/path to use between it and its target
The Navmesh tool KLS built generates 95% of the tiles automatically, you may need to create manual connections in zones where necessary
You can see an example of this below
EQEmu Server Config Format
Thanks to Shin Noir - the server standard config will soon be .json as soon as I can merge it into master and have time to resolve any issues
Future Loginserver release will also use .json
Another thought is to also define paths to resources so the main server folder can become decluttered of resources/files
Expedition System and Shared Tasks
The groundwork for this system has been started again - but progress has been halted for now, but this is an immediate future priority
Our brother project PEQ has made some considerable strides as well
Many thanks for all the work you guys are putting into this project ! =)
The navmesh system does looks really impressive. Pardon the noobish question but would this system make the current node-based (and its related .path files) system redudant ? Or are both system designed to exist side-by-side ?
(oh, and that visual editor looks nice too...maybe it could one day evolve into a world editor? :p)
Many thanks for all the work you guys are putting into this project ! =)
The navmesh system does looks really impressive. Pardon the noobish question but would this system make the current node-based (and its related .path files) system redudant ? Or are both system designed to exist side-by-side ?
(oh, and that visual editor looks nice too...maybe it could one day evolve into a world editor? :p)
Navmesh is its own waypoint finding engine - legacy path nodes can still be used but there will really be no reason to continue using it
Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.