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

Fixed weird scaling on the wand base cast

Fixed the lods on a bunch of the armor that looked super bad when in the inventory

Implemented a workaround for the incorrectly twisted knuckle weapons for the player

Fixed weird scaling on the wand base cast

Fixed the lods on a bunch of the armor that looked super bad when in the inventory

Implemented a workaround for the incorrectly twisted knuckle weapons for the player

Added an is valid in case we forget to add a skill class to an npc, some npcs like non humanoid creatures will never have one anyway.

Fixed the bug where players could walk around after dying.

Fixed bug where players could loot attachment weapons

Read More
Robert Aldridge Robert Aldridge

Changed the look of the ice spell VFX

Changed the look of the base fireball vfx

created a new base cast vfx for the wands.

Changed the look of the ice spell VFX

Changed the look of the base fireball vfx

created a new base cast vfx for the wands.

Updated the wand base cast VFX to the new one in the data table.

Read More
Robert Aldridge Robert Aldridge

Fixed a bug where our music system was pulling an invalid array item.

Fixed a bug where NPCs would not make hit reaction sounds if hit by a spell.

Fixed a bug where the crowd didnt react to the player being hit.

Fixed a bug where our music system was pulling an invalid array item.

Fixed a bug where NPCs would not make hit reaction sounds if hit by a spell.

Fixed a bug where the crowd didnt react to the player being hit.

Fixed a bug where NPC Hair would spawn even with helmets attached.

Fixed the armor stretching bug on players.

Read More
Robert Aldridge Robert Aldridge

Tragedy.

Tragedy

I’ve been away for a month. On october 31st my sister in law who also served as an animator and VFX artist on Heartlands had a medical emergency and has been in the hospital since. This has been life altering for us and while I’m slowly getting back to work its just that… slow.

Read More
Robert Aldridge Robert Aldridge

October 30th 2025

Recorded some videos for pre alpha testing tutorialization.

Wrote out the script for the rest of the pre alpha tutorials.

Added a boolean to allow us to toggle the active state of endless arena spawning.

Recorded some videos for pre alpha testing tutorialization.

Wrote out the script for the rest of the pre alpha tutorials.

Added a boolean to allow us to toggle the active state of endless arena spawning.

Fixed a bug where the arrow overlap volume was visible.

Fixed a bug where the book system has its page flipping overlap was visible in game.

Fixed the staff charging particle effects being way too bright.

Read More
Robert Aldridge Robert Aldridge

Fixed our procedural music system. It was previously stopping and also wasn’t playing tales to tracks.

Changed the endless arena level to properly be using level streaming.

Fixed the compiling shaders screen, it was previously not getting attached and wasnt updating its progress bar.

Fixed our procedural music system. It was previously stopping and also wasn’t playing tales to tracks.

Changed the endless arena level to properly be using level streaming.

Fixed the compiling shaders screen, it was previously not getting attached and wasnt updating its progress bar.

Updated our main menu cubemap.

Created a copy of the endless arena level with a bunch of tweaks including a new NPC vs NPC spawner for us to take screenshots and cinematics in.

Hid some components that were still set to show during gameplay that shouldnt have.

Packaged a few dozen builds in an attempt to fix a loading error.

Recorded a bunch of footage in the headset in preparation for some tutorial videos.

Started the process of getting an initial build for the pre alpha up on the store.

Read More
Robert Aldridge Robert Aldridge

Spend most of the previous day working on the codex and the script for the intro and announcer tutorial barks. Coming along pretty nicely.

Adjusted the volume of the spell failed sound.

Added a particle effect for when you fail to cast a spell, the sound didn’t seem like enough to tell the player what was happening

Spend most of the previous day working on the codex and the script for the intro and announcer tutorial barks. Coming along pretty nicely.

Adjusted the volume of the spell failed sound.

Added a particle effect for when you fail to cast a spell, the sound didn’t seem like enough to tell the player what was happening

Adjusted the location of the back and hip arrow quivers they were way too far backwards.

Adjusted the size of the arrow overlap which allows the player to grab arrows. Previously you’d basically have to grab the quiver to get an arrow, now you can grab around where the actual arrows visibly are.

Disabled the armor merging system for the player because it broke armor equipping.

Turned off the visibility of the helmet when equipped

Added SnapTurningBlink variable to the game instance.

Added SnapTurningAngle variable to the game instance.

Added SmoothTurningSpeed variable to the game instance.

Added snap turning angle to the gameplay options menu.

Added smooth turning speed to the gameplay options menu.

Added snap turning blink option to the gameplay option menu.

Added in the temp player hit reaction sounds for the pre alpha.

Added AllowPlayerHitReactionSounds variable to the game instance.

Added Allow player hit reaction sounds option to the gameplay options menu.

Read More
Robert Aldridge Robert Aldridge

New hardware

Spent most of the day experimenting with the new Galaxy XR headset the hope is to port heartlands to it.

Also helped Jackie and Megan with VFX and material stuff respectively

Got spell casting finger animation kind of working, its not perfect because it isn’t blending perfectly with the regular hand animation, but its a great start!

Spent most of the day experimenting with the new Galaxy XR headset the hope is to port heartlands to it.

Also helped Jackie and Megan with VFX and material stuff respectively

Got spell casting finger animation kind of working, its not perfect because it isn’t blending perfectly with the regular hand animation, but its a great start!

Read More
Robert Aldridge Robert Aldridge

Reduced the likelihood of NPC switching weapons from melee to another type, was happening far too often.

The grip line was still set to show debug on the weapons.

The debug information for magic strafing is now turned off.

Reduced the likelihood of NPC switching weapons from melee to another type, was happening far too often.

The grip line was still set to show debug on the weapons.

The debug information for magic strafing is now turned off.

Created the separate magic effect for the fire channel spell it was previously using the same damage as the fireball.

Created the separate magic effect for the frost sky spell it was previously using the same damage as the frostbolt.

Added some missing report noise events to weapon hits previously only the player was reporting noise events when attacking which means NPCs attacking other NPCs would just stand there unless they saw them.

Added report damage events to weapon hits we previously were only getting visual and hearing stimuli.

Tracked down a bug with the stimuli inside our ai controller we were reporting noise events on the wrong perception component making the newly added damage stimuli to not function.

Added grant experience for staves and wands they were previously only getting experience when hitting someone with them like they were melee weapons.

Added grant experience for the enchanting bench

Added grant experience for the recharging items

Added grant experience for the blocking parrying and shield bashing

Added a new function to the inventory component for Get Number of Armor Skills based on Equipped Armor this returns how many of each skill (Heavy armor, Light armor, unarmored) to allow us to apply a scaled amount of XP to each skill on hit.

Added grant experience for speechcraft mini game

Added grant experience for mercantile

All skills are getting experience from somewhere now!!

Read More
Robert Aldridge Robert Aldridge

Bug fixes continue

Fixed a long standing bug where items like potions, books and misc objects would get duplicated in the inventory.

Fixed a few of the book objects compile errors

Removed a bunch of blocking loads that we had to have previously.

Fixed a long standing bug where items like potions, books and misc objects would get duplicated in the inventory.

Fixed a few of the book objects compile errors

Removed a bunch of blocking loads that we had to have previously.

Read More
Robert Aldridge Robert Aldridge

Back from vacation

Been working on PSO caching and optimization stuff for the past two days. Not going great so far. The compiling shaders screen takes over 5 minutes to run on headset not exactly reasonable in my opinion. That being said compiling our shaders removes a lot more of our stutters than i expected!

Been working on PSO caching and optimization stuff for the past two days. Not going great so far. The compiling shaders screen takes over 5 minutes to run on headset not exactly reasonable in my opinion. That being said compiling our shaders removes a lot more of our stutters than i expected!

Read More
Robert Aldridge Robert Aldridge

Road to pre alpha continues

Wrote a new system to Instance the crowd actors went from around 1300 draw calls down to around 30!

Game is now running at 72 with spacewarp 55 without


Wrote a new system to Instance the crowd actors went from around 1300 draw calls down to around 30!

Game is now running at 72 with spacewarp 55 without

Read More
Robert Aldridge Robert Aldridge

Fixed a bug where Creatures would play taunt animations intended for Humanoid NPCs

Fixed a bug where NPCs would sometimes not be able to cast spells if attacked by a creature.

Added a lave bubbling sound to the fire golems metasound

Fixed a bug where Creatures would play taunt animations intended for Humanoid NPCs

Fixed a bug where NPCs would sometimes not be able to cast spells if attacked by a creature.

Added a lave bubbling sound to the fire golems metasound

Added a fire ember particle effect to the fire golem.

Added Fire resistance to the fire golem.

Added a new interface event for TriedToAttackWithAWeaponTargetIsImmuneto_OnInterface… long name, but basically i just want us to have some sort of trigger in case we want to do something with that information like play a dialogue sound or spawn a tutorial, whatever.

Added an array variable inside the stats component for ImmuneToDamageTypes.

Added the taunt sounds for the ghost

Fixed a bug where the melee component would return a null value when checking for a stunned NPC.

Fixed a bug where NPCs playing a taunt animation would slide around on the ground.

Fixed a bug where we werent doing health damage with shock damage.

Fixed a bunch of components that we set to visible in game that shouldnt have been.

Main menu loading screen is in.

Read More
Robert Aldridge Robert Aldridge

Fixed the misaligned health widgets and block collision proxies

Added the proper ref to the Creature Definitions so they can properly play combat barks

Changed the cooldown values for the combat barks on the creatures to make them more common

Fixed the misaligned health widgets and block collision proxies

Added the proper ref to the Creature Definitions so they can properly play combat barks

Changed the cooldown values for the combat barks on the creatures to make them more common

Fixed a bug where npcs would keep breathing after death

Fixed a bug where creatures would try to play a two handed blocking animation intended for humanoid npcs

Fixed a bug where hand to hand npcs would try to play a two handed blocking animation designed for weapons.

Created the lesser golem walking metasound

Added the walking sound animation notifies for the lesser golem

Added an interface event for PlayCreatureSeenEnemyAnimation_OnInterface so we can play animations like the golems crawling out of the ground or something.

Fixed animation bugs for the flying vampire it was missing a bunch of animations and was using incorrect animations for the idles.

Created breathing meta sounds for all the pre alpha creatures

Creatures are all working enough for the pre alpha and added to the endless arena spawner.

Read More
Robert Aldridge Robert Aldridge

Spent the past few days working on sound effects for creatures.

Fixed a broken animation blendspace for the giant spider creature.

Fixed a flow of execution issue with where we were playing attack sounds

Spent the past few days working on sound effects for creatures.

Fixed a broken animation blendspace for the giant spider creature.

Fixed a flow of execution issue with where we were playing attack sounds

Fixed Spells not casting properly from the left hand

Fixed wands not calculating spell velocity correctly on the left hand.

Fixed channel spell rotations being backwards on the left hand.

Death sounds variable added to base npc

Created a new event to cache a random death sound

Modified the death event to play the cached death sound.

Added death sounds to all teh creatures for the Pre alpha

Read More
Robert Aldridge Robert Aldridge

Magic bug Fixes!

Curated the creatures we will use for the Pre Alpha Release.

Added the Summon Hellhound spell to the data table.

Added the Summon Ghost spell to the data table.

Updated the Interface event update weight with a new variable for total weight.

Curated the creatures we will use for the Pre Alpha Release.

Added the Summon Hellhound spell to the data table.

Added the Summon Ghost spell to the data table.

Updated the Interface event update weight with a new variable for total weight.

Added a new interface event for GetCurrentInventoryWeight_OnInterface

Implemented the GetCurrentInventoryWeight_OnInterface on the player character and the BP AI Parent

Implemented the Event Update Weight_OnInterface event on the BP AI Parent and the Player Character

Fixed the implementation of the Feather magic effect it wasnt working properly and relied on hard references.

Fixed the implementation of the Burden magic effect it wasnt working properly and relied on hard references.

Cleaned up the code in the summon creature code.

Fixed a bug in the Hellhound anim graph that caused them to stop animating

Fixed a bug where Summoned creatures would sometimes treat their summoner as an enemy if they killed all other valid targets.

Fixed a bug where dead AI Characters were still evaluating targets.

Fixed a bug where AI controllers were not being destroyed for dead characters.

Fixed a bug in how summons were destroyed, they were basically waiting double the time they should have to despawn.

Fixed a bug where Summoned creatures sometimes wouldn’t play their being destroyed VFX.

Fixed a bug where summoned weapons wouldn’t play their being destroyed VFX.

Fixed a bug in the VFX placement of Summoned creatures.

Fixed a bug where Ground spells couldnt be cast from the hand unless its was moving as fast as a projectile

Fixed a bug where channel spells would use the wrong path to end their execution.

Removed the old code for casting channel spells from wands, wands now cast projectile spells only.

Fixed some bugs related to the old execution for channel spells related to how we applied damage due to the removal of wands from their execution.

Fixed a bug where player hand cast ground spells would never destroy the hand VFX.

Fixed a bug where player cast hand spells would not activate their VFX.

Updated the Placement radii for all of the rune spells the system changed since they were originally set.

Fixed a bug where player cast rune spells would not activate their placement VFX

Added a validated get for the magic component to the rune casting begin charge, it was causing an error when casting from the player.

Fixed misnamed shock rune and frost fall spell

Implemented spell charge sounds for the rest of the spell types previously they only worked for projectiles.

Added a validated get for the magic component to the self spell casting trigger magic spell event, it was causing an error when casting from the player.

Implemented a bunch of sound effects for the spells for the pre alpha.

Read More
Robert Aldridge Robert Aldridge

Turns out our armor calculations were incorrect in two ways, for one we were using the attackers armor value when calculation a damage reduction instead of the person wearing the armor, and for two the actual damage blocking value was off by 30 percent due to some changes to how protection value is calculated vs the original spreadsheet design.

Fixed a bug where if an NPC killed another npc they would return to their starting place and then pull their weapon back out.

Fixed a misconfigured grip script causing weapons to pass through each other significantly

Turns out our armor calculations were incorrect in two ways, for one we were using the attackers armor value when calculation a damage reduction instead of the person wearing the armor, and for two the actual damage blocking value was off by 30 percent due to some changes to how protection value is calculated vs the original spreadsheet design.

Fixed a bug where if an NPC killed another npc they would return to their starting place and then pull their weapon back out.

Fixed a misconfigured grip script causing weapons to pass through each other significantly

Realized we were missing haptic effects for a bunch of things so created and implemented haptic effects for Spell charging, Weapon hit fails, Weapon hits, Weapon parries, shield blocks.

Modified the intensity of the holster haptic effect

Implemented the haptic effect for nocking the arrow, drawing the bow string , and firing and arrow.

Added a spell destroy delay of 30 seconds to make sure a spell thrown into the air wont go on forever.

Adjusted the angle of the projectile spell throwing, seems much better now.

Significantly reduced the references in the inventory component

Fought a bunch of the NPCs in the endless arena to test the time to kill and ended up reducing the possible max health pool because enemies were way too spongy.

Read More
Robert Aldridge Robert Aldridge

Work on the creatures and bug fixes continue!

Fixed a bug where non humanoid creatures would lay down on the ground when stunned due to an animation skeleton mismatch

Fixed a bug where humanoid creatures wouldnt get stunned during combat

Fixed a bug where the player would be counted as a valid overlapped actor for the get closest actor check we use in the wrist UI

Fixed a bug where non humanoid creatures would lay down on the ground when stunned due to an animation skeleton mismatch

Fixed a bug where humanoid creatures wouldnt get stunned during combat

Fixed a bug where the player would be counted as a valid overlapped actor for the get closest actor check we use in the wrist UI

Fixed a bug in the Wrist UI where the Item name box was set to invisible permanently

Fixed a bug where the previously displayed item info would never be cleared when switching to the Quest info UI

Changed the Quest info Ui to show “No Active Quest” if one is not active, looks better than just the empty panel.

Rewrote the entire system for showing and hiding the wrist UI it no longer shows up when swinging weapons, and has a contextual location for the information pop up when hovering over an item or when showing quest information its right above the anatomical snuffbox on either hand, when holding an item it shows up on the inside of your wrist.

Implemented a temporary UI update particle effect for things like when the player needs to level up or gets a quest update.

implemented the player Death Knell sound effect.

created a new interface event called PlayerNotificationVFXActivate_OnInterface so we can actually activate the new particle effect without a hard reference.

Bound the narrative events for Quest Succeeded and Quest New state to new events in the player character so we can show the New particle effect.

Fixed that super frustrating bug where the NPC inventory shelf was spawning at random angles.

Dozens of tiny fixes to creatures

Read More
Robert Aldridge Robert Aldridge

Cleaned up the code inside of the SpawnAttackAttachment function

Added a variable called Creature_Humanoid to help us use the same paths as the metahuman based characters without the facial setup

Updated the flow of the Setup Weapon range event. Previously we only allowed weapon range overrides on creature weapons in retrospect this was dumb.

Cleaned up the code inside of the SpawnAttackAttachment function

Added a variable called Creature_Humanoid to help us use the same paths as the metahuman based characters without the facial setup

Updated the flow of the Setup Weapon range event. Previously we only allowed weapon range overrides on creature weapons in retrospect this was dumb.

Had to do some weird stuff with the goblin 001, due to their animations we actually need to have them use the normal creature path and then spawn a copy of their weapon when they die. Dont love it as a solution, but it works.

Exposed the chance to play a death animation vs rag dolling as a variable.

Fixed missing parry event inside of the Base object it was never being fired due to a missing tag

Re wrote the code for switching from melee to another combat type, previous code worked fine if we had a fully kitted out NPC, but if they didnt have magic or a ranged weapon they would pull put away their weapon and then pull it right back out looked like a bug,

The rest of the creatures are now working to some degree.

Read More
Robert Aldridge Robert Aldridge

Creatures!

Started work today on getting the creature combat fully functional, last time i messed around with it was almost 2 years ago and it .. kind of worked, but needs significant rearchitected.

Cleaned up the code paths for NPC setup to better handle whether we are setting up Human NPCs or creatures including skipping a bunch of strictly human stuff like determining weapons and armor.

Added variable for Creature uses armor and creature uses non attachment weapon just in case we need that at some point as of right now everything for spawning Creature weapons is part of a separate event.

Started work today on getting the creature combat fully functional, last time i messed around with it was almost 2 years ago and it .. kind of worked, but needs significant rearchitected.

Cleaned up the code paths for NPC setup to better handle whether we are setting up Human NPCs or creatures including skipping a bunch of strictly human stuff like determining weapons and armor.

Added variable for Creature uses armor and creature uses non attachment weapon just in case we need that at some point as of right now everything for spawning Creature weapons is part of a separate event.

Added an interface event for GetIsCreature_OnInterface and added it to the BP Ai Controller to control which behavior tree we load.

Replaced the old MoveTo event in the Creature behavior tree with the BTGS one

Removed all the refs to attack groups in the setting animal behavior service because we dont use those anymore.

Fixed a bug where we were removing the weapon overlap capsule from attack attachments.

Fixed incorrectly set visibility of the mesh on all the creatures

Fixed a missing animation blueprint on the brown bear creature

Fixed the blendspace for the flying vampire

Fixed the animation blueprint for the flying vampire

Replaced the animations inside the forest guardian attack attachment

Added a tag for the Greater rock golems called Giant so we can do stuff with that like scale the max speed to make them look like big heavy things struggling to move.

Scaled the Greater golems to 1.5 times their normal size to differentiate them more from the lesser golems

Fixed a bug where we werent actually attaching the creature attack attachments to the correct socket

Fixed a bug where we werent actually setting the main hand weapon info inside of the creature attachment code causing us to never use the weapon distance over ride.

Put in a workaround for small spiders in the distance calculations because they dont usually meet the rotation threshold required to be valid due to their size.

Changed the radius of the sphere trace when tracing for damage with attack attachments to make hit detection more reliable.

Fixed a bug where the spider queen was using the wrong attachment item

Fixed missing animations on the twig people

Fixed missing attachemnt on twig person 003

Fixed an execution flow issue in setting a reference to the possessedAI inside the animal behavior tree

Read More