VulcanVerse Refactoring: Phase 1
Phase 1 of our refactoring work is here, bringing improvements to logging, crash reporting, as well as our overall code base!
Refactoring. It’s a word that our team has talked about a lot over the past few months. It’s also something that can be time-consuming, but is one of the most critical pieces of work we can do to accelerate the development of VulcanVerse moving forward.
In basic terms, refactoring is a total correction of VulcanVerse’s foundations.
Vulcan Forged and VulcanVerse has grown at an enormous pace in the last few years. That growth has meant building the tracks while the train is running at full speed. We’re incredibly proud of everything the team has achieved to move fast and bring VulcanVerse to life, and now we’ve gotten to the stage where it’s time for our engineers to oil the engine so we’re ready for the next wave of players.
TLDR: We’ve released a game really quickly, and we’re taking the time to ensure the base is stable, scalable and maintainable.
It’s as if we built the original foundations from sand (a dodgy builder from Notus advised us we’d reach the sky quickly this way). Unfortunately these foundational structures can’t handle the constant improvements and complexity that is VulcanVerse, so they must be updated for us to continue development in a meaningful way. It’s correcting the code, the things you can’t necessarily see that underpin everything in the game, that will allow us to implement all the good things above ground that you can see.
Because of the amount of work that has needed to be done on VulcanVerse, we have decided to release the refactoring work in phases. While this article is only outlining Phase 1 of refactoring, don’t be fooled — this release is jam-packed with what is probably some of the most important engineering work we’ve ever done.
In Phase 1, we’re implementing tools for the team to improve crash reporting, bug tracking and more. It all boils down to this: development speed and problem-solving is now much more efficient, instead of searching for needles in a haystack. All of these legacy code fixes will help us to move faster in the long run.
Let’s dive into some more detail about the highlights!
Code Base Overhaul
Like we mentioned above, our server was originally developed with constantly changing requirements and changing feature sets. This has led to technical debt. This tech debt caused the server to have low logging levels, no auto deploy, crashes, disconnects, and other issues that have resulted in poor experiences for our players. To resolve this, we’ve improved the code base by using a component-oriented approach.
We’ve moved away from our original spaghetti code (which sounds delicious, but it’s actually a bad thing that means unstructured and difficult-to-maintain source code) where everything in the game was all linked together and scrambled up. This old way of doing things often meant that if one aspect of VulcanVerse wasn’t working, other parts could be impacted, and it was harder to identify a solution in all that mess.
Now, every different element in the game has its own distinct vertical. This approach allows us to break down the code into smaller, more manageable components, making it easier to maintain and update individual elements without bothering others.
As an example, avatar collections have been separated into their own abstract collections. Separating them has increased stability as it means you can still play the game even if something else has failed to load.
Improved Logging Tools
Our logging tool is now on the server-side, instead of on the machine of the player. This is a big upgrade for our dev team! With this change in place, we can now check the data and logs from any player at any time, making identifying issues, debugging and performance monitoring a lot more efficient. Storing logs in the cloud allows us to take advantage of cloud storage services too, which are often more secure and reliable than local storage.
Automated Crash Reporting
There’s not a single person out there who likes it when their game crashes (…we think. If you are that person, raise your hand, we’d love to know why). Instant notifications will now be delivered to our development team, informing them of when players experience crashes in-game. These notifications come with logs of when it crashed, and how it happened. Accessing these records allows our team to more quickly identify the root cause when things go wrong.
In short, automated crash reporting is a massive win for our players. It means issues can be resolved quicker, with fewer mortals seeing them.
We’ve made further improvements to our server structure. Not only are server costs down by a significant amount, but our infrastructure is more scalable as a result of these changes. Winning all around!
There you have it! A handy guide to all the highlights coming down the pipeline for Phase 1.
While things might look the same at a surface level, it’s a whole new dawn for VulcanVerse. You should take note of the increased stability and resilience of the game: fewer crashes, better connection, plus a whole stack of essential fixes on the side.
Most importantly, it sets the groundwork for all future development. This includes the next phases of refactoring work to come. Phase 2 will be focused on visual updates of a couple or all quadrants but keep in mind this will still take a few weeks. We don’t like to provide dates for such a big project; there’s always the potential for presently unseen delays resulting in set-in-stone dates offering disappointment when these public deadlines are not met, but we are actively working on delivering that phase sometime in the first few weeks of April.
In the meantime, you might have heard rumours that something fun is in the pipeline: The New Foraging System. The good news is that we will be delivering this end of March so just a few weeks away. More details to come in another article.
The technologies and frameworks that we have moved towards are great ones and necessary changes that bring us to the forefront of industry standards — especially for independent games companies like us.
Over the next few months, VulcanVerse will feel entirely refreshed and ready to dominate the blockchain gaming landscape. Thank you for supporting us along the way! Reach out in Discord if you have any further questions about refactoring and the future of the ‘Verse.
EDIT: Phase 1 Update scheduled for March 1st, 2023 at 1:00 pm GMT