Porting Progress

Porting Progress

Hey guys,

it’s time for a new progress update. As you know, after our recent Unity issues we’ve made the decision to delay the Early Access release and port the game over to the Godot engine. Since then we’ve been hard at work migrating our codebase from ECS to OOP.

Much of the initial workload was designing the new code architecture, making sure it will provide a solid foundation to build on. The last thing we want is for our new code to be as unstable and prone to crashes as DOTS turned out to be.

Diagrams such as this help us visualize the architecture of our new custom engine.

That does not mean that we have nothing new to show however. We do not want the Early Access release to simply be a re-release of the demo with better stability. While we reimplement the demo features we’re adding additional polish and functionality where we can, taking advantage of some of the new features Godot offers us in the process.

New UI

One thing we received a lot of feedback on during the demo was the UI. The overall style was rather plain and many players had issues finding their way around the controls. A big part of this was the lack of basic features like tooltips and other UX features.

With Unity, our approach to UI was to follow the “recommended” workflow by creating UI prefabs within the Unity editor and writing various custom scripts to bind them into the game logic. This approach had several issues. For one, it required an artist to first create the UI and required sprites, then a programmer had to make it actually function, increasing workload and friction. Every time the UI design changed, all the scripts had to be adjusted as well, and actually connecting those scripts to ingame objects was easier said than done. The whole approach also made the UI very difficult to change for modders, since they don’t have source access to the project.

Godot offers a similar workflow by default, with premade scenes created in the editor. However, having learned our lesson from Unity, we opted to have our new UI framework be entirely code-authored. That means all the UI Nodes are created and configured through a series of standardized methods written by our programmers. Godot makes this easier thanks to its “Theme” feature, which allows our artist to simply configure global style variables that are automatically applied to all the UI widgets our code creates.

One of the new menus, created entirely via code.

This allows us to standardize appearance across UI elements (a good general practice to follow in UI design), and to easily tweak global variables when needed. Meanwhile, having the UI be entirely created through code means our artist no longer needs to be involved in the process beyond setting up the initial Theme. It makes it much easier to connect UI elements with game objects, and the overall process is much faster. For example, the New Game menu pictured took me around 20 minutes to make. With our old approach it would’ve taken myself and Ricky both around a day. To top it all off, being code-authored means it’s easy for modders to change how widgets are generated, add their own, or modify existing UI elements.

Biomes

Speaking of New Game settings, another new feature is biome diversity. Come Early Access you’ll be able to select from a variety of different biomes and topography settings for your home map. Biomes may include things like forests, grasslands, arid steppes and deserts. As the plant life varies, your access to food, wood and other resources will vary greatly

Temperate forests are categorized by dense canopies and shrubs. Plenty of wood and berries to harvest, but the foliage may conceal approaching raiders.

These new biomes are part of our new focus on the player’s home map. For the Early Access release most of our effort will be on the home map, base building, management and raid defense. Expeditions will still be around as a way to get new resources and progress through the tech tree, but we want to make sure we have a solid base for our management gameplay before we turn towards expedition maps.

Grasslands provide clear lines of sight, but building materials may be scarce.

That does mean we’ll have to take a step back from the demo’s fully playable expeditions. We think its better if we temporarily disable that particular feature until we can properly polish it, rather than leaving you guys to deal with jank and wonky gameplay. That does not mean the feature itself is cancelled, it will make a comeback with the first major content update post-release.

That’s it for today, until next time stay safe and keep surviving!

Tags: , ,