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

Work Log 8/8/2025

Spent the time since the last update working on the crowd system. Who would have though rendering 4k NPCs on a mobile chip would be hard.... Havent really taken a day off in a couple weeks, but theoretically I have a usable solution now all built in house too which is cool!

Readded the sky actor for the tutorial arena level

Had to rebuild the whole tool for generating the crowd npcs to use a editor utility widget instead of an editor utility actor

Generated around half of the animation texture arrays

Read More
Robert Aldridge Robert Aldridge

Work Log 7/29/2025

Tried to compile to the headset and what a surprise Skelot is a piece of shit that crashes the build every time.

Tried switching back to 5.5 main branch for testing and now narrative wont work. Fuck.

Our crowd system is super important, I feel like this is gonna take some time to solve and a lot of R&D. All the plugins we have tried have not worked in one way or anolther. Might have to build something custom.

Read More
Robert Aldridge Robert Aldridge

Work Log 7/22/2025 - 7/28/2025

Worked on the blocking system its working, but not perfectly. Feels like one of the hardest god damn problems of my career frankly.

Read More
Robert Aldridge Robert Aldridge

Work Log 7/19/2025

Added missing Skill class base class for Megan to go through and make variants of

Added an interface event for GetSkillClass_OnInterface

Added the code to allow classes to actually modify skills and attributes on NPCs!!

Fixed missing Hit effect info for magic effects added to actor when hit

Promoted Weapon Hit to a variable for easier access

Cleaned up code for adding magic effects via weapon hit.

Added check to make sure we cant add magic effects if we dont have enough charge

Replaced the location for spawning VFX and SFX to the actual impact point instead of the stabber socket

Updated the armor durability log to better show what actor is having their armor damaged

cleaned up code for npc blocking player strikes

Added a bit of a recoil pop when the player gets parried ... this shit took 3 fucking hours

Added a way to stop player from dealing damage if their attack was parried

Rewrote the entire calculation for NPC parrying player attacks, We can get rid of the combat testers soon! (Future Robert here, took over a month to actually get rid of the combat testers.)

Read More
Robert Aldridge Robert Aldridge

Work Log 7/18/2025

Fixed Crystal mat for staff

Cleaned up fist code a bit instead of a branch for selecting which socket to spawn a fist on we are just using a select node

Fixed player hands not being able to stretch far enough

Fixed missing data in NPC Weapon swing list of actors to ignore when tracing

Removed the old server checking code for checking NPC hits because it caused increased latency in registering hits and actually applying damage to the player hit detection is much more reliable now!!!

Added an additional check to see if an NPC is already playing an attack anim before attempting to play another we were sometimes loading new animations in the background and then playing them in the middle of already playing animations due to the delay with async loads. This change results in less spazzy looking npcs when attempting to play an animation and stops the premature stoppage of hit traces leading to more reliable hit detection for NPCs

Updated the debug damage info message to actually reflect base weapon damage, skill adjusted weapon damage, and post armor calculation weapon damage.

Added in a check to see if the cell state manager exists before we try to add stuff to its array inside the BP_AI_Parent because we were getting an error when it doesn't exist

Added a shield bash cool down inside of the melee component to help deal with the bug where shield bashes frequently don't deal damage this bug is caused by the anim notifies which call the end traces event, for some reason this never seems to be an issue inside of attack anims on regular weapons

Player now receives an impulse when killed… it’s awesome!

Read More
Robert Aldridge Robert Aldridge

Work Log 7/17/2025

Moved my computer setup into the main office

Moved Megan's setup into the main office

Debugged physics on swords to figure out why they frequently just pass right through each other and stop registering as hits sometimes. Seems to just a combination of the VRGrip Settings and the fact that our collision objects are just really small even if i change the project settings for physics in multiple ways it doesn't seem to make too much of a difference. With a collision capsule of at least 3-4 we seem to always collide with a weapon in the other hand. This can sometimes leave a visible gap in between weapons that should be touching though perhaps the answer here is to make which weapon collision is used based on velocity so if a player is swinging slowly we can use a smaller collision object to get the blade much closer together if they are swinging fast we can make it much larger so that we guarantee a hit.

Fixed incorrectly rotated axes on hip socket and hand socket

Read More
Robert Aldridge Robert Aldridge

Work Log 7/16/2025

Added match aligned array of sounds for male or female gasp sounds.

Got plugins updated on everyone's systems

Helped Megan rebuild old system to act as a build server

Attempted to Debug Skelot, the change to the architecture of the plugin has caused excess draw calls.

Downloaded the skelot template and tested to see if it was still an issue with a bare bones projects... it was

Tested the UE 5.6 version of skelot it does perform better, but not sure much it would make a difference and we cant upgrade to 5.6 until oculus releases their branch

Attempted a workaround that I found on the skelot discord that requires making a skelot asset for each piece of armor, tested in the skelot 5.5 test project it reduces draw calls anywhere between 30 and 40 percent better but not gonna make a huge dent when we are 70k draw calls over budget

Downloaded overcrowd plugin to start testing it will pass it off to megan tomorrow to attempt to make progress on

Read More
Robert Aldridge Robert Aldridge

Work Log 7/13/2025

Added events for NPCs to run out to the center of the arena when the gates open.

Fixed hidden tags category on marker objects

Disabled All tick optimization Component settings on Long Tutorial Arena Combatants, was causing them to perform weird like ignoring AI Move To commands

Added Boolean to stats component for AllowTimeDilation sometimes we might want to disabled the possibility of time dilation such as in the tutorial until we get to that part.

Created a narrative event for toggling the ability for time dilation to occur

Fixed a bug causing the time dilation VFX to show even if there was no active time dilation

Added a complete narrative data task to the magic effect component for PlayerHealthRestoredViaSpell

Created Tasks for tracking if player has cast a spell. This should eventually replace the more specific player has cast healing spell task.

Created task to track if NPC has cast a spell

Disabled pickpocketing code for now seeing as it needs a refactor and it shouldn't be enabled for the tutorial anyway

Added the tutorial helper card to the arena default behavior now is to show the current task description if the player doesn't complete it within 10 seconds

Added an event to destroy the items spawned for the previous match, previously only the items npc used would be destroyed

Created new material instance for NPC Invisibility, old invisibility was way too visible.

Updated volume of crowd cheers louder

Updated volume of impact sounds quieter

Not totally fixed but the annoying sound spam is kind of better doesn't clang every time it hits anything

Fixed the sneak sound being a loud fucking thud that played everytime you hit anything.

Read More
Robert Aldridge Robert Aldridge

Work Log 7/12/2025

Created narrative event to make npcs invincible

Fixed a bunch of missing anim notifies on weapon anims that Jackie missed

Created several new data table rows for the tutorial npc weapons so that they can do more damage to end the matches quicker as intended

Fixed missing player character in end of matches spawn

All 7 matches playable

Fixed NPC and player spawn locations

Fixed NPC and Player Team assignments

Add OnDestroyed Event to get rid of spawn holsters, weapons, etc to properly reset arena in between matches

Items up until match 5 are spawning on each side but the transforms are broken

Fixed issue with the heart shards not being allowed inside soft class refs, apparently our tool for making items named them with () and that isn't allowed in unreal’s naming scheme surprised they ever worked at all frankly

Read More
Robert Aldridge Robert Aldridge

Work Log 7/11/2025

Curated possible underwear models for our characters, we need to just attach the models to our characters permanently instead of trying to get the built in underwear to look good its far too modern anyway

Spent most of the day getting unreal engine asset aliases to work

New tool to add aliases exists now

Programmed the ability for us to actually reset into a new body after each death

Programmed npc spawning for each long tutorial match

fixed the low damage output combat bug

Long tutorial playable up to match 5

Read More
Robert Aldridge Robert Aldridge

Work Log 7/10/2025

Live demo to Brock and Andrew over discord, lots of bugs

Curated character bodies and heads to use for demo player characters

Debugged tutorial character bodies not working

Character bodies working

Player characters for long tutorial created

Read More
Robert Aldridge Robert Aldridge

Work Log 7/9/2025

Created potion for player invisibility

created task for tracking player potion use

Fixed bug in the way potions were drank

Changed event for potion use tracking to support players or npcs

Fixed bug in NPC archery where they weren't activating the projectile component due to previous optimization.

Discovered that there’s a homing setting inside the projectile component could be useful for perks later

created interface events to mark start and end of invisibility, needed to fire off task completion of invisibility in tutorial can also be used later to actually make npcs not track player if they are invisible

Created task to track actors becoming visible, attempting to make this one more generic so it can support NPCs or Players.

Created a task to track NPC damaging the player also made more generic so we can hopefully use it in a bunch of ways such as player hit with arrow or player hit with spell

Changed WeaponUsedToDealDamage_OnInterface to have an input for who damage was applied to

Created a task to track Player damaging NPCs also made more generic so we can hopefully use it in a bunch of ways such as player hit with arrow or player hit with spell

Created healing potion for player for the tutorial

Replaced invisibility end event at the start of the invisibility effect with a duplicate event without the call to all actors saying visibility has been reset inside magic effect component because it was causing the task to fire twice

Created task to track player healing via spell

Match 5 is playable!

Created Tutorial Staff Weapon

Created Tutorial Wand Weapon

Created task to track what weapon the player has selected

Created task for attuning a wand to a spell

Player wand casting with spells has been converted to using projectiles instead of channel spells

Created task for tracking if placement spell from staff has been cast

Created task for tracking if a weapon is out of charge

Created task for tracking if player was frozen by npc via spell

Created data table rows for tutorial staff and wand

Created interface event for WeaponUsedToCastSpell_OnIterface

Created task for tracking if a weapon was recharged

Created interface event for WeaponOutOfCharge_OnIterface

Match 6 is around 45 percent playable before i took a break for a few hours

Wand attunement is working!

Player spell casting with wands is working again.

Match 6 is now fully playable albeit we have to manually set the npc using staff or wand for now

Crated events for adding and removing spells from npcs

Spell scrolls work again for the player

Read More
Robert Aldridge Robert Aldridge

Work Log 7/8/2025

Curated animation for npc tip grip block

Added an input to the WeaponUsedToBlock_OnInterface event for whether or not it was a tip grip block

Added a variable for whether or not a weapon is tip gripped to the base object

Added an interface event for getting if an item is tip gripped.

Added Tasks for player tip grip block and npc tip grip block

Added the code for player and npcs being able to tip grip block

match 3 is playable if not a bit buggy.

Created task to track player and npc arrow firing

Created Invisibility potion for NPC to use during match 4

Created narrative event to force npc to use an item.

Created interface event to handle forcing npcs to use items. Only works for potions right now.

Created an interface event PotionDrank_OnInterface to give individual items a trigger for if they have been drank.

Added interface events for BowUsedToFireArrow_OnInterface and ArrowFiredEvent_OnInterface

Match 4 works!

Read More
Robert Aldridge Robert Aldridge

Work Log 7/7/2025

Created tutorial weapons for match 3

Created Data task for hitting enemy with two hands

Added Event to interface for WeaponUsedToDealDamage_OnInterface. Idea is to use it as a trigger ot fire off events on individual weapons for stuff like updating tasks

Match 3 is working up until when the player hits with two handed weapons now, need to make the task tomorrow to allow the npc to block with two hands

Read More
Robert Aldridge Robert Aldridge

Work Log 7/6/2025

Created narrative events to toggle player invincibility or invulnerability

Fixed the issue where the player could die before the first match was finished

First pass on the rest of the long tutorial match quests

Created the tutorial shield

created the task for shield blocking

Added interface events for WeaponUsedToShiledBash_OnInterface

Added interface event for WeaponUsedToBlock_OnInterface

Added interface event for WeaponUsedToParry_OnInterface

Found a bug in the combat system where we never actually used the blocking system only the parry system because none of our shields were marked as shields, i have labeled a few of the ones ill need for the tutorial and added the rest to megan’s list

Added a branch to allow blocks to actually work in the combat system, they don’t really do much right now, but they are called now at least.

Added a data task for entering the arena and implemented it in long tut match 2

Added a data task for npc shield bashing

Added interface event WeaponUsedToBlock, WeaponUsedToParry, and WeaponUsedToShieldBash

Created Narrative event for setting npc skill level

Fixed some bugs in the code for players to be able to shield bash

Fixed a bug in the players ability to die

Fixed a bug where npc could hit their own shield

Fixed bug where npcs would trace for damage with both their weapon and their shield at the same time.

Fixed npc ability to shield bash

It is now possible to finish long tut match 2

Read More
Robert Aldridge Robert Aldridge

Work Log 7/5/2025

Re enabled skelot and started rebuilding it. Skelot has had a major upgrade that changed its entire architecture

Rebuilt the skelot actor

made some changes to the base skelot material to support the new way of packing floats to determine spectator NPC race

Skelot is now fully working again

Added crowd sounds to tutorial arena

Added arena music to tutorial arena

Modified metasounds for crowds to autoplay the background sound instead of requiring a trigger

Created Enum to help us play certain crowd sounds via a switch

Created Narrative Event to allow playin crowd sounds

Crowd now cheers when the gate opens or the player dies

Force player to drop weapons upon death

Fixed Missing weapon capsule collision channel

Broke fists somehow

Fixed Missing Logic For fists being considered weapons

Fixed Fist combat

Read More
Robert Aldridge Robert Aldridge

Work Log 7/4/2025

Built the dialogue tree for the announcer long tutorial

Built the dialogue tree for the announcer short tutorial

Built the dialogue tree for the announcer skip tutorial

Built an arena tutorial manager

Made two arena tutorial weapons dagger and short sword

Started debugging combat code

Programmed the ability for the player to switch tutorials

Started building quests for the tutorial

Tested feasibility of using traces for player, initial results look great?

Programmed narrative events for player death weapon breaking and doing fist damage.

First match is done enough for first draft

Read More
Robert Aldridge Robert Aldridge

Work Log 7/3/2025

Generated temporary voice lines for mauzara and announcer

Wrote out first draft for intro sequence

Programmed actual intro sequence first draft

Read More