Day 41~110... πŸ˜…


So as one could imagine I've been continuing to work on the game 5 days a week over the past almost three months. I've been darting around all over the project, embellishing and polishing things. I've been stuck for a WHILE in a situation where the game itself isn't really playable anymore, so I've been entirely focused on getting things tuned up so the game can actually be played again. Key factors for this involve Input changes, NPC changes, and addition of new item types, like Books/Readables, and Throwable items.

Beyond that, I've been working on the core gameplay loop, saving, making way for more in-depth mechanics, and allowing a healthy dose of feature-creep. Some examples from recent days would be Throwable Items, crouching & visibility (including light, sound, and alternate factors), and embellishment of combat with things like perfect blocks & perfect power attacks, weapons that can block breaks, and shields that protect against block-breaking attacks.

I've been trying to play my game as someone who isn't biased toward it, and determine whether it's in a position where I can imagine a stranger enjoying it, and adding/fixing things that do not meet that description. Instead of noting every single change, I'll give general descripts of the more important stuff right now; And I'll try to be more descriptive after this patch, as I'd otherwise have over 70 actual dev-days of changelogs to compile into a postπŸ˜…

My efforts have been split between a few core categories:

  1. Embellishing Combat


    1. Added a charging system for power attacks with a 'perfect strike' window that does additional damage.
    2. Some weapons can break block postures with power attacks.
    3. Some shields can inversely resist breaking of block postures from power attacks.
    4. Weapons can now be used to block in the case no shield is held (this includes animation state changes, etc.).
    5. Damage-causing collisions are handled more accurately.
    6. Making sure NPC's and Player both use the CombatTimeline system and accommodating for all new features like charging attacks, etc.
    7. added target-locking system which allows for classic Z-targeting of enemies so you can focus on movement instead of camera control
    8. added back-stabs with weapon-relevant animations on both the attacker & target's sides
    9. Perfect blocks - The player can block at the exact moment a strike would land, and absorb all damage as durability damage to the held weapon OR shield if a shield is equipped. This does NOT cause a stagger, but instead negates damage and gives the player an opportunity to break their equipment instead of their no-death streak.
  2. Completing Core Gameplay Loops


    1. The player is now sent to a death zone where they can spend points, instead of just being presented with a boring "level up & resurrect" UI
    2. There are now rest points which trigger saving of the game. Similar to the dynamic in souls-like games.
    3. Save data for tracking which chapter the player is in & tracking objects within these scenes is fully wired up
    4. Chapter transitions are now fully wired up and automatically handle save calls & permanently save progress to the meta-data side.
    5. Save files are 100% self-contained and store metadata for things like total run count, failed/successful runs, currently completed chapters, etc.
    6. abandoning of a run is cleanly handled in saving system so the player will auto-start a new run when they try to load a save file. A player can either abandon their current run and start over, abandon it and go to the main menu, or just exit the game losing data since the last auto-save (which occurs on death or resting at a rest point).
  3. NPC target-detection & senses have been thoroughly improved. They now use an assortment of data points to determine visibility of entities.
    1. In all ways, NPC's can interact in all the ways that players can, as they use identical systems. if you can sneak, so can an NPC. if you can charge-attack, or parry, so can an NPC. The following factors all equally contribute to the visibility of an entity
    2. Vision Obstruction - NPC's use a two-phase check to verify an entity is actually visible before doing any further checks. This avoids attacking through walls, seeing through obstacles, etc.
    3. Target Velocity - NPC's can detect the current velocity of an object, and as you can imagine, the faster it is moving, the more likely to be detected it is.
    4. Target Angle From Center - The further into the peripheral vision of an NPC, the more likely it is to not be detected at all by the NPC.
    5. Illumination From Skylight & Dynamic Lights - Light exposure is calculated via the combination of two factors, solar illumination and dynamic illumination. If the player is fully lit, they are obviously more visible, and this is determined by a few raycasts to the point in the air where the global light would be, and some detection of proximity to dynamic lights.
    6. Sound emission from steps - the player emits noise while walking around.  NPC's can hear this noise and may have varying distances at which they can hear a noise.
    7. NPC's also have vision range limitations and can only see a certain distance (variable to each type of NPC including slight randomization)
    8. Crouching/Sneaking is now possible, which reduces speed and sound emitted while walking, activates the light exposure system, and reduces overall distance between light sensors on the body decreasing light-exposure creating an easy way to potentially hide in plain sight.
    9. And finally, NPC's can detect high amounts of energy stored in the player. This is the one unique factor so far, but is highly likely to be embellished with detection of energy in other entities, and the possibility of the player detecting energy of entities in some way once I understand how to render such information via shaders, etc.
  4. Misc. changes!
    1. The camera is now a 360 orbital camera so you are not locked to always looking forward. The camera has also been completely restructured to be smoother & more accurate, with significantly less wall-clipping (though still a work in progress)
    2. Regulating dodge roll distance based off movement speed & terrain angles (roll further downhill than uphill, and further if you're fast)
    3. Equippable items (armor, weapons, etc.) now have the potential for stat modifications like additional health, cooldown reduction, movement speed, carry capacity, etc. 
    4. Loot All button on containers
    5. Equip Best button on NPC followers
    6. Stat comparison systems (in case I haven't mentioned this previously, alongside descriptions stats can be compared via color-coded UI)
    7. Entity party systems
    8. entity faction systems with relation indexes so certain factions may be allies, enemies, or neutral toward one another, and this effects NPC target-selection & interaction opportunity for the player
    9. Rest-point system which gradually restores health and gives an opportunity to save & quit
    10. made several fixes to data organization within save files to make sure it is more dynamic and precise in its data-handling.
    11. hotkey assignment fixes for things like holding keys and resetting hotkeys to default values or un-assigning them.
    12. aesthetic changes, and minute things like EXP being bubbles that emit from corpses that you consume out of combat, or more dynamic usage of the interactable system (like calling any event at all from an interactable for unique scriptable events)
    13. absolute tons of bugfixes, tinkering, and introduction of mechanics/features.

With all these changes come a decent set of newly introduced issues, and discoveries of easier routes, and other mechanics that might be fun. I'm trying to keep the scope relatively limited so I can draw a line on the point where any extra additions are unnecessary, and I feel I'm getting close to the point where no further additions will actually add to the game.

So, I feel like now is as good a time as any to say that things have gone well so far, and I'm reaching the point where things are going to begin to shift between dev alone, and actual creation of content for the game. This will likely lead me to migrating to offline content far more often, as I will shelf my stream development and focus more fully on including things that people will not know about until release, or at least until it is shown on stream. Also, for those who don't know, I stream my game dev on twitch. This way I can figure out certain factors of story, art direction, etc. and provide a level of surprise alongside the already ever-present surprise that I'm mentally capable developing a game in the first place considering my immense lack of consistency in posting, and distraction levels on stream.

So, thank you for seeing this, in what ever capacity that might be, and thank you for playing any part whatsoever in my game dev journey. Be that simply by reading this post, being involved in the stream, or anything else, thank you for your time. I'll keep working on things as best I can, and hopefully make something that meets my hopes, and meets the entertainment standards of at least a handful of folks!

If you would like to support the game dev, please consider swinging by the Twitch Stream, or signing up over on Patreon, where you can get potential early access once things migrate to Steam and become scheduled releases, or to even get a guarantee of a copy (or two) on release!

Actual game version updates will be coming within the next few weeks, and thanks for reading this absolutely dev-infused word vomit! ~

Leave a comment

Log in with itch.io to leave a comment.