Solivium Dev Blog: Week 6

Welcome back to another Solivium development update! I’ve been really enjoying working on this game with the progress of this week the game feels more complete, but that also means that there are more things to test with each new feature. This week, I focused on designing and expanding the first town, Moonshade.

This Week’s Highlights

  • Designed Moonshade: The first town is now in place, acting as a key location for exploration, trade, and encounters.
  • Town Mechanics:
    • Enemies do not spawn inside towns.
    • The player can still move and act the same way as in the overworld, so they can attack, change equipment and in the future do stuff like steal.
  • Doors: Players and NPCs can now open and close doors.
  • NPCs can be static or follow preset routes and interact with doors along their path.
  • Merchants will follow the player behind the store counter, similar to Ultima II’s shopkeepers. They cannot be interacted in any way for now.
  • City Guards:
    • Guards remain static until the player attacks an NPC.
    • If attacked, guards will attempt to kill the player.
    • Leaving town resets their position, but the player’s bounty remains.
    • If the player re-enters the town, guards will resume their pursuit.
  • Persistent World Memory: The world now saves the position and stats of entities when transitioning between scenes.
  • The game auto-saves before entering a town.
  • Did some Bug Fixes and specially, memory realted bug fixes.

Video Preview

Since the game is now increasing in size, here I bring you a video instead of gifs and images:

What’s Next?

For next week, I’ll continue refining the town experience by adding:

  • NPC Dialogue System, I’m still deciding between a couple of ideas for this
  • Merchants Buying & Selling Goods
  • Bribing Guards to Remove Bounty
  • Finalizing the town’s core systems

By the end of next week, I’m hoping Moonshade will be fully functional! Thanks for following along, and stay tuned for more updates!


Leave a Reply

Your email address will not be published. Required fields are marked *