It’s been quite some time since the last post and Solivium has gone through a big transformation. While I originally planned to dive into demo content, I took a different route and focused heavily on building out the engine itself. Here’s a breakdown of everything that’s happened since then.
Engine Work & Refactoring
- Enginified Everything: Enemy types, items, spells, player classes, textures, tile definitions, all of it is now data-driven. This makes it far easier to create content without diving into C code every time. While this was a massive effort and perhaps a bit overkill, it was something I wanted to do for my own enjoyment (and pain). Technically, it opens the door for expansions or new games using the same engine.
- Custom VM for Effects: I built a small virtual machine to handle effects, used by items, spells, or map events. It’s not super advanced but enough to let me create interesting game content without writing more hardcoded logic.
Gameplay & World Features
- Shops & Bounty System: Players with a bounty can no longer interact with shopkeepers.
- Enemy Group Tiles: I can now control what types of enemies spawn in specific tiles, with this I can balance the difficulty in the dungeons and overworld.
- New Spellcasting Enemy: Introduced an enemy that casts a paralysis spell, I did it as a way to test the VM for effects.
- Audio Update: Switched to a single square wave sound system to better simulate PC speaker audio.
New Content & Mechanics
- Dungeon Puzzle System:
- Added gem items and pillars where they can be placed.
- Placing a gem on a pillar deactivates sparkle teleporters.
- Ships & Exploration:
- Ships can now be purchased to navigate water tiles.
- Added new water enemies.
- Terrain Hazards:
- Swamp tiles now damage the player when stepped on.
- Guards & Behavior:
- Guards now open doors while chasing.
- They only pursue once the player is near them.
- Stability:
- Tons of fixes and improvements to general stability and memory management.
Preview
There’s so much new content to see that I will post a video instead, you can see some of the features I mentioned in the post here:
Next Steps
While my focus shifted to engine development for the past months, I’m still aiming to release the game before the end of the year. Next on my list I have:
- bounty payment.
- Define what happens when the player dies.
- Make use of unused stats.
- Finally go into space, which is probably the biggest chunk of work to do next.
Also, I’ve been considering redesigning the UI to move away from the strict 1:1 Ultima II style and lean into something that fits Solivium’s identity better.
Now that I’m done enginifying everything I should be able to get back to regular updates.