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.

Robert Aldridge Robert Aldridge

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.

Read More
Robert Aldridge Robert Aldridge

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

Read More
Robert Aldridge Robert Aldridge

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

Read More
Robert Aldridge Robert Aldridge

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

Read More
Robert Aldridge Robert Aldridge

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


Read More
Robert Aldridge Robert Aldridge

May 29TH

Started the process of seeing how viable it would be to actually merge narrative with our inventory, item, and stats system.

A lot of R&D and didnt take great notes unfortunately, but things look promising.

Read More
Robert Aldridge Robert Aldridge

May 27th

Created a narrative condition to check if a player has a weapon holstered

Created an interface event to get all the holstered weapons a player has

Created an interface event to get the item from a holster

Read More
Robert Aldridge Robert Aldridge

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

Read More
Robert Aldridge Robert Aldridge

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!

Read More
Robert Aldridge Robert Aldridge

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

Read More
Robert Aldridge Robert Aldridge

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!

Read More
Robert Aldridge Robert Aldridge

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

Read More
Robert Aldridge Robert Aldridge

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

Read More
Robert Aldridge Robert Aldridge

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.

Read More
Robert Aldridge Robert Aldridge

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

Read More
Robert Aldridge Robert Aldridge

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.

Read More
Robert Aldridge Robert Aldridge

May 5th

Open alpha made public!

Read More
Robert Aldridge Robert Aldridge

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.

Read More
Robert Aldridge Robert Aldridge

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

Read More
Robert Aldridge Robert Aldridge

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

Read More