We are trying something new.
We received some player questions at Fippy Fest, through the forums, and Discord about what the development team is working on and how we prioritize projects. Work is set by priority and importance to the game overall, and sometimes that priority aligns with what the team is excited to work on or things that both the players and developers would be excited to see. While we sometimes acknowledge a thing is something which should be worked on, it is only sometimes the top priority. And often, it has yet to reach enough importance to override the priority of the things we must or need to be working on.
As a trial, we are posting this outline to show what has been worked on this last development month. Depending on how this trial post is received, we will explore sharing these updates on a regular cadence. Please keep in mind that this outline does not and will not include everything we're working on but does represent a large majority of our time spent on all things EverQuest.
You'll see a summary of work below, and while some tasks may only be listed as one line, some of the tasks may take multiple days, weeks, or months to complete. We will be sorting these tasks by categories which are not necessarily chronologically ordered. These tasks will include work from Design, Engineering, Environment Art, Character Art, Audio, and Production teams. This will not include Community, Brand, Customer Service, Quality Assurance, Operations, and other essential teams throughout the company.
For this log, the time-period is from the Friday before the June update until last Thursday.
The items below may include investigation and long-term research and development tasks. This is not a promise or indicator that changes are coming soon or that they will even happen as sometimes research proves why we shouldn't do a thing as opposed to why we should do it.
- Expansion (The Outer Brood)
- Zone 1
- NPCs
- Environment revisions
- Zone 2 NPCs
- NPC Placement - Planning & coordinates
- NPC Files creation
- Adjustments to encounters
- Excel work, quest research
- PPT creation
- More pathing. Readjusting a number of paths from outside of the geometry.
- Redirected to pathing to adjust it for accuracy to the new geometry and "stalagmites".
- Moved a lot of Wide Opens into paths due to geo in the way, and made more to go into buildings.
- PPT submitted for review.
- Death Aggro Victory text (DAV)
- Kill Quests
- Zone 3
- Zone lines into and out of the zone
- Zone 4
- PVD creation - updated the config
- Raid 1
- Basic NPC creation
- Raid start scripting
- Raid controller scripting
- Feature 2 data setup and bug fixes
- Characters
- Fix warrior shoulder skinning
- Projection model
- Itemization
- Raid Tier 1 Gear and Weapons - bug fixes
- Raid Tier 2 Gear and Weapons - bug fixes
- Group Tier 2 gear, weapons, and augments - bug fixes
- Group Tier Tradeskill gear, weapons, and augments - bug fixes
- Raid Tier TS Gear and Weapons - bug fixes
- Add visuals to group tier tradeskill gear, weapons, and augments - Fix text issues.
- Beta Fish creation
- Add items to beta merchants - Removed SKU 31 items and added SKU 32 items to group and raid merchants.
- Add lore group and lore equip group names
- Update Luck data
- Create and attach conversion previews
- Pack-in Items
- Models
- Icons
- Web icons
- Movies
- Item data
- Mercenary data
- Fixed truncated mercenary description text
- Adjusted door positions and actions
- Resolved some mercenary issue
- Spells
- Improved the spell upgrades process to be based off metadata
- Improved the spell naming sheet
- Added automatic query to pull out existing spell names. Spent some time finding words to filter out, cutting dataset from 28k to 13k.
- Started updating the spell naming sheet so it can go get its own data. Found queries to filter the list of spell names down to 22,000 from like 48,000. Last year's sheet had 15,000 so there's more work to be done.
- Worked on getting the spell sheet more presentable.
- Finished updating the Spell Naming Sheet
- Checked upgrades for expansion spells
- Updated spell items sheet for SKU32
- AAs
- Planning for Archetype AAs
- Planning for General/Glyph/Merc AAs
- Planning for New/Consolidated AAs
- Planning for Class/Focus Attacker AAs
- Planning for Class/Focus Caster AAs
- Planning for Class/Focus Healer AAs
- Audio
- Special sound emitters for zones.
- Working on sfx & music for the sku32 zones.
- Heroās Forge:
- Blue set (maps)
- Teal set (maps + icons)
- Logo/Key Art Brief and Administration
- Logo review
- Summary and web blurbs
- Peer Testing
- Zone 1
- Expansion (SKU33)
- Brainstorming
- Pitch ideations and proposals
- Pitch meetings
- Overarching Story meetings
- Story docs
- Zone planning meetings
- Zone planning docs
- Heritage Crate
- Armor (maps + icons)
- Housing Items / Icons
- Crate FX
- Achievements
- Teleport and music scripts
- Item spell data
- Item distribution script written, EQGs added, and Bindral script updated
- Commerce entry
- Bug fixes
- Extra Life Rewards
- Incentive planning
- Incentive Items 3 and 8 model + fittings
- Features and Keys Requests
- Started laying out the basics for the items
- Server Merge
- Check for any existing bad character or account ā wrote up the SQL to clean up the two characters.
- Test merging Thornblade to Mischief
- Did another round, finished doing some testing on the data and did another merge run through with the new item SQL.
- Started the retesting and realized I hadnāt double checked the contents of the real estate crate in the Thornblade characterās inventory. It is completely empty. Spent the day trying to sort out why including restarting the process and double checking the real estate data and insert/update steps.
- Some further investigating found a block that looks like itās meant to address the issue Iāve been looking at, but even manually running that didnāt properly swap the real estate ids for my test character. I think itās not properly filtering and is changing items that arenāt connected to the mergeāalthough Iām not sure why itās not also changing the ones that are in the merge. Eventually came to what I think is a solution, and initial testing is promising.
- Did a final round of testing. Crate item didnāt work on one of my test characters but realized I had updated the procedure on every DB except one, which is of course where the item was. Ran the changed block from that and all the data matches now.
- Check for any mismatched names between universal chat and Character DBs - Ran a couple queries to check for missing names.
- Write and submit the final 2024 merge script.
- Got everything separated and organized into related chunks with some splits between DBs.
- Found a few things that werenāt updated in all the places and started doing a test run.
- Found a couple more things that were out of order and made some adjustments to a couple of the files to be more clear what was on which db.
- Got hung up a bit on overseer; updated wiki to fix that.
- Made a couple other small updates for clarity/accuracy to the SQL while testing.
- Submitted for review.
- Remove Thornblade
- Did a quick intro read of the wiki page to get it in my head.
- Did all the pre-merge steps.
- Updated the ticket for the merge day tasks.
- Also made a couple small updates to the removing a server page.
- Update documentation on testing.
- Server Select Revamp
- Disabled the tooltip when hovering over server select list.
- Added Server column tooltip.
- Reenables button tooltips that are not in server list child window.
- Collected feedback on server select button colors and ultimately removed the colors.
- UI is clipped at smaller window sizes - Fixed.
- Year of Darkpaw
- Sorted questions from the Fireside Chat into categories and started notes in Wiki.
- Created the July Heroic Adventure - Working on scripts, spells and the barrels.
- Fixed Type 7/8 augs are not given a Lore Group.
- Prepped, info dumped, and reviewed future soundtracks.
- Adjusted spell damage on tower Heroic Adventure NPC spells.
- Created July Quest of YoD Tower.
- Tower items.
- Tools and Support
- Dialog Requirements (System enhancement to allow NPC dialogs to use requirements to check if certain conditions are met instead of using the scripting system.)
- Planning
- Conducted the Driversā Meeting.
- Worked on making a new Wiki page and connecting all the wires in Wiki/Ticket Tracker for the new project.
- Started planning out the tickets that need submitted and reviewing code.
- Continued working on planning out the tickets necessary and submitted them.
- Wrote up an email to have the project plan reviewed.
- Engineering Overview Meeting
- Add Documentation to Dialogue Table
- Researched the unknown columns and added notes to the ticket.
- Started putting in the information.
- Researched a couple extra things and included that info as well.
- Update Design DB
- Worked on adding the new table and making all of the updates.
- Worked on dropping columns from existing tables.
- Dropped all the associated triggers and then the columns.
- Realized after dropping them that Iād not considered them being in the another tool. Removed them from that.
- Got all the code references removed I think and started working on removing them from the UI.
- Found the dialogue windowās UI and removed the dropped columnsā fields.
- Worked on dropping the dialogue_dth column that is no longer used.
- Updated DB triggers, dropped the column, and re-linked the DB.
- Documentation
- More work on how-to-raid creation, more detailed examples
- More shoving old SKU docs into Confluence
- Data binding of spells on items into queries
- Integrated queries for NPCs and Interactive Objects
- Getting a sheet in shape to hand off (or at least train on)
- Design Support
- Helped a designer figure out how to fix a spell and why an item was doing different amounts of damage.
- Helped point a designer in the right direction with hot zone scripts.
- Assisted with troubleshooting one of the hot zone scripts.
- Fixed a problem with my spell selection algorithm, and then used SUBSTITUTE() to take the output from the BetweenOr tool and format it for 3 tables.
- Fixed some glaring metadata problems while looking through the entire list of spells
- Helped smooth out some level scalar data for spells.
- Worked on smoothing out some more scaling curves.
- Code Support: Tested some pathing tool changes
- Build Support
- Smoke test training and live admin account troubleshooting.
- Patching Staging
- Pushed through a last minute Code fix and a few Design fixes to Stage.
- Updated world but the Login Server still wasnāt working.
- Worked with a team member to figure out the problem with the Login Server and tracked it down to the Stage sync job pulling from the Live folder.
- Ran the Live copy and that allowed the updated LoginServer.exe to make it onto Stage which feels weird but is a problem for another day.
- Finished the update and confirmed all issues were resolved.
- Submitted the ticket to have Ops stage the Live data.
- Patched Staging two more times.
- Patching Live
- Started working through the Live update steps. Got some emails sent out and tickets submitted.
- Finished with all the Live prep steps. Sent the necessary emails and submitted the final ticket to Ops. Confirmed shutdowns are scheduled and we should be good to go for tomorrow.
- Worked with Ops to complete the Live update. Had to investigate a couple issues along the way but ended up getting all of them resolved. Sent out final emails and submitted a bug for an issue found during the update with one of the Jenkins tasks. Closed all the forum threads that had links to tickets in this release. Monitored Discord/Forums for bug reports, but nothing serious has been reported at this point.
- Added bug tickets related to patch to Wiki page. Reviewed forums/discord and no additional pressing issues have been reported thus far.
- Completed a Client hotfix to resolve some crashes relating to window resizing.
- Patching Test
- Completed the Test prep and worked with Ops to complete the update.
- Reviewed the design data warnings report and addressed issues.
- Investigate Additional Cheating Prevention Tactics.
- Finished initial investigation.
- Wrote follow up tickets.
- Added legacy floating point rounding to pathing generation tools.
- Added legacy floating point rounding to art tools.
- Update pathing generation floating point rounding.
- Finalized evaluation of memory leak tool and sent recommendation to Licensing.
- Tool replacement reviews and evaluations.
- Updated a database tool to run under a different runtime environment.
- Reviewed a proposal for a package of environment art improvements and bug fixes.
- Set up some design training.
- Dialog Requirements (System enhancement to allow NPC dialogs to use requirements to check if certain conditions are met instead of using the scripting system.)
- Miscellaneous
- Fippy Fest!
- Prep
- Events
- Livestream
- Post-Event Tasks
- Peer review and testing
- Environments
- Classic Zone Revamp
- Polish
- Pops
- Peer test bug fixes
- FX
- Switches
- Classic Zone Revamp 2
- Peer test bug fixes
- Classic Zone Revamp
- Heroās Forge training
- Hat 1
- Set 1
- Weekly administrative tasks / reports
- Article reviews
- Press interviews
- SKU34 ideation and thoughts capture
- Oakwynd script issue investigation
- Evolving/Legacy Ruleset: TriGain script fix
- Market research
- Company Cross-Promotion: Created statue and metamorph items
- Suspended cheaters
- Finished gathering all the data for this ticket and created lists of accounts to action using the (redacted).
- Submitted a ticket to have some accounts suspended that are using the (redacted).
- Created another list of (redacted) accounts.
- Submitted a suspension/ban ticket.
- Went over (redacted) & did another search, found many more accounts so submitted another request.
- Looked into several cheating reports.
- Researched and submitted several tickets from notes and CRC suggestions to use as Small Code Task tickets in the future.
- Code Health: Fix warnings in Buffer.cpp ā Located a similar call that had been corrected previously. Applied the same fix to the places giving warnings. Confirmed warnings stopped.
- Player Requests: Add Seconds Remaining to Task Timer Output.
- Game Health: Looked at a world crash on AB.
- Live Support: Created a server status update ticket for servers that were renamed.
- Company Support: Meeting to discuss one of our middleware solutions in use with another game team.
- Went through pending queue / misc. Ticket Tracker cleanup.
- Disabled extra rules acceptance on Aradune/Rizlona.
- Hiring
- Reviewing resumes.
- Interviews scheduling.
- Interviews.
- Weekly achievements, tasks and ad-hoc work aggregations.
- Team swag organizing and shipping.
- Tax discussions and worksheets.
- Server software review and clean up.
- Monthly report creation
- Adjusted NPC melee damage in a limited range of levels for āNormalā Heroic Adventure NPCs.
- Regenerated PVD for Heroās Forge.
- San Diego Comic Con Prep
- Move teleport location of Sodden Staff of Kedge - Changed location to cliffs near Unrest.
- Randomized Loot: SKU20 (RoF): Created buckets
- Optimize High Population World Performance
- Added Telemetry points around each block and made minor syntax updates.
- Telemetry captures pointed to the portion of the function that sends guild permissions. Worked on a couple different fixes for that before realizing that the time capture doesnāt grow with guild size or server population.
- Shifted to working on a portion that grows with server population and implemented a theoretical fix. If it works, it'd shave a significant percentage of the function's load.
- Implemented a solution related to permissions.
- Finished a solution related to messaging and tested it on beta.
- Investigate asynchronous loading of real estate items. - Researching previous and related tickets to learn about existing ānon-blockingā support.
- Investigate TS depot performance issues.
- Analyzing hotspots and identified some temporally unbounded loops. Researching piecemeal, working set implementations building blocks within existing libraries.
- Researching, analyzing, and deciding on an implementation approach using the job queue class.
- Optimized out unnecessary, temporary object copies of the TS depot list and item lists; both are proportional to the number of items.
- Integrated a framework for using a new job queue into zones. The job queue runs but is non-functional yet. Refactoring that into a working system will take a follow up ticket, due to data dependencies in the existing code.
- Removed an unused buffer when syncing TS depot items. Minor local scoping optimizations in preparation for Telemetry zones. Tested performance with std::unorderedmultimap, as a drop-in replacement for our custom hash table class, and it measures 70% faster. This will benefit all inventory tagging (rehashing) operations.
- Tuned Teek's performance and monitored server cycles during peak times.
- Monthly ticket tracker cleanup and maintenance.
- Investigate and optimize real estate processing.
- Optimized updates of real estate items on the zone.
- Added telemetry and doing performance analysis to identify additional hotspots.
- Discussion on the next set of Past Expansion Item packs.
- Implementation of Past Expansion Item Bundle Work.
- Preparing for annual planning.
- Fippy Fest!
- Bugs
- Fixed an issue with "Into the Leviathan's Lair" that wouldn't allow you to accept the quest with the correct number of people in your group.
- Fixed an issue with the "Predators of the Sea" quest not registering the location of the goblin camp after the zone was changed.
- Fixed an issue with "The Rise of Marnek" quests not correctly registering the death of Skeleton L`rodd.
- Fixed and issue where "The Golden Pick" has been doing more damage than intended.
- Fixed an issue where Sienn Kastane doesn't respond correctly if the player did the epic 1.5 pre quest.
- Updated Beryl Hero's Forge Ornaments to drop in all of the hot zones. Additionally, updated hot zones that can be picked up to level 105.
- Fixed an issue with "Into the Leviathan's Lair" that wouldn't allow you to accept the quest with the correct number of people in your group.
- Fixed an issue with the "Predators of the Sea" quest not registering the location of the goblin camp after the zone was changed.
- Added a min level to hot zone quests.
- Fixed an issue with the "Broken Key of Steam" and "Oasis of Steam" achievement components granting completion for incorrect additional future components.
- Fixed issue with augments with socket_sub_classes 0 cannot fit into armor with nonzero sub_class.
- Update blocked spells to dynamically grow.
- Added an additional buff slot label to fix only having 19 added previously.
- Investigated parcels sometimes in rare cases failing and being sent to the wrong players.
- Addressed an issue where mercs retained high-level buffs if suspended when leveling down.
- Researched and submitted bug tickets for an issue found during the Live update and a player-reported issue.
- Fixed an issue where the tribute gain modifier didn't affect Guild Tribute.
- Exploit: Ignore Damage Bonus on Unusable Items.
- Disabled an Azarack from being randomized on random loot servers.
- Reduced game hitching when using ALT+TAB while in full screen mode.
- Maximized desktop window doesn't restore after being Minimized. Fixed regression with maximize and restore logic.
- Maximized window causes game to crash or exit after window Minimize and Restore. Fixed regression in resize handler logic.
- Maximized window mode resets when clicking between other windows.
- Added optimization checks to detect identity window state and avoid some unnecessary transition processing.
- Fixed regression with taskbar minimize/restore.
- Windows minimize message can cause game to appear unresponsive.
- Investigated invalid window height/width values that can cause a crash. Regression testing reveals that this may have been fixed in a previous ticket.
- In-game windows not saving position.
- Analyzing and debugging UI*.ini persistence.
- Code refactoring, rewriting, debugging, and regression testing.
- Debugging changes to GUI deactivation that appears to solve part of the problem.
- Debugging and regression testing.
- Fixed regression with manual resize handling.
- Fixed scrambled in-game window positions and sizes caused by incomplete backward compatibility.
- Triaged a crash report with information from a player whoās experiencing the crash.
- Rain of Fear: Quest armor and quest pieces are not marked as Quest items - Fixed.
- Top client crash
- Suspecting that one of the 0 tag size values is being triggered and then 1 is subtracted causing a -1 delete length to cause issues.
- Confirmed my suspicion about the very small (large) negative value causing the crash and added a check for it. After chatting with a team member, decided to move that into the delete function itself.
- Player Requests: Add /who Option to Player Name Radial Menus.
- Multiple Windows Re-Open After Window Loses and Regains Focus - Fixed.
- Desktop window settings are not always saved to eqclient.ini. Added an additional save point. Added minimized check to resolution checks to guard against bad sizes.
- Recurring Meetings
- Top Bugs Reviews
- LiveOps and Publish Sync
- Weekly Updates
- Community and Brand Sync
- Leads
- Design
- Systems
- Week in Review
- Rollup
- Sprint Planning
- One-on-Ones
- Live Update Planning
- Engineering Design Sync Up
- KPIs Review and Reforecasting
- CS / Community Sync
- IT Operations Sync
- Community Resource Council Townhall
The EverQuest Team