Category: Devlog
-

Feature 07: Azure DevOps Pipeline
This feature is a little bit of a strange one as it is covering work I did on the background deployment infrastructure rather than my Soul Invictus itself. There were three main goals to this feature: Provide a consistent means to build the system across windows and mac, with as little human input as possible…
-

Feature 06: UI Cleanup
I am a big fan of minimal, flat UIs with good use of whitespace and decluttered from the visual noise and unnecessary trim you build up with more integrated or skeuomorphic design layouts. When I put together my multiplayer lobby for Soul Invictus I set out to move closer to this minimalist design taking inspiration from…
-

Feature 05: Multiplayer
I have implemented multiplayer in Soul Invictus using Unity Netcode for GameObjects and a transport layer which uses Facepunch Steamworks API. This reflects my lobby system and although has a few integration foibles around when you login and out to steam, seems to work well and has a symmetry which I like. Obviously this means…
-

Multiplayer woes
One of the downsides of Unity as a tool is the amount of experimentation and churn they put into some of their core features. Proper dynamic SVG integration was a minor one that has been benched, multiplayer is a major feature that they have taken a long time to get right. I originally developed a…
-

Feature 04: Inventory System
One of the main features of most survival games these days is the ability to gather, craft and upgrade loot. In order to do any of this, the player needs a robust framework to manage their belongings and collect useful gear. I put together an inventory system with two main things in mind: to make…
-
Campaign Mode in a Survival game
Why bother creating a campaign mode in a genre that thrives off exploration and discovery? I am building a game off of what effectively is a procedural sandbox framework, so it would be quite easy to just focus on the sandbox and simulation aspects of the environment and leave the story telling solely to the…
-

Feature 03: Steam Integration
I am a big fan of the steam store. I love the whole interface, discovery experience and integration with games, especially when playing multiplayer with friends. It was a bit of a no-brainer then that my first game would integrate well with steam. Luckily in being close to games and game development I was familiar…
-
Building a Voxel World
Minecraft. Yeah, its the elephant in the room that casts a humungous shadow on developing in this space. Why create a new voxel world game when Microsoft has nailed the brief (by buying Mojang)? In truth, I wrestle with this question on what seems like a monthly basis. Indeed I have all but stopped dabbling…
-

Feature 02: Integrated SQL Storage
Early on in development, I moved from what was originally Unity’s PlayerPrefs storage to create a framework around a SQLLite database. Integrating the correct DLLs for both Windows and Mac versions of my game, I added an extensible set of classes for records, tables and storage controllers. I have included a caching system that works…
-

Feature 01: The Voxel World
I have a confession: my current implementation of the voxel terrain system uses a Unity Plugin called VoxelPlay. It is a great piece of work by the team at Kronnect and has saved me hours of development work on the base terrain engine. I managed to pick it up in a winter sale for half-price…