Community Newsletter January 26, 2024


 
 
 

Progress

  • We’ve optimized how we spawn our NPCs, basically cutting the required processing power in half. This is thanks in part to changing how we load in their behavior trees. It used to be that when we spawned multiple NPCs, they would all turn on at the exact same frame, which could cause lag. We’re able to avoid that by staggering which frames the behavior trees start on. Here’s a video of a stress test where we spawned 100 Kodoki to show how easy it is to load a huge number of NPCs at once now. (This is way more than we would ever realistically load during gameplay.) You’ll see that the framerate doesn’t slow to a crawl when spawning them, which honestly feels miraculous compared to previous versions. There’s still more to be done, but this is a promising improvement.

  • We’re currently in the process of bringing the Combat Arena Alpha’s multiplayer code into our current codebase so we can use it for the Beta. It’s been a complex move with some hiccups along the way, but that was expected. The first working version of this could look similar to co-op.

  • Our methods for handling data about the characters got a serious face lift! A character’s information used to be contained in an object that needed to reference various other files in order to make sense. Now, those other files are contained in the character object so it doesn’t need to be connected to a bunch of other stuff. There were a lot of intricacies and edge cases involved in making this work, so it took a while to set up. In the long run, however, creating new NPCs and writing code for them will take a fraction of the time it used to.

  • Our nightly automated builds are working as intended. This means a new build containing the developers’ changes from the day comes out automatically every night, ready for QA the next morning. We’ve been using the single player section as a benchmark for being sure that everything’s working as intended. The single player is especially good to use here since QA is so familiar with how everything looks when it works.

  • We created a tool that allows QA to write tests for the automated builds. For example, a test could make sure a status condition is healed by a held item. Once these tests are made, they’ll be performed as a part of every nightly build to make sure none of the changes from that day broke what the test is looking at. The tool basically looks like a flowchart that makes it easy to visualize how the logic works as it’s being set up.

  • We’ve been updating our documentation to do a better job describing our plans for the Beta and beyond. While pushing to finish the single player milestone, some of our usual record keeping fell by the wayside. It sounds boring here, but it involves some graphic design work that’s been pretty fun!


    Sorry this newsletter is on the shorter side! We’re continuing to lay the foundations for the Combat Arena Beta, which means working on a few large (obscure) things for a long time. We’re looking forward to being able to share more exciting progress in future newsletters!

LEXICON

The full lexicon can be found here.

  • Behavior Tree: The instructions that tell an NPC how they should act in different situations.

  • Build: A playable version of the game. We create new builds multiple times per week to test new changes.

  • Codebase: All of the code that makes up the project.

  • Framerate: The number of frames that play per second, determining the smoothness of motion.

  • NPC: A non-player character.

  • Optimization: Making the code run more efficiently, so it takes less processing power to achieve the same effect.

  • QA: Quality assurance. The people who test the game and report bugs.

 
 

Thanks for checking in on us! See you for our next newsletter on February 9.