Alpha 7 First Steps

Donathan
Virtuverse
Published in
5 min readJan 11, 2022

So begins our journey to Alpha 7. This is the next big update, with the biggest endeavor featuring a move to Unreal Engine 5! (UE5) It’s been a couple of months since we started this venture, and we wanted to share what has been achieved so far.

Before we get into the meat and potatoes of this devblog, the first announcement we want to make is regarding the closing of our latest Public Test, Alpha 6. All around this was a very successful Public Test, and we were happy to see so much feedback from both new and repeat testers! As a reminder, the servers are still up on a permanent basis for our backers, and if you want to continue helping us test Virtuverse, please consider becoming a backer today!

Now onto the good stuff!

The Planning

The first order of business before starting on any project, big or small, is planning. Over the years we have tried a good number of project management solutions from plain old spreadsheets to Trello, Hack n’ Plan, YouTrack, and a few others. It’s always exciting to lay out a plan ahead of you, but actually sticking to it by updating the task tracker is a whole different challenge. One that is often forgotten in the heat of fast paced development.

While Trello remains to be our tracker of choice for our public roadmap, we are trying out Jira for internal task management. Our sound engineers and composers have been using it for a while now and it seems like the obvious next step for cohesion of the project.

Devtools

However, planning for something that might not even be possible is certainly a waste of time. That is why we had to ensure our development tools, plugins, and skills can be transferred to the new engine well before we announced this update.

Throughout the second half of October 2021, we took the time to port the plugins we use to UE5. From thereon we had the rest of the development team download and install Unreal Engine, which isn’t quite as easy as one might think.

Not unlike in the past when we used a modified version of Unreal Engine 4 for custom functionality and better debugging, we had to build UE5 from scratch, to work in the same manner. This was a pretty decent gamble whether or not these modifications wanted to successfully integrate — especially given that UE5 doesn’t officially recognize our self-developed plugins and other tooling we use to make Virtuverse what it is!

Once that was completed, we finally started a project and toyed around with the new engine features. It didn’t take long for the bugs in the early release of UE5 to reveal themselves. One of the biggest issues, concerning the level design specifically, is the lack of an “undo” button. After importing a landscape that turned out to be not quite right, we found it couldn’t be deleted, so we had to restart the engine and create a new one each time we wanted to try something different. In the course of this, we also found that the height-map importing is a little broken too.

The Map

As mentioned in the last post, we have decided to reuse the landscape we had created for a ‘Lost in Space’ expansion. But it too had to go through a few changes:

· The map was expanded to a total of 12x12km, 6x6km of which are traversable

· The edges of the map had to be obscured by terrain

· Lastly the overall design of the map had quite a bit more thought put into it for the sake of optimization.

The initial size of the expansion map was meant to be even smaller than the current Temrance, but in the end ‘Drauss’, as the new map is now known as, is a whopping 9 times larger.

After a little bit of world design the outcome speaks for itself:

The Programming

In the meantime, Fin began work on the back-end code. Over the years Virtuverse has been plagued by bugs, most notably, the infamous inventory bugs. This has resulted in missing items, reset progress, or other weird behaviour with the player’s state.

As it turned out, there have been at least 3 different bugs with this matter, all causing the same issue. By this point, if we wanted to fix the problem in the current version of Virtuverse, we’d have to gut most of our network code. Because this would result in a long downtime on a soon to be deprecated version of the game, we have planned out a new network infrastructure that would mostly mitigate any potential issues of this nature.

We can’t promise there won’t be issues as it all comes down to rigorous testing and good design, but starting over is the perfect opportunity to take another stab at some of these more complex bugs.

That being said, a basic player inventory has been implemented. While just a prototype, and not very showcase worthy as we don’t have front-end UI designed to support it, it is without a doubt a big leap in the right direction.

AI

For the last item in this devblog update:

We are test-driving a different approach in AI design. In the past we took a rather misguided approach of hardcoding enemy AI behaviors, resulting in fairly primitive and some downright silly mobs roaming Temrance.

For Alpha 7, we are giving the Unreal Engine blackboards a go and with minimal effort we can develop much “smarter” enemies. At this point it is simply a question of whether the back-end infrastructure can handle a more complex AI, or if the original hardcoding idea is the right way in the end.

There are still many more plans left to be realised, but we are happy to bring you along with us via these devblogs. Next time, we will be discussing animations, a little bit more level design, and hopefully we’ll have some updates on the AI and the network systems we have planned out.

Lastly, after the productive and high attendance backer meeting, we have decided to hold another one. This time however, it will be a public meeting with all of you! We will be covering everything you have read here, and upcoming devblogs in a lot more detail, answer your questions, concerns, take suggestions on board, as well as show off the hands on work we have done so far!

— Donathan & Virtuverse Team.

--

--