• Categories

    Latest comments

    1. I like how the character creation is all on one screen. The menus are easy to understand, details like showing…

    2. This is looking cool. I’ve been daydreaming of a similar project for a while, so it’s nice to see more…

    This has been quite the productive week, I worked on more mechanics for the town and finally started working on the dungeons, here’s what I did:

    This Week’s Highlights

    • NPC Dialog System: Players can now talk to NPCs. While it’s not as complex as Ultima IV, NPCs provide hints that may help during the adventure. I’m still wondering on how complex should I do this system, I’m trying no to do the game just following the standards but just what I like to see and do in RPGs.
    • Merchant Interactions: Talking to merchants now opens the store UI, allowing players to buy and sell items.
    • Shops:
      • Added specialized weapon shops and armor shops to towns.
      • Each store offers a selection of items for players to purchase.
    • Item Requirements: Equipment now has stat requirements, meaning players must meet certain conditions to equip specific weapons and armor. I might also add a class requirement down the line, I’m not sure yet.
    • New Command: ‘D’ for Drink:
      • Pressing ‘D’ opens the potion inventory.
      • Healing potions now restore hit points when consumed.
    • Dungeons Begin!
      • Added dungeon tiles to the overworld.
      • Implemented first-person rendering for dungeons, for now the player cannot move in them, but the rendering was the difficult part, now I can focus on all the mechanics in there.
      • The dungeons are going to work like in the early Ultima games or like in Dungeon Master, I have some ideas of how I would make them interesting and unique.

    Screenshots and Previews

    Talking with NPCs
    Buying weapons
    Selling armors
    Drinking potions menu

    What’s Next?

    For next week, I’ll continue expanding the dungeon system by:

    • Implementing movement within dungeons.
    • Adding doors, and interactive elements.
    • Creating dungeon encounters and mechanics.

    The addition of dungeons marks a huge milestone for Solivium, and I’m excited to keep building on this foundation. Stay tuned for next week’s update!

  • Categories

    Latest comments

    1. I like how the character creation is all on one screen. The menus are easy to understand, details like showing…

    2. This is looking cool. I’ve been daydreaming of a similar project for a while, so it’s nice to see more…

    I took this week to work on refactoring the game’s memory management. It’s not that it needed it, I’m pretty sure that I could do all the worst practices and the game would still run fine. But I did it as a learning exercise.

    What Changed?

    • The game now minimizes the use of malloc and free, reducing dynamic allocations wherever possible.
    • The only systems that still use dynamic allocation are:
      • Game data loading (loading assets and initial world setup)
      • Saving and loading the game state
      • Managing the game state during runtime

    While this is not visible to the players, it does helps me with development since now I have less allocations to track whenever I find a memory leak or other type of error.

    This week’s video

    What’s Next?

    Next week, I’ll return to working on town mechanics, including:

    • NPC Dialogue System
    • Merchants Buying & Selling Goods
    • Bribing Guards to Remove Bounty

    Thanks for sticking with me through this behind-the-scenes update! Optimizing memory may not be flashy, but I still had a lot of fun working on it. See you next week for more exciting features!

  • Categories

    Latest comments

    1. I like how the character creation is all on one screen. The menus are easy to understand, details like showing…

    2. This is looking cool. I’ve been daydreaming of a similar project for a while, so it’s nice to see more…

    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!

  • Categories

    Latest comments

    1. I like how the character creation is all on one screen. The menus are easy to understand, details like showing…

    2. This is looking cool. I’ve been daydreaming of a similar project for a while, so it’s nice to see more…

    This week was a good one, I managed to work on some features that in my opinion are starting to shape the game. I just passed the first month milestone of development. Here’s what I’ve done:

    This Week’s Highlights

    • Character Creation Screen: Players can now create their character by:
      • Entering a custom name.
      • Allocating 50 points between Strength, Defense, Agility, Intelligence, and Charisma (more stats may be added later).
      • Selecting a class: Warrior, Rogue, Mage, Cleric, Ranger, Bard, Chemist, or Monk. Each class provides extra stat points and starting gear.
    • Leveling Up System: A new screen allows players to allocate additional points to their stats upon leveling up.
    • City Tiles and Scene Management: Added a city sprite and laid the groundwork for switching between different game scenes while keeping the world persistent.
    • Bug Fixes & Memory Leaks: Continued improving game stability by fixing memory leaks and addressing various bugs.

    Screenshots and Previews

    Tileset for the first town
    Character creation
    Level up screen

    What’s Next?

    For the upcoming week, I’ll focus on expanding the world and interactions:

    • Designing the First Town: Creating the first explorable town.
    • Entering and Exiting Towns: Implementing scene transitions between the overworld and towns.
    • Adding NPCs: Introducing NPCs with basic movement patterns.
    • Quaffing Potions: Allowing the player to consume potions directly from the inventory.

    Final Thoughts

    Thank you for following along with the development journey! Stay tuned for next week’s update as Solivium continues to evolve!

  • Categories

    Latest comments

    1. I like how the character creation is all on one screen. The menus are easy to understand, details like showing…

    2. This is looking cool. I’ve been daydreaming of a similar project for a while, so it’s nice to see more…

    Welcome back to the Solivium development blog! This week marked another productive step forward as I worked on refining core mechanics and expanding the game’s functionality. Let’s dive into what’s new in Week 4.

    This Week’s Highlights

    • Loot UI Improvements: Players can now specify how many items to loot when dealing with stacks larger than five.
    • Enemy Combat Stats: Enemies now have their own combat stats for their damage, defense and damage if they use a ranged weapon.
    • Treasure Chest Logic: If a treasure chest spawns on top of another, the two chests now combine into one.
    • Title Screen: A title screen has been added, with options for starting a new game, loading a saved game, or exiting.
    • Save and Load Functionality: The game can now save and load the player’s data, enemies, and treasures on the map.
    • New Enemy: Shadow Hound: A fearsome enemy that acts twice per turn, but are easier to kill.
    • Bug Fixes: Fixed additional memory leaks.

    Screenshots and Previews

    What’s Next?

    For the upcoming week, I’ll focus on the following features:

    • Character Creation: Allowing players to customize their character at the start of the game.
    • Leveling Up: Introducing a progression system tied to experience points.
    • Entering and Exiting Towns: Expanding the game world with interactive towns.

    Final Thoughts

    This was a busy week, I had several things to attend in my personal life, but I still feel like I did some good progress, working on the saving system was probably the most consuming task, but it seems to be working fine for now.

    Thank you for following along with the development journey! Your support and feedback are always welcome. Stay tuned for next week’s update as we continue building the world of Solivium.

  • Categories

    Latest comments

    1. I like how the character creation is all on one screen. The menus are easy to understand, details like showing…

    2. This is looking cool. I’ve been daydreaming of a similar project for a while, so it’s nice to see more…

    Welcome back to the Solivium development blog! Another week has passed, and the game is steadily growing in depth and complexity. This was a productive week, here’s what I accomplished.

    This Week’s Highlights

    • Stats Screen: A new stats screen has been added, activated by pressing “Z” (for “Ztats”). While in this screen, the game is paused, allowing players to review their character stats at any time.
    • Experience System: Players now gain experience points for defeating enemies, bringing us closer to implementing progression and leveling mechanics.
    • Console UI Improvements: The Console UI now supports scrolling, making it easier to review game events.
    • Inventory System:
      • Added player inventory and integrated it with the UI.
      • The inventory displays item names, dice modifiers, and quantities.
      • Equipped weapons and armor now influence the damage dealt and received, adding strategic depth to equipment choices.
    • Ranged Combat: Introduced the bow as a new ranged weapon for the player.
    • Treasure Chests and Looting:
      • Added treasure chests to the game world for looting.
      • Defeated enemies now drop treasure chests with loot tables.
      • Implemented a looting screen (still working on limiting item quantities for looting).
    • Bug Fixes: Fixed memory leaks to improve stability and performance.

    Screenshots and Previews

    Here’s a glimpse at this week’s updates in action:

    Ztats screen
    Ztats screen
    Inventory Screen
    Inventory screen
    Treasure chests in the world, also, I need to initialize the gold variable to 0
    Looting screen

    What’s Next?

    Here’s what I’m planning to tackle in the coming weeks:

    • Add enemy weapon and armor stats to damage calculation
    • Allow to specify how many items to loot
    • Create a simple title screen for testing moving between scenes
    • Saving and loading the game
    • A character creation screen
    • Leveling up system

    Final Thoughts

    I’m happy with the progress this week, specially because the inventory system tends to be one of the tasks I don’t like doing too much, I’m expecting to start working on towns in the next couple of weeks.

    As always, your feedback is invaluable. Let me know what you think, and stay tuned for next week’s update!

  • Categories

    Latest comments

    1. I like how the character creation is all on one screen. The menus are easy to understand, details like showing…

    2. This is looking cool. I’ve been daydreaming of a similar project for a while, so it’s nice to see more…

    Welcome back to the Solivium development blog! It’s been an interesting week working on the combat system and learning how to store and play audio next to the sprites in the data file.

    What’s New This Week?

    This week’s focus was on enhancing gameplay mechanics and polishing combat interactions. Here’s what I accomplished:

    • Turn Management: Players can now pass their turn using the ‘P’ key or the spacebar.
    • Character Sheets: I’ve introduced character sheets for both the player and enemies. For now they only have stats for: name, HP, Strength, Defense and Agility.
    • Combat Enhancements:
      • Enemies now attack both at melee and ranged distances, ranged attacks can collide with mountains.
      • The player can now attack enemies, currently limited to melee range.
      • Strength, defense, and agility stats are used to calculate hit chances and damage.
      • Enemies also spawn outside the player’s view every 15 turns, although they might not appear if I can’t find a valid location for spawning them, I’m thinking on changing this to keep searching for a spawn location. I’m not so sure yet.
    • Sound Effects: Added sound effects for key actions like walking, attacking, and missing attacks. I’m using old school chiptunes sounds, I’m not sure if keep them, remove them or change them for more modern sounds, I think it would be weird to have modern sounds with everything else being oldschool.

    Screenshot

    Here’s a glimpse of what’s new in Solivium this week:

    What’s Next?

    This next week, I plan to:

    • Create the inventory system.
    • Allow the player to equip armor and weapons and use their stats during combat.
    • Create ranged weapons to allow the player to attack from a distance.
    • If I have enough time I will create loot and experience when defeating enemies.

    As always, thank you for following along with Solivium’s development. Your feedback and support mean the world to me. Stay tuned for more updates, and don’t forget to share your thoughts in the comments!

  • Categories

    Latest comments

    1. I like how the character creation is all on one screen. The menus are easy to understand, details like showing…

    2. This is looking cool. I’ve been daydreaming of a similar project for a while, so it’s nice to see more…

    Welcome to the first development blog for Solivium, my indie game project that seeks to capture the magic of old-school RPGs while shedding the constraints of technical limitations. This project is a personal love letter to the early Ultima series and the games that shaped the golden age of computer RPGs.

    What is Solivium?

    Solivium is a turn-based RPG built in C, leveraging a CGA-inspired palette for that nostalgic retro aesthetic. My goal is to create a game that feels like it belongs to the early 1980s but with the freedom to design without the hardware restrictions of the time. The game combines classic mechanics like grid-based movement, stat-based progression, and turn-based combat with modern refinements to provide an immersive and challenging experience.

    Progress So Far

    Building Solivium has been an exciting journey so far. Here are the key features I’ve implemented:

    • Renderer: I’ve set up a custom renderer using GLFW and glad. This forms the foundation of the game’s visuals, showcasing the CGA-style graphics and maintaining the old-school charm.
    • Map and Console UI: The game now has a working map and console interface, allowing players to navigate the world and receive feedback as they play.
    • Player Mechanics: The player character is functional with movement.
    • Turn-Based Logic: I’ve implemented turn-based mechanics, ensuring that both the player and enemies act in turns.
    • Enemy AI: I’ve begun work on enemies. At this stage, they can follow the player.

    What’s Next?

    Moving forward, I’ll focus on refining enemy behavior, adding combat mechanics, and expanding the game world.

    Thank you for joining me on this journey. I’m excited to share more updates and hear your thoughts as the game develops. Stay tuned for the next post, where I’ll dive deeper into the combat system and showcase more of the world of Solivium!

  • Categories

    Latest comments

    1. I like how the character creation is all on one screen. The menus are easy to understand, details like showing…

    2. This is looking cool. I’ve been daydreaming of a similar project for a while, so it’s nice to see more…

    I wanted to start this site by talking about my latest game development project, “Quest For Immortality.” This is a first-person RPG inspired by classic dungeon crawlers like Ultima Underworld, Daggerfall, and Might and Magic. It’s a game that merges the deep exploration of these titles with the unpredictability of roguelike elements found in games like ADOM, Nethack, and Caves of Qud.

    Roguelike Meets Retro RPG

    I’m aiming to create a world filled with procedural dungeons, intense combat, and a sense of exploration reminiscent of those early RPGs. I also want to include some elements of roleplaying and life simulation. I’ve always been fascinated by the potential of all the features in Daggerfall—ever since I played it back in 2007, I knew that this was the ultimate project I wanted to make.

    2.5D Sprites in Pixel Art

    The game’s art style draws from my love of pixel art and retro aesthetics. I’m taking inspiration from the gritty 2D sprites of Ultima Underworld. I’ve tried working with 3D models, but this style resonates with me creatively.

    Why Godot?

    Choosing Godot as the engine for this project was an easy decision. Not only do I enjoy working with it, but its FOSS (Free and Open Source Software) nature aligns with my development philosophy. Godot’s flexibility allows me to craft complex mechanics while giving me the freedom to modify the engine if needed. It’s been great to see the progress I’ve made using it so far.

    The Challenges Ahead

    I’m well aware that building an open-world game with procedural dungeons is a huge undertaking, especially as a solo developer. Keeping track of every detail and ensuring that each playthrough feels unique is no small task. However, this challenge excites me. I’ve already had some experience with projects of this scope, including Stygian Abyss, which I co-developed with Slash for the 7DRL (7-Day Roguelike) Challenge back in 2015.

    Current Progress

    So, where am I now? I’ve implemented basic combat mechanics and am currently diving into the inventory system and item interactions. It’s a crucial step in bringing the dungeon-crawling experience to life, allowing players to manage their resources and gear effectively.

    That’s all for this first update! I’ll be sharing more of my journey as I continue working on Quest For Immortality. Stay tuned for more development insights and progress updates.