The Merry Month of Bug Hunting – Friday, May 29th, 2020
While May was called a “merry month” in the stage play/film Camelot, it certainly wasn’t a particularly merry month for the world. For CSE, it was a month of responding to feedback, questions, balancing and bug hunting – lots and lots of bug hunting. As you read through the items on our Top Tenish list, you’ll see a lot of items that are geared to both fixing bugs in Camelot Unchained but also to working on items that we need prior to launch. Why are we working on both of those things now you might wonder? It’s because we know that the more we leave undone for the future, the harder it becomes to launch a stable and mostly bug-free game on that day. And, by taking care os ome of the “big ticket items” now, we also lessen the chances of finding big problems with the system as we continue move forward. Now, it wasn’t all good news as we still haven’t gotten the FPS back to where we want it to be, but that will happen in the coming weeks as item #2 below details. Better? Yep. Ready for large-scale battle with big buildings surrounded by a lush forest? No, but we are getting quite close. And, with the focus on bugs, the game’s build is quite stable and we draw ever closer to the planned 24×3 server for the upcoming 90-day plan.
Like most of the US, our studios are still WFH. While this has made creating the game harder, we have continued to work towards delivering a great game with Camelot Unchained. Being out of the office means that some things can’t easier be done and a couple of them can’t be done at all (but those have nothing to do with the game’s development), Sadly, Virginia continues to be quite active Covid-19 wise and our bit of heaven, the DMV (D.C., Maryland, and Virginia) is a hot-spot, especially Northern Virginia, but hopefully we’ll be able to start getting back in the office during the summer.
Be sure to check out this month’s stream with Mark here!
And let’s get into the highlights of what’s been happening this month!
Top Tenish for May 29th, 2020
- DONE – Tech – Concurrent Scene Accumulation: Game engines maintain an internal database of all the renderable objects in the world, and each frame that database has to be queried and turned into a list of visible objects for your GPU to render. We’ve always made good use of lots of cores, this one part of each frame’s work was one of the only single-threaded parts left. As everything else improved it became a bottleneck, so now it’s spread across all cores. The exact benefit depends on how many extra cores your CPU has, but in an extreme case of a Threadripper drawing a dense scene, the frame rate improved by over 80%.
- WIP – Tech – Improved impostor rendering: At long distances, we replace complex but non-moving objects with tiny pictures of those objects. This cuts way down on the number of triangles your graphics card has to draw. But the way we generated and lit them has never looked especially great, so we only did that at extreme distances and avoided it entirely on major objects. This month we made major improvements to both the quality and rendering of impostors, which allowed us to be much more aggressive about where we could use them without a noticeable drop in quality. The result is a dramatic performance increase in the RvR battleground zone, especially on lower-end video cards.
- WIP – Tech – Pathfinding: Bug fixing continues with both navmesh generation and the pathfinding algorithm. Lee continues to build and expand a unit testing framework that allows us to detect the places where edge cases in the mesh generation break down, and iterate code fixes that allow us to solve those cases one at a time. Lee also has expanded our internal visual debugging capability that allows us to display NPC paths layered on top of a representation of the navmesh. Mike D. and Lee have used these tools extensively to identify trouble spots and problematic situations as part of the effort of closing out the remaining issues.
- WIP – Tech – Mesh Simplifier: Partly in support of improving navmesh generation, and largely in support of improving the building experience in C.U.B.E., Lee is putting time into improving one of our internal tools for simplifying the geometric meshes we process as part of the pipeline of creating structures in our world. Through this effort we will see fewer texturing issues, and fewer instances of holes appearing in some of the meshes we’re working with.
- WIP – Tech – Channel Filter and New Installer: Andrew and George have led a significant team effort in the production of two major tools required for taking the game live. The first is an Asset Filtering Tool (AKA channel filtering tool), which allows us to maintain multiple test and production environments that each contain only the specific content they need to run the game. In short, this tool allows to filter out a substantial number of test, obsolete, or unnecessary assets, resulting in an optimized footprint for the downloaded game. Ultimately this reduces download times and disk-space requirements for our players, and helps streamline the installation process. Speaking of installation, we have developed a formal installer for the game that packages the optimized collection of assets into a nice, user-friendly tool that makes it easy for players to set up and get into the game.
- WIP – Tech – Store:
- In an effort to make sure all parts of our stack are scalable we’re giving the store some server-side TLC. We’ve leveraged some new tools we’ve been using to scale test some of our web servers so that they can hit the store and the Ecosystem.
- As part of our relocation over to GCP, we’ve also built a version of the store over there that QA is currently poking at. Once we’ve got confidence in that stack we’ll throw a couple switches and turn the GCP store into a real boy.
- WIP – Design – Overmind:
- Overmind scripts can now run outside of a scenario, this is really important since it will give us the ability to add all kinds of fun scripting to the various CU islands.
- Improved overmind sheet formatting for specifying target locations
- New overmind context data access, including time of day support, remaining timer time access, and better NPC tracking
- Overmind control for time of day
- Better error checking and error reporting
- WIP – Tech & Design – The 24×3 Scenario: The RvR Battleground scenario is now fully playable and ready for testing. Initial tests have gone very well, with no major problems such as server crashes reported. While stability has been good though, performance could be better, so a lot of focus has been centered around identifying and fixing issues with some of the newest art that were causing the game to run less optimally than intended. As these fixes get ironed out and we start our next round of testing, we would like as many players as possible to show up and see how the game feels in a real large scale battle.
- WIP – Tech & Art – Ability Bar Customization: Bugfixes
- Fixed a bug where it was possible to take abilities off of their slots and “lose your ability bar in cube”
- Fixed a bug where ability buttons no longer flashed when activated.
- Fixed a bug where dragging an ability from the ability book and dropping it on the bounding box around the ability bar caused the + icons to not come up, and also wouldn’t allow you to drag more abilities from the ability book.
- Fixed a bug where ability slots would disappear if you added siege skills to it.
- Fixed a bug where siege, building, etc. bars don’t “left-align” with the anchor. Players were seeing empty space in between the anchor and the ability buttons.
- Fixed a bug where the Exit ability button for Siege Engines was not showing up on the bar.
- Fixed a bug in the ability builder where if UI requests to create abilities were timing out (for any reason) the player did not get any feedback. Now the player will receive an error modal and not be left in the dark.
- Fixed a bug where adding anchors required a reload UI to show up.
- Fixed a bug where if a players abilities were reset, it could potentially crash the UI.
- Fixed a bug where the ability bar when you pick up a bomb doesn’t show up occasionally.
- WIP – UI Art – CU HUD Reimagination: Koo has been working on the current HUD and exploring different UX and UI options. UX adjustments were made to help players focus on what really matters on their HUD. Most of the work was done around the unit frames. The UI was reimagined in three different styles: minimal, painterly, and ornamental. The team decided that the ornamental style was more inline with CU aesthetics, but we will incorporate some good aspects of the other two styles.
- WIP – Tech & Design & Art – Progress on the Devout Classes: The three devout classes, Abbot, Blessed Crow, and Helbound, have all received feature fixes and balance updates. These have mainly been focused around status stacking rules and damage adjustments, to make sure nothing too crazy is possible when the abilities of these classes combine with the effects of other classes abilities. Art is continuing to work on updating their unique weapons, and adding new particles as well as sound effects to really make these classes stand out and feel like they each have their own distinct thematic identity.
- WIP – Tech – Distributed Burst Particles: Particle distribution is the ability to spawn a group of particles and evenly space out their starting positions. This lets us create organized patterns of particles without arduously mapping out each particles position manually. This can be used to generate simple shapes like 3D grids and spheres, or more complicated shapes like conical spirals and concentric circles.
- WIP – Tools – Content Pipeline Changelists: Our content pipeline is now producing changelists and saving them with each change. We’re in the final stages of building out the tooling that will allow developers to see those changelists and apply them to different channels.
- WIP – Tech – C.U.B.E. : Earlier this month Matt fixed a few issues preventing us from releasing updates to C.U.B.E. The high level goal was to make a current build able to properly load files created by the version in the patcher. While the file format itself has supported versioning for a long time, older versions of C.U.B.E. saved all the buildings in the zone as a single large file. In the leadup to Beta 1 we had introduced the idea of offline plots in order to make the online and offline building experience more consistent, and so the orientation of the buildings could vary. As part of that work, we made the choice to also store those files in a slightly different location to avoid any risk of losing anyone’s work. Further, about half of the available building materials were removed to limit the amount of memory buildings would take up in the client. We now support explicitly loading old files and automatically splitting them up into plots before saving them out to the new folder. For the missing materials, we now show them as the most similar materials we still have available, while not actually changing them in the data. That way we can choose to re-enable them or map them differently in the future.
- WIP – Tech – CU Shards to GCP: Thanks to the work we did with FSR on streamlining server deployment to GCP we’ve paved the way to migrate CU over to GCP. The only thing that was new/different was setting up user proxies. We polished up the code that allows our code to integrate with GCP to auto scale the proxies. We’ve now migrated Hatchery, Nuada, NuadaPrep, and WyrmlingPrep to GCP. Most of our testing and development happens on Hatchery, Nuada, and NuadaPrep; so those are the critical shards to migrate over. We still need to migrate Wyrmling and Hawking, and expect those to be happening soon.
- DONE – Tech – A month of bug fixes with only about 1/5 of them listed here:
- Fixed a bug for damage over time and heal over time
- Fixed a bug or doors taking bleed damage
- Fixed a bug where Authurians loading into the wrong area
- Fixed a bug with imposters throughout the game
- Fixed a bug for spotlights. Modifiers are being picked up by another spell.
- Fixed a bug where shrinking the size of the window would fail to transition full screen UIs (inventory, paper doll, etc.) to a single panel.
- Fixed a bug in trading where no items were showing up and you couldn’t actually trade. Trading is functional now.
- Fixed a bug where the Warband UI would sometimes not show up, or show up delayed when you join/start a warband.
- Fixed a bug where there was no option to kick player from the Warband UI.
- Fixed a bug where you were showing up on the map as a warband member, along with your triangle self-indicator, leading to confusion.
- Fixed bugs where the Map and Warband UI had conflicting information with each other e.g. Members would show up on the map but not in the warband UI.
- WIP – Art – Placeable Doors – The First set of neutral style placeable doors have been tested. Taking what we have learned from the first set of neutral doors we have expanded into variants that are realm influenced.
- WIP – Art – Scenario Npc’s : Keep Lords and their weapons have been chugging down the pipeline. Currently TDD, Arthurtian, and non realm aligned keep lords have finished modeling and material stages and in the rigging and animation stages. Keep your eyes open for the next update as the Viking keep lord will be crashing onto the field as he is currently in the modeling stage and we are rolling through the concept stage for all Tower Champions.
- WIP – Art – Crafter Barricades and Traps: Progress has been made coming down the modeling and material pipeline. Wood barricades already implemented can be seen in game. More is soon to come as many traps are uploaded and in checks for implementation as the rest of these items finish their modeling stages.
- Done – Wyvern Variation: Three distinct pattern and color variants for the wyvern have been completed. Each will complement each realm and as this creature flies the sky will act as an in game visual to which of the realms is currently in the lead.
- WIP – Art – Realm Flag Flare: Realm flags have been addressed in concept to improve their visual look and once assets are finished will help to give more pride and visual communication to which realm owns which keep.
- WIP – Art – Environment: Development continues with a heavy focus on performance alongside the visual aspects. Much has been done from the art side in tracking down, addressing, and helping to fix found issues. Some of which noted in ‘a month of bug fixes’ such as identifying imposter system issues and invisibles. Others include tracking down terrain node and parameter function issues, and model duplications. We from all this not only are making the fixes but are also appling and adjusting new and current assets to be far more preformant and visually stronger where possible.
Environment is looking ahead as well with development with points of interest and enhancing the topography of the rvr battleground.
- Done – Art – Animation: Corrected Travel Idle Animations: A second pass at retargeting Realm, Gender, and Race Travel Animations were done. This fixed incorrect pose posture, fingers, and cape positions. Animations Included Idle, fidgets, flinches, and deaths.
- Done – Art – Animation – Female Travel and Empty Hand Combat Locomotion: Shared Locomotion animations files were adjusted to better reflect the female character model. Animation adjustments included a narrower distance between passing feet, and smoother overlap of weight distribution. These animations were also adjusted to support left hand torch-hold.
- Done – Art – Animation – Adjusted Cape Animation: New flowing cape animation for all locomotion weapon permutation animation sets.
Behold! We have Art and Stuff!
Lord Reynolds of the Arthurians and Lord Tiernan of the Tuatha Dé Danann show off their martial prowess with their armor and weapons on display.
So now that you’ve seen some Lords of the Battlefield, they’re not the only thing that has the realm divided. It continues in the sky as our wyverns shake out their scales and show their true colors.
As we had shown last month the concepts and development of the crafters gear was well underway, so here is a snapshot of the finished Tuatha Dé Danann Wood Barricades as well as the Arthurian. More to come as the battlefield develops!
We continue to advance the palette when it comes to the UI boards and how you will experience the game. Below we have even more concept buildup going on for how your overall visual window could appear in-game. We’re testing some modern throwbacks, minimal options and the painterly approach!
Much like Lord Reynolds our heroes are no different when it comes to the dapper glory of the cloak. The Animation Team has worked on more flow and gentle glides when it comes to the cloak animations and many other subtle character features as listed above. So now you can dress to impress no matter what realm you’re on.
And with that I wish you all a safe and hopefully still fun weekend. As always, we thank you for your support and patience and please be kind to each other during this difficult and very trying times.