• Weekly Update – July 19, 2024

    I’m chipping away at the remaining bug fixes and balancing tasks. My free time has dropped significantly over the past couple of months, slowing the pace of progress. There is one upside to the time constraint: I’m saying “no” to scope creep more often.

    • Bug fixes.
      • Bandit outposts stopped generating. I had to re-familiarize myself with the history generation design tools and code, both of which are extremely complicated. I think I ended up writing a debug log statement for every line of code in some of the history generation methods. I spent so much time troubleshooting this issue, which is especially frustrating given my recent time limitations. I made the history generator much too complex, and the game hardly uses it currently (it’s a big time investment to fully configure the generator; I removed it from the demo scope). The complexity stems from building a highly flexible configuration tool in Unity for creating history event types. I likely could’ve gotten away with a simpler version.
      • Fixed minor bugs in combining items and map generation.

    The remaining tasks for the demo are:

    • Major bugs fixed (85%->90%)
    • Balancing: (65%)

    Next week, I will balance level 3, the final level of the demo. I’m also considering changing the color of the cave tiles for level 3 to differentiate the last level for the first two. I’ll get through the remaining bugs and see if I’m still up for that. Speaking of bugs, the game becomes a slideshow when there are several enemies on the screen. I’ll need to make another optimization pass.

  • Weekly Update – July 12, 2024

    I discovered so many new bugs this week! It’s fortuitous because these bugs won’t reach players, but now I’m wondering how many more unknown bugs are out there.

    • Finished balancing demo level 2. The level was too easy so I increased the likelihood of more difficult enemies appearing and the number of enemies in some encounters.
    • Bug fixes
      • UI panels can be dragged off screen and closed, causing them to become inaccessible.
      • Shoddy armor breaks too quickly.
      • Spider corpses in webs get the Stuck status effect.
      • Animated Bones appear too often on the map.
      • Error when throwing a Throwing Axe,
      • “You must get closer” message appears outside of Inspect Panel when inspecting a cell that isn’t adjacent to the player.
      • Combined usable items are not automatically added to the hobtbar.
      • The Terrain Panel doesn’t update when the cell it refers to changes.
      • The Terrain Panel doesn’t hide when other UI panels are opened.
      • Unable to shoot enemies when there is an arrow in the same cell as the enemy.

    The remaining tasks for the demo are:

    • Major bugs fixed (80% -> 85%???)
    • Balancing: (55%->65%)

    Next week, balancing and bug fixing continues.

  • Weekly Update – June 28, 2024

    I’m inching closer to a completed demo. Time continues to be in short supply.

    • Finished adding missing sound effects. Portals now hum and play a sound when the player walks through them. Some objects were missing sounds for some actions. 
    • Balancing. Play-tested levels 1 and 2. Level 1 feels appropriately difficult but level 2 is too easy, especially when the player finds better weapons and armor on level 1. 
    • Reduced map size from 64×64 to 56×56. I’m still trying to find the sweet spot where the map has enough room for a challenging main path and some optional areas but isn’t so large that it feels tedious to fully explore or doesn’t have enough variety.
    • Bug fixes
      • I wasted a few hours on an issue that I believed was in code but turned out to be in configuration. The issue was an error that consistently occurred during map generation. It didn’t cause map generation to fail, so I put off fixing it for a long time. I also ignored the issue because I was reluctant to dive back into the complicated history and map generation code. But, for the upcoming demo, I am clearing as many errors and exceptions as possible. After examining the map generation logs from multiple test runs, I realized that the problem was a single misconfigured Map Element (the objects that populate the map). That was painfully obvious in hindsight! Whenever I encounter an error caused by misconfiguration, I add a validator to the configuration editor and/or a log message to check the configuration. This helps me avoid red herrings in the future.

    The remaining tasks for the demo are:

    • Missing sound effects added (95% -> 100%)
    • Major bugs fixed (75 -> 80%)
    • Balancing: (50%->55%)

    Next week, balancing and bug fixes for the demo are the priority.

  • Weekly Update – June 21, 2024

    I fixed bugs, playtested, and balanced this week.

    • Multiple random item sets for actors. Actors could previously have a random number of items from a pool of one or more item types (all consumables, scrolls only, potions only, etc.). Now actors can have multiple random item sets. This feature was added to increase the frequency of health potions carried by some actors while still allowing the actors to carry random items.
    • Balancing adjustments. Increased starting melee weapon item health because these weapons were breaking too soon. Reduced likelihood of Skeleton Archers spawning on level 1. Increased health potion drop rate. Reduced Skeleton melee damage. Reduced likelihood of multiple Skeletons spawning in the same location. Increased the minimum and maximum damage range for some weapons and enemies.
    • Many bug fixes. There was a mix of bugs from recent rework and older bugs that had gone unnoticed.
      • Item stacking. While troubleshooting an issue where the quantity wasn’t updating in the Ammo Quick Switch Slot, I discovered that item stacking wasn’t fully implemented. Specifically, stacking between equipped and unequipped items wasn’t handled. This was one of the most time-consuming tasks I worked on this week because it required multiple changes to the inventory manager and inventory UI.
      • Player actions. I’m still finding bugs originating from the recent changes in the logic that determines whether an action can be performed. Most often, the problem is that an entity involved in the action or the action itself isn’t properly configured. A number of attributes can dictate which actions can be performed, including the list of actions an actor can perform, the list of actions that can be performed on an entity, the action’s range, and the resources required to perform the action. Context is also taken into account; some actions can only be performed in certain contexts. For example, the Combine action can only be performed when inspecting an entity. Another source of bugs is the handling of entities involved in the action. These entities are specified through constructor parameters based on the entity’s role in the action. For example, a Fill action is instantiated with the actor performing the action, the item being filled, and the object/entity that the item is being filled with. The parameters are named actionActor, actionWith, and actionTarget. Not all actions require an actionWith or actionTarget. I have often populated the wrong parameter, causing a particular action to fail. I think the root cause of these issues is ambiguity in the intended use of the parameters; I need to create a map of entities to parameters for each action. 

    The remaining tasks for the demo are:

    • Missing sound effects added (95%)
    • Major bugs fixed (70 -> 75%)
    • Balancing: (40 -> 50%)

    Next week, work continues on bugs and balancing.

  • Weekly Update – June 14, 2024

    I didn’t work on Legend at all until today due to life events. I squeezed in some time this morning to stay on track with my weekly updates.

    • New Sound Effects: monster attacks and abilities.
    • New Items: Ability Books. The player reads these to learn new abilities.
    • Fine-tuned cave reverb. Last week I mentioned having difficulty getting the right reverb effect for a cave. The issue was that the Wet Level was too high.
    • Miscellaneous bug fixes.

    The demo status is as follows:

    • Play Test 3: 100%
    • Performance optimization: 100%
    • Minimap: 100%
    • Major UI/UX issues fixed: 100%
    • Missing sound effects added: 95%
    • Major bugs fixed: 70%
    • Balancing: 40%

    Next week, I’ll work on bugs and balancing.