You can help CodeWalrus stay online by donating here. | New CodeWalrus | Old (dark mode) | Old (light) | Discord server

Shards of Grandeur

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

0
b/PC, Mac & Vintage Computers publicado por u/123outerme July 07, 2024, 10:15:09 PM
Shards of Grandeur is a FREE and OPEN-SOURCE indie turn-based RPG for PC, developed by me, in the Godot game engine, with plenty of help from some very talented individuals in the music and SFX department.
It's is a creature-collector RPG about a mysterious cave filled with magic crystals, and the ensuing struggle for power. Explore the landscape, fight through turn-based battles, and spend Shards in order to summon minions and gain an upper hand!
* Retro turn-based combat system!
* "Attune" with your minions to befriend them and summon them any time.
* Customize your stats and your minion's stats to your liking, using equipment and Stat Points!
* Fight for the Radiant Cave and take control of the source of Shards!
* 16-bit inspired pixel art graphics.
* Planned for a 20+ hour experience, including story, sidequests, puzzles, and challenges!
Already a year in the making, with 6 more months planned until a full release. Until then, I am now releasing the v0.1.2 demo with the first ~5 hours of content available! The save file you start in the demo SHOULD be compatible with the finished release, barring any stat rebalancing or quest modifications I may have to make. You can find the demo on my Github page, linked here. It will be releasing as a free game once it is complete!
Last Edit: September 21, 2024, 07:04:14 PM by 123outerme
Inicia sesión o crea una cuenta para dejar un comentario
u/123outerme July 26, 2024, 01:59:25 AM
Every time I release and playtest with friends I find more bugs. This time, the logic I created to handle the NPCs' shops went way out of wack.

If I add an item to an NPC's shop list, next time that NPC loads, I want them to take it from their shop "listings" and instantiate that into their inventory that they can then sell it from. This way, I can avoid resetting the NPC's inventory entirely when I add new items to their shop offerings. As well, items the player's items they've sold to that NPC persist in the NPC's inventory, so resetting the inventory means potentially losing the player's items they could go back to buy again.

However, what actually happened with my system, is that no NPC that was last loaded in v0.1.0 had anything in their inventory on a fresh save or a save in v0.1.0 or after. But if the last loaded game version before this was v0.0.9, the NPCs could all get their items properly.

I'm kind of astounded by this one so I'm going to post the relevant code and see what you all think. Written in GDScript:
func add_shop_items_to_inventory():
    # ... process removing inventory slots that don't belong anymore ...
    # for each shop item slot in the NPC shop object:
    for shopItemSlot: ShopInventorySlot in npcShop.shopItemSlots:
        var existingSlot: InventorySlot = inventory.get_slot_for_item(shopItemSlot.item)
        # if there is no slot for this object and it should be updated: add it to the inventory
        # should_add(version) takes in the game version the NPC was last saved in, and returns true if the shop item was created after that version for this NPC:
        if existingSlot == null and shopItemSlot.should_add(data.version):
            inventory.add_slot(shopItemSlot)

The solution I came upon was simply to turn that last if conditional into this:
        if existingSlot == null:
            inventory.add_slot(shopItemSlot)
As I no longer destroy inventory slots for NPCs if there are 0 items in that slot. This way, if the slot exists, it's already been created for the NPC. If it doesn't exist, it's an item I added to the shop listings since the last time the save file was loaded. I don't really like this solution, though, because it requires me to save essentially meaningless data -- potentially a whole bunch of empty item slots. If I simply could track the last saved version of the NPC (which I already do) and use that combined with the version that each shop listing was created in, I could definitely determine which items have been added to the shop listing since the last time this NPC was saved.
u/Dream of Omnimaga August 13, 2024, 08:01:37 PM
I totally missed that second post. I guess I didn't see the post notification or it simply didn't post. I'll try the current demo when I am not too distracted. I'm glad that it keeps the same style as Sorcery of Uvutu. :)
u/123outerme August 16, 2024, 01:56:49 PM
Quote from: Dream of Omnimaga on August 13, 2024, 08:01:37 PMI totally missed that second post. I guess I didn't see the post notification or it simply didn't post. I'll try the current demo when I am not too distracted. I'm glad that it keeps the same style as Sorcery of Uvutu. :)
I would love if you checked it out! I'm not an artist by nature, so my pixel art skills I started learning with Sorcery of Uvutu are really all I can do. So far I'm very happy with my art and results, I'm noticing that every time I make new art it's done faster and cooler!

Edit:
As well, I meant to mention, I have started work on putting the game on Android! Godot allows easy export once all the Android SDK stuff is set up, so all that's left for me is to add mobile controls, like so:

(By the way, this is a screenshot running on real hardware! Super exciting.)
And tweak the existing UI to be easier to tap on with a small screen. The Stats screen, with all the player's battle stats, moves, and minions, will have to be reworked. It is probably the most confusing and dense UI in the game, so I was always one good reason away from reworking it.
Last Edit: August 16, 2024, 02:03:52 PM by 123outerme
u/123outerme September 25, 2024, 12:32:56 AM
I've been working long and hard on the game these past few months, and I have some great updates to share!

First, I want to reiterate that the currently available demos, and the final release of the game, will all be free and open-source.

Despite the fact it's more high-profile than anything I've ever made before, I refuse to take money for the game, and I promote it solely in the hopes that people enjoy it. My GitHub repository hosts all the code and assets for the game. Except the original soundtrack (due to mutual agreements with my composers), just about everything is available under open-source or Creative Commons licenses!

I've decided to rename it to Shards of Grandeur, for a couple reasons. Mainly, it fits the theme of the story better, and I feel is a bit catchier to those who don't know what "Uvutu" is. With that, I've got some visuals to share!

First is the new main menu, which I upgraded to celebrate the new name of the game:


And secondly, I was working on improving battles so that the various events that occur (taking damage, healing, getting status'd, or gaining stat boosts) play a little animation with text that rises up over the combatant. This will help players visually track the action and reduce the need for the detailed combat log.
As well, I added some small animations to the Orbs bar when gaining or spending Orbs in battle. That was demonstrated in this video as well!

This required quite a bit of muscle to pull off, as unfortunately my previous implementation of battle animations was very spaghettified. Turns out, a lot of scope creep ballooned my idea of what battle animations would look like. Although I am very happy with the results, I wasn't so happy with the state of the code. I refactored all of that code into its own script file, which led to plenty of improvements to the stability of animations as well.

Finally, I have reworked the Stats menu to be a little bit easier to understand and look at. Previously it was 4 "sub-menus" all stacked into the same screen, so I just broke them apart into tabs. Stats for your HP and stat points, Equipment for your Weapon and Armor slots, Moves for your moveset, and Minions for your minions list.

The original Stats menu is available, as a toggle option in the Settings, but it will be off by default. Proceed at your own risk if you enable it, because it's pretty a dense menu like that!

I continue to work on content! My target is for another demo in about a month or so. I'm getting closer to having most of the maps for this demo completed, and pretty much all that's left is to decide some of the finer points about the story and implement it all.

After this demo, I plan to not post another release until the full game can be released! I will continue to post updates when I find the time. If I add new features I would like community testing on, or make sweeping rebalances of content, I will potentially create small demos to test, without any additional story content to play. But this is it, it's time to ramp up on the story content production!
Start a Discussion

b/PC, Mac & Vintage Computers

Computer programming discussion and project showcase

132
Topics
Explore Board
Website statistics


MyCalcs | Ticalc.org | Cemetech | Omnimaga | TI-Basic Developer | MaxCoderz | TI-Story | Casiocalc.org | Casiopeia | The Museum of HP Calculators | HPCalc.org | CnCalc.org | Music 2000 Community | TI Education | Casio Education | HP Calcs | NumWorks | SwissMicros | Sharp Calculators
Powered by EzPortal