‘Questknight’ is a simple 3D adventure platformer in a retro art style being developed in Unreal Engine 5.4.4. The playable character is a meek hero in a mystical world, with high agility and modest combat ability. Players must explore areas in search of dungeons from which evil creatures terrorize the land.

‘Questknight’ is being developed by the team of ‘Hivemind Labs’ where I contribute as their Lead Programmer. My involvement with this project started in August of 2025.

This project is still very much a work in progress and every element of the games progress seen within the dev logs and scrum reports is subject to change.

Latest Dev Logs

(I am still in the process of transferring my scrum reports from our internal threads to this page, so older scrum reports will be posted soon.)

Scrum Reports

05/13/2026

CURRENT TASK(S) UPDATES:

Climbing & Bug Fixes

Climbing

  • Player can now climb around both inner and outer corners. Works for both wall climb and ledge climb.

  • Some smoothing was put in place to transition around corners.

  • Did some tests and corrections to help prevent attacking from interfering with climbing and vice versa.

Bug Fixes

  • Fixed a bug that allowed the player to jump while making an attack.

05/12/2026

CURRENT TASK(S) UPDATES:

Climbing

Climbing

  • Player is now capable of climbing on and around rounded surfaces, for both walls and ledges.

  • Player will now always be the same height away from a ledge when starting a ledge climb.

  • Climb check traces have been changed from capsule traces to line traces.

  • Spent awhile restructuring the climbing system code so functions were more reusable.

  • Fixed a previous issue that where when the player would reach the edge of a surface for a climb they'd "glide" for a few units before stopping. This was solved by zeroing the velocity for just that climbing direction. This makes the stopping point of the player's climb exact, rather than within a certain range.

  • Fixed issue where the climbing jumps launched the player purely by the X Y world coordinates. Meaning if you were to face X and jump to your right it would work properly, but if you were to face -X and jump to your right it would go left. Now it is properly taking into account the player's right vector. This went unnoticed before because the climbing wall for testing was perfectly facing X in the world, go figure.

  • Changed the tag search for climbable actors from 'WallClimb' to 'Climbable'. Also changed the tag search from actors to components. Meaning individual components can be given the tag rather the actor in its entirety.

  • Added a 'PM_Climbable' physics material, this can be added to any objects material to make it climbable. This works similarly to how footstep sounds are detected for different surfaces.

  • Player can round corners while wall climbing (still very early in testing, will be smoothed). I also had climbing 'inner walls' working as well, but deconstructed it to build a better determination system. The last few hours primarily went into this, but I should have it ready tomorrow.

05/11/2026

CURRENT TASK(S) UPDATES:

Climbing & Bug Fixes

Climbing

  • Player will now stay facing towards the wall while wall jumping, and only return to normal rotation when they land.

  • Tweaked some values to make the have their eye level always be the max point up a ledge, preventing half their body from peaking over the lip.

  • Changed the player capsule radius from 25 to 35, this puts a bigger gap between the player mesh and the wall. This shouldn't be noticeable or interfere with any other game system.

  • Changed the frames of the 'AS_QK_climb_freeze_v5' from 3 frame to 26, this prevents an issue when stuttering when transitioning to animations in the blend space. Also chopped the last frame off of that same animation as there was an additional pose that seemed to have been there by accident when imported.

  • Wall jumping is much more stable now, player can jump in 8 directions based on their movement input, and also backwards if they give no input.

  • Created a method to determine the input direction the player is intending to go, even if their path is blocked. Nodes like 'Get Current Acceleration' and 'Get Last Input Vector' would only work if the player was able to move, otherwise they'd return 000. With this new method the raw input is evaluated, allowing the player to wall jump up and over a ledge, or sideways off a corner.

  • Corrected an issue where if the player grabbed a ledge that was above a climbable wall, they wouldn't be able to go down because they'd technically be in a ledge climb. Now each limbs climbing trace is evaluated to check if any are hitting a climbable wall, in which case the climb changes from ledge to wall.

  • Camera will now smoothly lock behind the player upon entering a climb.

  • If the player walks off a ledge without jumping, a short timer will run before the climb check will begin as if they reached the apex of their jump. Basically, the player can now walk off a ledge and grab a climbable surface where as before they had to of jumped first.

  • 'Lock On' can no longer be activated while climbing.

  • If player climbs down to the point that they're touching the ground, then climbing will end.

  • Separated wall jumping to its own trace rather than relying on the climbing traces. This allows for wall jumps to be determined without needing the player to face towards the wall.

Bug Fixes

  • Fixed a bug that would all the player to climb outside of the 'BP_WallClimb' range while a surface was still present.

  • Fixed a bug that would permanently change the camera rotation speed after lock on was used.

  • Fixed a bug that would cause the camera to move to world zero when un-focusing a focused target.

05/06/2026

CURRENT TASK(S) UPDATES:

Wall Climbing

Wall Climbing

  • Ledge climbing now works again.

  • You can now jump directionally while climbing.

  • Cleaned up some of the climbing code to make it a little less snappy and more predictable. This also fixes an issue where the player would have their inputs pulled back to the point they started a climb until they were rotated to the hit normal.

05/05/2026

CURRENT TASK(S) UPDATES:

Wall Climbing

Wall Climbing

  • Created an actor that projects a decal on to any surface, making that surface climbable. (Only works on flat surfaces)

  • Ledge climbing is currently broken while wall climbing is being tested.

  • Added animations to climbing.

  • Recreated the BS_QK_Climbing as the original one didn't work with the ABPs expectation for direction and speed inputs. Also flipped the left down and right down animations as they matched the intended movement better.

05/04/2026

CURRENT TASK(S) UPDATES:

Player Character BP

Player Character BP

  • Completely restructured and reorganized the player character blueprint, merging everything back to a single event graph and making it more navigable/useable.

  • Removed all old, unused, and duplicate functions/variables from the blueprint.

  • Took over 7 hours to reorganize and reroute, but the difference is night and day.

04/24/2026

CURRENT TASK(S) UPDATES:

Crouching/Stances & Update Speed

Crouching/Stances

  • Created an ENUM and function that handles the players transitions into different stances (Standing, Crouching, Crawling), and smoothly blends between each.

Update Speed

  • Created an 'Update Speed' function that handles anything relating to the player speed. Essentially anything that is going to be affecting the player speed will be a multiplier value rather than a 'hard set' of the player speed.

  • This basically lets different conditions multiply upon each other. For example if the player is focusing a target then their speed is multiplied by the 'FocusWalkSpeedMultiplier', but if they're also crouching then that remaining speed is multiplied by the crouching speed multiplier.

04/17/2026

CURRENT TASK(S) UPDATES:

Dialogue System

Dialogue System

  • Text will now write itself letter by letter with each dialogue line.

  • Text writing can be forced to finish if interaction button is pressed again.

  • Added the ability for 'YES' and 'NO' responses to dialogue. These buttons will also only appear after the text has been fully displayed.

  • Added triggers for Conversation Line Start and Conversation Complete, allowing the owning character to assign its own responses (animations, SFX, etc).

  • Experimented with getting character sounds to trigger with each letter as its written.

  • Added a 'Sign Post' NPC that runs off the same dialogue system and can be interacted with.

  • Removed Event Dispatcher method that was being used to relay information to the UI in place of a new BPI method.

  • Worked through a litany of different issues that stemmed from the game being paused and the inability for timers and sounds to run while paused.

  • Corrected issue with the input mode being overwritten when the player paused while in a dialogue.

  • Dialogue camera will occasionally pick the wrong side to move towards, still trying to fix it.

04/15/2026

CURRENT TASK(S) UPDATES:

Dialogue System

Dialogue System

  • Game now pauses while in dialogue, had to additionally create a new player controller that was blueprint accessible just to allow the 'Should Perform Full Tick when Paused' bool to be ticked true and allow camera movement.

  • Timers couldn't be used while the game was paused, so instead the BP_TransitionsCamera and BP_Dialogue have their Event Tick toggled on and off in place of the timers (this is more efficient than it sounds).

  • Can go into the pause menu during dialogue, and coming out of the pause menu keeps the game paused while still in dialogue.

  • Created a CSV file that houses all the dialogue in the game, categorized by character, conversation, and then line.

  • Basic text box on the screen to display dialogue as it updates.

04/14/2026

CURRENT TASK(S) UPDATES:

Interaction System & Dialogue System

Interaction System

  • Player now has a collision sphere that will detect nearby interactable actors and determine the nearest one.

  • Interaction is handled by giving an actor the BPI_Interactable and determining their response on the return node.

Dialogue System

  • Created a BPC that handles Dialogue interactions between actors.

  • When a dialog is initiated, both actors will both slowly face each other.

  • The player's camera transfers to the BP_Transitions camera and interps itself to a location radially offset from the center point of the dialogued actors.

  • The camera will favor the side of the player that it is already on when dialog is initiated, meaning the camera will automatically be on the left or right side of the player for dialog.

  • The camera will also interp to face the NPC character.

  • The angle, dialog distance, camera movement speed, and camera rotation speed are all exposed variables.

04/08/2026

CURRENT TASK(S) UPDATES:

Menus (Pause, System, Credits) & Packaging

Pause Menu

  • Moved the star coins and blossoms to the bottom left.

  • Values for the health, mana, and coins now update.

  • Removed the exit prompt in exchange for a new widget that derives from the sub menus themselves.

  • Added the temporary fantasy font to each sub menu as well.

Systems Menu

  • All buttons aside from 'Save Game' and 'Load Game' now have their intended functionality.

Credits Menu

  • Created a 'Team Member Block' widget that houses information for a team member for easier implementation.

  • These widgets are also buttons and when they're pressed will take you to that team members page/portfolio/etc.

  • If the 'Team Member Block' widgets are approved, then I'd need the following for each individual: Image, Team Role, Preferred Name, Social Handle, and link to their page or portfolio.

Packaging

  • Successfully created a packaged version of the project.

  • Some issues going on with the audio, but I think I have it patched for now.

  • I have it zipped and uploaded to my google drive (500MB) and could post a link if desired.

04/06/2026

CURRENT TASK(S) UPDATES:

Menus (Pause, Control, Systems/Options)

Pause Menu

  • Created the system for the 'Information' page that allows selectable items to have information displayed.

  • Updated the test assets from the previous block out.

  • The 'Go Back' button was removed and replaced with a BPI trigger that has the child widgets relay when their own 'Go Back' button is pressed, allowing widget pages to now be completely isolated from one another.

Controls Menu

  • Created the new 'Controls' menu that displays inputs at the corresponding use.

  • Also created a widget that makes it extremely easy to add and edit these button displays within the 'Controls' menu itself.

Systems/Options Menu

  • Created the basic setup for the 'System' and 'Options' menu.

03/30/2026

CURRENT TASK(S) UPDATES:

Menu (Pause)

Climbing

  • Corrected the previous issue of the decal being overpowered by the emissions of the book pages, removed the page emission and just added that page color as a background to the widget for the decal.

  • Made the character viewer and book pannable and zoomable.

  • Redid the naming conventions for all the pause menu assets.

  • Created the subcategory selection.

  • Other bits and bobs with maintaining UI element scaling.

03/29/2026

CURRENT TASK(S) UPDATES:

UI Spell Book

UI Spell Book

  • Figured out how to project a UI widget through a decal and onto the spell book.

  • Problem: The spell book pages have to have emission, the decal is technically transparent, meaning the page emission is blowing out the decals. I honestly spent probably 4 hours straight today just trying to get the decal to not be effected by the emission. Unless I'm missing something then there's only one other way I can think to do it, but it would involve having a finished 'book' mesh with a large portion of the unwrap dedicated to the pages.

03/25/2026

CURRENT TASK(S) UPDATES:

Menus (Title Screen, Pause)

Title Screen

  • Implemented the new design of the title screen.

  • Added SFX to buttons being hovered and pressed.

  • Text on buttons change when highlighted.

Pause Menu

  • Built new pause menu.

  • Spent a lot of time figuring out how to assemble the sections correctly to allow for automatic element scaling at any resolution.

  • Live character model viewer window.

  • Still need to implement the functionality of certain features, but with the foundation essentially complete.

Pause Screen and Main Menu

  • Started the foundations for the pause and main menu screens.

  • Created several customizable widgets for easier additions.

  • Pause menu is implemented into the HUD itself rather than being it's own separate WBP.

  • REMOVED the ability to close the editor by pressing ESC, as this key was needed for the pause menu.

  • Main menu Hivemind Labs button.

  • I'll need some semi-detailed notes as to exactly what the layout for the screens should be, it looks hella ugly right now, but I didn't want to beautify it unless I was doing so in the right direction (ex. Controls screen).

  • Still need to implement controller interactions for the pause and main menu screens.

03/22/2026

CURRENT TASK(S) UPDATES:

Menus (Title Screen, Pause)

03/13/2026

CURRENT TASK(S) UPDATES:

‘Modern’ Camera & UI Aspect Ratio Bars

‘Modern’ Camera Mode

  • Added a new camera mode that allows the player to look around with their mouse (like a traditional third person shooter).

  • Integrated it properly with the lock on system and combat.

  • The original 'Ocarina' mode is still in there, you can toggle between both camera modes easily by hitting the 'BACKSPACE' key.

  • Still needs some work, some elements that relied on the spring arm lag still have to be remade for the new camera mode.

UI Aspect Ratio Bars

  • Added black bars on either side of the screen and put HUD elements within them.

  • Original request was to change the camera aspect ratio itself, however this could not be done as it would make the bars separate from the UI itself, which would cause clipping and inconsistencies at different resolutions.

Wall Jumping

  • Recreated the wall jumping system.

  • To wall jump you MUST be facing a wall while falling after a jump, this will cause you to slide down it until you jump off.

  • You CANNOT have a weapon in hand while wall jumping.

BPC_Mobility

  • Spent a lot of time cleaning up the BPC_Mobility component and getting it out of it's "testing" phase.

03/10/2026

CURRENT TASK(S) UPDATES:

Wall Jumping & BPC_Mobility

03/09/2026

CURRENT TASK(S) UPDATES:

HUD, BPC_SpellCasting, & BPC_FocusTarget

HUD

  • UI element for the current item in player's hand, or lack there of.

  • UI element for that tracks the player's current focus actor.

  • UI element for the player's current active spell.

BPC_SpellCasting

  • Added an array for the current available spells for the player/characters. Also added their current 'active spell'.

  • Added the ability to cycle between your available spells. LEFT AND RIGHT D-PAD on controller or '2' on keyboard.

  • Current active spell will trigger for the charged spell attack.

BPC_FocusTarget

  • Focus lock will break when the target is dead and there is no other targets to lock to.

03/07/2026

CURRENT TASK(S) UPDATES:

HUD, Mana System, Death Drops, Sword Magic Charge

HUD

  • Player can now climb around both inner and outer corners. Works for both wall climb and ledge climb.

  • Some smoothing was put in place to transition around corners.

  • Did some tests and corrections to help prevent attacking from interfering with climbing and vice versa.

Mana System

  • Mana system that is separated from the old coin method, now lives in BPC_Health.

  • Added orb pick ups that replenish your mana.

Death Drops

  • Characters are now capable of dropping pickups on death, the amounts can be edited with their 'dropsOnDeath' map variable.

  • Added a small delay window after a pickup spawns so it doesn't immediately get sucked into the player.

Sword Magic Charge

  • Testing a charge material build up on the sword, still very early in development

  • To test this, initiate a charged spell attack and release.

03/05/2026

CURRENT TASK(S) UPDATES:

Double Jump Expiration, Pickup System, UI, Heart Containers

Double Jump Expiration

  • This is essentially a timer before double jump is no longer allowed while the player is in air.

  • This time can be edited in the player character with the float value 'timeBeforeDoubleJumpExpires'.

Pickup System

  • Updated the pickup system to be a bit cleaner to work with.

  • Started working on the 'Mana' pickup and have added it to the power up roster. Still needs the functionality that is currently stored in the coins.

  • Switched the pickup sounds from multiple sound cues to a single MetaSound.

UI

  • UI is getting a massive rework.

  • Created a easily editable WBP that can be used for multiple different information displays, currently used for the Lives and Coins.

Heart Containers

  • Switched the health status from a progress bar to individual health containers.

  • The value of each health container is currently 25 (can be edited), but it's best if we continue to have damage values be in increments of 25 across the project.

  • Everything is automatic and scalable, heart containers will automatically adjust based on the player's current and max health.

03/04/2026

CURRENT TASK(S) UPDATES:

Double Jump, Air Dash, Charge Up Spell Attack, Ledge Climbing, Attacks

Double Jump

  • Player is now capable of double jumping.

  • A toggleable bool has been added named 'canDoubleJump'.

  • Double jump resets on landing.

  • Faked coyote time by manipulating the amount of jumps to 3 instead of 2 when double jumping.

Air Dash

  • Air dash that uses the same input as dodge.

  • Can be chained with double jump.

  • Air dash resets on landing.

Charge Up Spell Attack

  • New 'Ranged Spell Attack' has been added to BPC_Attacks.

  • Spell attack charges up similarly to how the melee charge attack does.

  • MUST be locked on to a target to be able to perform a spell attack, this will be changed in the future, but the locking camera over the shoulder thing is a bit complicated as well as aiming.

  • Perform spell attack by holding RIGHT TRIGGER or RIGHT CLICK.

Ledge Climbing

  • When grabbing a ledge, the character will automatically face the surface they are grabbing onto.

  • Taking damage while climbing will make you let go.

  • The check for if there is a ledge to grab is triggered by the APEX of your jump, meaning, if you walk off a ledge without jumping first, then it will not trigger.

  • You CANNOT climb while a weapon is in your hand.

Attacks

  • Blocking as been removed as it was using the input that spell attacks now do.

  • Holster/Unholster input has been added to controller inputs, currently set to D-Pad UP.

  • If you press the attack button when you are without a weapon in hand, then this will for the 'Holster/Unholster' event.

03/02/2026

CURRENT TASK(S) UPDATES:

Frog AI Behaviors & Ledge Climbing

Frog AI Behaviors

  • Fixed frogs going their attack targets previous location instead of the current location.

  • Fixed frogs not being able to path around obstacles.

  • Frogs are now generating points on the nav mesh and moving to their location. Previously they were moving to the overall 'goal' location.

Ledge Climbing

  • Initial tests with setting up traces and a new 'BPC_Mobility' component. The goal with this is to make any ledge (fitting a certain criteria) climbable, nothing outside of the BPC will be needed.

  • I disconnected this before I pushed so it doesn't mess with anyone pulling from my branch.

02/28/2026

CURRENT TASK(S) UPDATES:

Bug Fixes, Camera System, & Attacks

Bug Fixes

  • The landing sound effect will no longer trigger during lunges, should now only trigger after the player has truly fell.

  • Line trace visual debugs have been disabled.

Camera System

  • Fixed bug with 'camera lock on' where it would occasionally start way too zoomed in.

  • Added a camera rotation offset that will put the camera in more of an more angled view relative to the player and their focus target. It will also favor which ever side of the player it ends up on while the player moves around.

  • There is also a variable named 'cameraRotationOffsetWhileFocused', editing this value will change the offset angle.

BPC_Attacks

  • Added 'Disable Movement' event dispatcher to stop movement during attacks, previously this was relied on by 'On Attack Update'.

  • Long jump attack animation has been updated to the newest version.

Ground Slam Attack

  • Ground slam check (within the BP_PlayerCharacter) has been redone to better control conditions allowing it's activation.

  • Ground slam now has a briefly delay after landing where the player will not be able to move, this was done to prevent attack spam and make it feel heavier.

Forward Arcing Leap Attack

  • New attack that arcs the player towards the enemy they are focused on and delivers an overhead strike upon landing.

  • Attack is activated while you are locked on to an enemy, have a weapon in hand, and press the 'Jump' button.

Sword Impact VFX

  • Added the current test version of the NS_Blast effect to sword hits.

  • This can be toggled off and on by selecting the BPC_Attacks component in the player and toggling the 'Sword Impact VFX' boolean in the Details panel.