This is my personal blog its main purpose is just as a sort of work log for myself, but maybe someone might find some part of it interesting or useful at some point. I started keeping this log back in July 2025, but it was just on a text file on my desktop so everything up until the creation of this website will have a listed date in the title.
Underwear properly hides itself as an item in the inventory now.
Armor in the inventory that is worn properly hides itself from the list of armor
The mini player model updates properly
The armor rating is properly updating on the mini model
The armor now properly grants gameplay effects for the VR player just like it does for NPCs
Fixed a bug where the inventory wasnt updating properly after equipping armor
Fixed a bug in the alchemy system where the bench was coloring the glass instead of the liquid
First part of converting the alchemy workbench to the new system is functional we can now make potions with the new items. The visuals arent done yet though.
Been working on various things for over a week for the merge its been very much a heads down work work work time. Most important perhaps, combat is working again, at least the melee combat.
Adding things to the player inventory by dropping them in the inventory is working again.
Adding things to the player inventory by dropping them on the inventory bags is working again.
Fixed a new regression bug that was causing the player to not be able to pull items off the shelf.
Player armor equipping kind of works again
June 1st
Code for wand stop magic charge on grip release migrated
Code for stopping the player weapon trace migrated
Code for restoring player speed on great shield drop migrated
Code for wand stop magic charge on grip release migrated
Code for stopping the player weapon trace migrated
Code for restoring player speed on great shield drop migrated
Created a new parent object for shields they were always going to need slightly different setups anyway, and our previous implementation was… suboptimal at best.
Updated all the shield data assets to actually spawn the new shield base object
Code for restoring player speed on great shield drop migrated
Code for despawning the book object migrated
Code for setting object gripped with two hands migrated to base weapon
More of the code for hostering weapons moved over and converted to tags, that system still not functional.
Intentionally skipping a bunch of the merchant on release grip code seeing as that system is going to have a big overhaul anyway using narratives merchant system.
Code for quivering arrows migrated to the base arrow
Code for stopping the magic charge on staves on drop migrated to staff base object
Code for disabling cork collision on potion drop migrated to potion base object
Code for destroying a spawned dtbook migrated
Code for Sending Bow Held on event destroyed migrated to base bow
Created a new base object for creature attachments
Replaced the Get greatest bounds function with a much simpler one
Grip script initialization migrated to the various base classes
Created a BTGSSkillToNarrativeSkill converter function
Created a NarrativeSkillToBTGSSkill converter function
Created a GetHeartlandsWorldItemMaxHealth Function
Created a GetHeartlandsWorldItemMaxCharge Function
Created a GetHeartlandsWorldItemDamage Function
May 31st
Taking items from the world and putting them into your inventory works again
Item scaling up works again
Narrative data task for picking up items works again
Taking items from the world and putting them into your inventory works again
Item scaling up works again
Narrative data task for picking up items works again
Removing items from the inventory works again
Repopulating the shelves works again
Updating inventory weight if the inventory is open works again
Sound effects for adding things to the inventory works again
The special case for quivers is working and works without a hard reference unlike the old system! Means we can add stacks of arrows to the inventory again.
Adding gold to the inventory works again now controlled by narrative
Gold display updates properly again
Narrative data task for first encountering Heartshards is working again
Narrative data task for first encountering Ingredients is working again
Narrative data task for first encountering Armor Type is working again
Narrative data task for first encountering Potions is working again
Narrative data task for first encountering spell scrolls is in but i think it was always bugged needs testing
Narrative data task for first encountering Weapon Type is working again
Narrative data task for first encountering Shield Type is working again
Code for updating player speed when holding a great shield is working again
New code path for playing sound when pulling a weapon from a holster is in. The actual code for holstering is not yet though
Had to add some new gameplay tag functions for matching tags specifically Has Runtime Tag Matching and Remove Runtime Tags Matching due to our previous implementation requiring exact tags these functions accept subtags
Code for player swing direction tracking has been migrated to the new base weapon
Code for toggling the bow outline, sending arrow held, and player holding bow has been migrated to the base arrow.
Code for setting up bow collision has been migrated to the base bow. The setup for the bow string is still missing.
Event ToggleBowArrowOutline_OnInterface migrated to the base bow
TeachPlayerSpell code has been migrated to the base book (Still needs to be converted to a data asset instead of a data table row)
SkillBookActivate code has been migrated to the base book (Still need to convert the experience needed for next level function and implement the grant experience function to actually trigger the level up from the new stats component)
DtBookSpawn code migrated to the new base book (still need to convert the class to a data asset ref instead of the data table.)
Base object OnGrip code fully distributed to the new base objects
Had to create a bridge blueprint function library. The first thing in it is a function called CatToCat our old item categories and the new c++ item categories are the same but incompatible without some kind of translation in between.
Created a GetHeartlandsWorldItemSkill Function
Created a GetHeartlandsWorldItemAttribute Function
Created a GetHeartlandsWorldItemCategory Function
Created a GetHeartlandsWorldItemSubCategory Function
Created a GetHeartlandsWorldItemTagsToAdd Function
Created a GetHeartlandsWorldItemHolsterSlot Function
Created a GetHeartlandsWorldItemWeaponSet Function
Created a GetHeartlandsWorldItemShieldType Function
Created a GetHeartlandsWorldItemArmorSlot Function
Created a GetHeartlandsWorldItemArmorSet Function
Created a GetHeartlandsWorldItemBookType Function
Created a GetHeartlandsWorldItemSkillToGrant Function
May 30Th The Merge Begins
Committed to the Merge first target is the inventory because it touches everything and if we can do that we can do any of it. Will also give me a good timeline perhaps for how long the entire merge will take hopefully no more than a few weeks.
Converted the actual item display in inventory to items coming from the narrative inventory so good first step, but Ive had to have create 2 c++ functions and rebuild so yeah blueprint was always the right call that rebuild time sucks for iteration or doing anything fast.
Inventory weight is now pulling from narrative at least that was easy.
Committed to the Merge first target is the inventory because it touches everything and if we can do that we can do any of it. Will also give me a good timeline perhaps for how long the entire merge will take hopefully no more than a few weeks.
Converted the actual item display in inventory to items coming from the narrative inventory so good first step, but Ive had to have create 2 c++ functions and rebuild so yeah blueprint was always the right call that rebuild time sucks for iteration or doing anything fast.
Inventory weight is now pulling from narrative at least that was easy.
Inventory Favorites is working
The dynamic actor tags is no longer being added on inventory item spawn shouldnt be needed anymore with narrative handling items
Had to create a bridge blueprint function library. The first thing in it is a function called CatToCat our old item categories and the new c++ item categories are the same but incompatible without some kind of translation in between.
Scrolling up and down the inventory works again and is more efficient even fixed that old bug where the item rotations would reset at the end of the available rows if you kept grabbing the down arrow.
Switching categories works again
Worked with megan today on building out the bones of the rest of the tutorial quests so i can actually focus on the gameplay side.
created an actual widget to have a better visual layout on the in arena tutorial cards
Started some of the actual item conversion into narrative items on the other machine
Worked with megan today on building out the bones of the rest of the tutorial quests so i can actually focus on the gameplay side.
created an actual widget to have a better visual layout on the in arena tutorial cards
Started some of the actual item conversion into narrative items on the other machine
Removed a bunch of refs to the old blueprint function library for set text(string)
Changed how we display quest information on the wrist ui its much cleaner and more informative now
Change the size of the magic effect and description box on the wrist UI previous size was causing frequent text wrapping
Removed a bunch of refs to the old blueprint function library for set text(string)
Changed how we display quest information on the wrist ui its much cleaner and more informative now
Change the size of the magic effect and description box on the wrist UI previous size was causing frequent text wrapping
Disabled cloth simulation on the guard armor not sure how we missed that
Globally disabled cloth actors on the npcs gear slots should solve that issue in the future
Fixed a major combat bug that was causing NPCs to receive damage just by running into the player
Fixed a major combat bug causing two handed blocking two fail to trigger from the player most of the time
Fixed a major bug where we were never actually setting the status of a two hand gripped weapon
Fixed a major combat bug where npcs could do damage even when their attack was blocked
Fixed a major combat bug where shields were sometimes not counted as valid blocking objects
Disabled the old wiggle prevention code i think the changes ive made today help with making combat feel more forceful
Got rid of some log spam that was occurring due to player block testing
Changed how the in arena tutorial cards are updated they are still gonna need their own widget for proper styling though
The first tutorial match works pretty well so far!
Moved our Level up system into C++ to work alongside narrative with our new c++ based stats comp
Moved our Resistances into c++
Moved our get major minor and misc skill functions into c++
Moved our Level up system into C++ to work alongside narrative with our new c++ based stats comp
Moved our Resistances into c++
Moved our get major minor and misc skill functions into c++
Moved our favored skills and favored attributes functions into c++
Moved our get health percent function into c++
Moved and condensed our GetOffensiveCombatSkills Functions into c++ they now take bool inputs to exclude things like marksman or destruction without require a separate function.
Moved our Determine highest combat skill function to c++ and added the ability to randomize it if multiple are found previously that was just always the behavior
Moved the NPC specific stats such as if they are available for training and things like aggression or responsibility into c++ on their own component called the NPC status component. They also have events that trigger on change for us to easily implement things in the future in blueprint.
Added events that fire when things like resistances or silenced status changes on the stats component
Moved the Current and max Summons, current and max active spell values to c++ and added built in functions for things like can cast rune spell
Moved our IsInvulnerable and IsInvincible variables to the new c++ stats component
Added events that fire when Isinvincible or IsInvulnerable change
Moved HasActiveShield, AllowTimeDilation, IsInvisible, UnbreakableWeapons, and immune to damage types to the new c++ stats component and added events for when the bools change
Fixed the enum for immune to damage types it was listed as lighting instead of shock.
Moved has equipped armor to the new stats component
Moved HeartlandsItemCategory, HeartlandsWeaponSet, HeartlandsArmorSet, HeartlandsEnchantStrength, HeartlandsShieldType, HeartlandsHipSlot, HeartlandsBookType all to c++ for our eventual item conversion to narrative
Started work on adding all of our stats to narrative for our eventual merge
Moved a bunch of the old tutorial code from the tutorial specific weapons to the base object
Updated the Narrative data task argument for player damaging NPC to source instead of arrow
Started work on adding all of our stats to narrative for our eventual merge
Moved a bunch of the old tutorial code from the tutorial specific weapons to the base object
Updated the Narrative data task argument for player damaging NPC to source instead of arrow
Tutorial match 1 functional!
Been working a lot on the tutorial.
Added a stats component variable for unbreakable weapons npcs in the tutorial keep breaking their weapons if it foes on too long which cant happen if the tutorial is gonna work properly so we needed a way to prevent that.
Updated the old description of the Kadians to the proper one
Been working a lot on the tutorial.
Added a stats component variable for unbreakable weapons npcs in the tutorial keep breaking their weapons if it foes on too long which cant happen if the tutorial is gonna work properly so we needed a way to prevent that.
Updated the old description of the Kadians to the proper one
Fixed a bug in narrative that was causing tasks to not show up
Rewrote the entire tutorial
started the layout on the actual programming of the new tutorial
Fixed broken potion bottle material, was missing custom lighting function.
Save system is kind of working what a mess
Fixed broken potion bottle material, was missing custom lighting function.
Save system is kind of working what a mess
Fixed a major bug where npcs that start facing the player wouldnt ever update to know they were a threat, which explains some of the odd behavior we have seen recently.
Spent some time working on the save system including trying to use the update to the narrative save system in 2.3.3…. its still shit reverted back to using our dual solution.
Fixed the bug in the loading system where loading would crash the game sometimes due to a gripped object being destroyed
Fixed a major bug where npcs that start facing the player wouldnt ever update to know they were a threat, which explains some of the odd behavior we have seen recently.
Spent some time working on the save system including trying to use the update to the narrative save system in 2.3.3…. its still shit reverted back to using our dual solution.
Fixed the bug in the loading system where loading would crash the game sometimes due to a gripped object being destroyed
Still working on the save system… what a nightmare.
Started work on the class selection for character creation
Reworked how skill and attributes are calculated and cleaned up the old code to make way for the character creation code
Got character race selection working properly
Started work on the class selection for character creation
Reworked how skill and attributes are calculated and cleaned up the old code to make way for the character creation code
Got character race selection working properly
Updated character to actually have underwear models
Character creation fully functional!!!
Created the narrative events for changing and checking weather
Created the narrative events for advancing time for both narrative time and UDS
Created a new interface event SetHasCompanion so we can update when the player has a companion, we could already tell an npc when they were a companion but we didnt really have a way to track that on the player.
Created the narrative events for changing and checking weather
Created the narrative events for advancing time for both narrative time and UDS
Created a new interface event SetHasCompanion so we can update when the player has a companion, we could already tell an npc when they were a companion but we didnt really have a way to track that on the player.
Plugged in the code for NPC services like repairing armor.
Created a new meta sound for the sound of npcs repairing armor
Reworked the dialogue system a bit to account for the new way tagged dialogues work, gonna need more work on that system.
May 4th
Fixed a bunch of material, errors related to float precision
Shortened the cleanup time in the arena
Fixed an issue where some creature would be using an emissive map when they shouldnt have.
Fixed a bunch of material, errors related to float precision
Shortened the cleanup time in the arena
Fixed an issue where some creature would be using an emissive map when they shouldnt have.
Fixed an issue where creatures would continue animating after death
Compiled the open alpha build.
Fixed float precision on landscape material
Fixed the missing BTGS LASS material function on the player skin
Fixed the missing BTGS LASS material function on the the potion liquid
Fixed float precision on landscape material
Fixed the missing BTGS LASS material function on the player skin
Fixed the missing BTGS LASS material function on the the potion liquid
Fixed incorrect opacity settings on the potion category object in the inventory.
Fixed the lod settings on the mushrooms in the arena
Fixed two sided materials on harvestables in the arena.
Fixed the missing BTGS LASS material function on the the creatures.
Added a new interface event for GetIsHolstered_OnInterface
Weapons that are holstered no longer make sound, less realistic, but we were having sound spam due to player movement.
Fixed a bug in the inventory meta sound that was making it never end in some circumstances.
Created a new dedicated meta sound for adding items to the inventory
Added the missing code for sound effects for adding things to the inventory.
Replaced placeholder sound for removing a planted plant
Reworked how the harvestables work, the previous method of regrowing and harvesting them wasnt compatible with our optimization component visibility.
Fixed the player mannequin material
Fixed the bug where sometimes your second held item wouldnt be equipped when attempting to equip armor
Fixed missing material function on heartshard materials
Finally did a massive submission of all the stuff ive been working on locally. A lot of really good performance updates.
Controls poster is now up in the Arena walk up area.
Built the start of a tool to fill blueprint descriptions with item data for quick at a glance access
Finally did a massive submission of all the stuff ive been working on locally. A lot of really good performance updates.
Controls poster is now up in the Arena walk up area.
Built the start of a tool to fill blueprint descriptions with item data for quick at a glance access