Tag: Ultima Inspired


  • 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!

  • 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!

  • 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!