- [ ] NPCs fall through the ground when starting the level with VoxelPlugin
- [ ] Niagara Water (3D) doesn’t work
- [ ] VoxelPlugin 2.0 .vox importer is broken (UE 5.0.1)
- [ ] Fluid Flux waterfall clips at edge of cliff
- [ ] Fluid Flux surfaces trigger overlap events with projectiles
- [ ] Sprint & inventory UI don’t interact well
- [ ] NavMesh not properly taking into account the foliage: https://forums.unrealengine.com/t/foliage-not-affecting-nav-mesh-in-ue5-works-in-4-26/532988
- [X] Tom Looman Professional Game Development in C++ and Unreal Engine
- [X] watch UE learning course (C++, gameplay systems)
- [X] prototype voxel destruction of world
- [ ] Credits / Money system - stored in PlayerState derived class to remain after player death
- [ ] Killing minions grants credits, using health potions costs credits
- [ ] Coin pick-up
- [ ] Credits widget hooked up to show current credits in HUD
- [ ] Randomly spawn coin and health potions throughout the level at game start (EQS)
- [ ] Gameplay Abilities System
- [ ] Level Loading System
- [ ] State Saving / Loading System
- [ ] Unreal Engine Data Tables
- [ ] Unreal Engine Subsystem Framework (lifetime managed singletons)
- [ ] Add effects (butterflies and dust motes) to the scene
- [ ] Start stubbing out dialogue system
- [ ] highlight interactable objects & foliage
- [ ] add niagara water effects
- [ ] add niagara smoke effects (campfire / chimney)
- [ ] add lightning effect
- [ ] magic projectile destroys foliage instances
- [ ] magic projectile sets foliage instances on fire
- [ ] Add particle effects to waterfall (top & bottom)
- [ ] mouse + keyboard support (to aim where mouse looks)
- [ ] Make blendspace 2d for holding bow, walking, idling
- [ ] Allow each animal to have a different amount of player avoidance
- [ ] Fade objects between camera and player
- [ ] Allow character to tell NPC to stay put after having them follow
- [ ] Different UI / inventory system / filtering by item type (food, weapons, armor, quest, etc.)
- [ ] Lock / Key System
- [ ] Action / Event / Trigger (e.g. hidden doors, buttons, and such)
- [ ] Puzzles (ideas, systems, prototypes)
- [ ] Update Arrow Projectile to be Physical projectile working for spears and such as well
- [ ] Shield equipment which can block arrows and attacks
- [ ] Allow default items to be randomized on instance spawn
- [ ] Allow new character to climb ladder
- [ ] Add start menu
- [ ] Add pause menu
- [ ] Add death / respawn menu
- [ ] Create HUD (C++) https://benui.ca/unreal/ui-setup/
- [ ] Add Isle Of Lore 2 Icons to UI
- [ ] Make ladder
- [ ] rig dog
- [ ] rig raccoon
- [ ] rig duck
- [ ] Animate horse
- [ ] animate raccoon
- [ ] animate duck
- [ ] Armor item (helmet?)
- [ ] Barrel
- [ ] Winespring Inn
- [ ] Rand house interior
- [ ] Perrin’s Forge
- [ ] Pig
- [ ] Crops (corn, wheat, pumpkins)
- [ ] Fruit (apples, bananas, oranges, pears)
- [X] Update flat models to have a more clearly defined front - not really an issue
- [ ] Secret cave in mountain home map with rock door
- [ ] Sheep
- [ ] Item Drop (player)
- [ ] Item Drop (NPC)
- [ ]
- [X] Determine how the C++ side of AI Character can have a DialogBuilder object (which is an actor component, but needs to be built out)
- [X] Removed the explicit `TamDialogBuilder` from the Tam NPC and added a DialogBuilderObject to all AI Characters
- [X] Updated Tam’s DialogBuilderObject to be point to the `TamDialogBuilder` as its base class and updated the level blueprint and opening level sequence to use it instead of the older hardcoded version
- [X] Model: Fade / Myrdraal enemy model
- [X] Add Fade to game
- [X] Add animations for Fade
- [X] Create version of the enemy model which does melee attacks
- [X] Fade attack after trollocs are killed
- [X] Level blueprint can tell when trollocs are killed and when fade is killed
- [X] Reorganize content folder / structure of unreal project
- [X] Add opening cutscene (player walking out of house into world with fade-in)
- [X] bugfix: Arrows which hit other arrows in characters don’t deal damage
- [X] Add Tam to game (with heron marked blade in inventory)
- [X] Model meat items
- [X] Health item (food, potion, etc.)
- [X] Add meat items to animals
- [X] Add openable event emitters when they are opened / closed
- [X] Update opening cutscene for smoother transitions
- [X] Update level blueprint to know if the gate has been closed
- [X] Update DialogBuilder plugin to use UE 5.0 version instead of UE 4.27 version
- [X] Get Dialog system into game
- [X] Have tam tell player to come down and make sure to close the gate when they’re done
- [X] NPC base BT doesn’t wander randomly anymore
- [X] NPC base class exposes a few functions for easily setting follow player and move to location
- [X] Tam NPC overrides interact implementation to not follow player but instead talk to them
- [X] Add Animations for Tam
- [X] Tam goes up to the campfire after player gets sheep into pen
- [X] Tam puts sword in chest
- [X] Troll-like (Trollike) attack
- [X] Audio: Death (voxel explode)
- [X] Audio: Walking
- [X] Audio: Melee Swing
- [X] Audio: Forage
- [X] refactor: door, gate, and chest to have base Openable classes (with sounds)
- [X] Audio: Door
- [X] Audio: Chest
- [X] Audio: Pen
- [X] Audio: Item Get (player)
- [X] refactor: move chest inventory UI into base (C++) class
- [X] Audio: Melee Hit added to weapon melee actor
- [X] updated weapon melee actor to have delay between start of attack and sweep
- [X] Audio: NPC follow (positive)
- [X] Audio: NPC stop follow (negative)
- [X] Audio: Update SFX volumes to be more consistent
- [X] Updated openables to have flags blocking opening / closing, chest subclass cannot be closed
- [X] Added HUD class and add it in player controller
- [X] Update WotCharacter to override the audio listener
- [X] Update InventoryComponent to use AssetManager to find all blueprint subclasses of UWotItem
- [X] bugfix: can drop items after 0 count
- [X] bugfix: items are deleted from other inventory even if they cannnot fit in player’s inventory (for count restriction)
- [X] bugfix: ensure equipped items are unequipped when dropped
- [X] bugfix: player can destroy dropped items if they try to pick them up but the inventory cannot take them (for count restriction)
- [X] bugfix: prevent non-owners of items from using them - prevent character from accidentally using an item in a chest if they cannot take any more of them (for count restriction)
- [X] implement action system
- [X] add action C++ base class
- [X] add action_projectile C++ class
- [X] Add action component and update WotCharacter to use it for spawning projectiles
- [X] Add defaults actions to action component
- [X] Added sprint BP action
- [X] Added Magic Projectile BP action
- [X] Added Dash BP action
- [X] Added Blackhole BP action
- [X] bugfix: Update force direction in ApplyDirectionalDamage
- [X] bugfix: Update so foliage interaction only picks up one of the currently interactible instances instead of all
- [X] bugfix: Update so foliage instances are only removed if they can be picked up by the player (e.g. count restriction)
- [X] cleaned up character class from action refactor
- [X] removed outdated models from repo and cleaned up structure some
- [X] bugfix: Arrows do not trigger overlaps with static meshes - use Hit event to handle static mesh collision
- [X] bugfix: dropping arrows while bow is equipped causes magic projectile to fire when trying to attack afterwards - better checks when unequipping items when dropping them to ensure they could even have been equipped in the first place
- [X] bugfix: If player is holding bow + arrow (while charging for instance) and they drop the bow, the arrow stays suspended in place
- [X] bugfix: If player goes into the menu holding the bow while charging an arrow, when they leave the menu if they then charge again, they will delete / lose one arrow - added destruction override to EW_Bow to drop an arrow if it is equipped and destroy the arrow projectile
- [X] bugfix: player can go into menu while pressing / holding attack - which causes the attack animation / pose to stay
- [X] bugfix: Magic effects are not currently within the git repo
- [X] gamepad support (movement, camera rotation, attack, interact, projectile, inventory)
- [X] added support for gamepad right thumbstick controlling pawn rotation
- [X] Moved Inventory Panel Widget code from BP to C++
- [X] Moved Item Widget code from BP to C++
- [X] Added Player Controller BP class
- [X] Added some cheats / commands to the game
- [X] Changed to WotCharacter from ThirdPersonCharacter
- [X] Cleaned up WotCharacter code some (removed unneeded / unused functions)
- [X] Move to using WotCharacter instead of ThirdPersonCharacter (migrate code)
- [X] Added WotEquippedWeaponMeleeActor which implements box sweep for attack
- [X] Reexported rand, tam, lan, and moiraine models from voxel max
- [X] Re-rigged Rand medium and medium flat models
- [X] Re-imported rand medium flat skeletal mesh
- [X] Created walking and light attack animations (in ue) for rand medium flat
- [X] Created walking and idle animations for sheep
- [X] Created walking and idle animations for horse
- [X] Created walking and idle animations for trolloc_boar
- [X] NPCs now can be told to stop following
- [X] InteractionComponent handles foliage interaction
- [X] Migrate Arrow actor code from BP to C++
- [X] Refactor equipment / equippable items (weapons / armor)
- [X] Migrate Bow / Sword code from BP to C++
- [X] Create weapon interface
- [X] Migrate attack code from BP to C++
- [X] Add drop interface to inventory / item UI
- [X] Add inventory component to chests and allow them to be looted
- [X] Dropped items spawn into the world and can be picked up
- [X] enemies drop items / arrow drops from enemies
- [X] Added sword, bow, and axe weapon item BP subclasses
- [X] Create Equippable Item interface
- [X] Migrate equippable code from BP to C++
- [X] Update so that base NPC class extends WotGameplayInterface for interaction
- [X] Update NPC Behavior Tree to have a FollowActor which it follows if set
- [X] Added query context for finding location around FollowActor
- [X] Added Behavior Tree Task (BP) for clearing the FollowActor if the NPC is damaged
- [X] Update so the NPC_Base (BP) class implements the interaction response and sets the FollowActor
- [X] Added Herding_TestMap for testing herding and petting of animals
- [X] Update Interaction component to interact with pawns as well
- [X] bugfix: RangedAttack BTTask used invalid socket name - correct it and expose it
- [X] Add inventory component for holding items and interacting with them
- [X] Add base item class with weapon and food subclasses
- [X] Added mushroom food item BP subclasses
- [X] ThirdPersonCharacter now creates Food mushroom food items and adds to inventory when foraging
- [X] Create Food UMG widget (C++ & BP)
- [X] Create Inventory Panel UMG widget (C++ & BP)
- [X] mushrooms increase health
- [X] Allow player to pet animals (animal base class and interaction)
- [X] Create Inventory system
- [X] Inventory widgets https://benui.ca/unreal/ui-synchronize-properties/
- [X] Make axe
- [X] Add inventory component to WotItemChest (C++) and allow instances to set the DefaultItems
- [X] Rig deer model and make NPC out of it
- [X] Rig fox model and make NPC out of it
- [X] Rig goat model and make NPC out of it
- [X] Update navmesh bounds so that goat can wander around little patch at the top of the mountain
- [X] bug: Player can attack with handheld weapon while in air and gets stuck
- [X] WIP bot spawn query system using Environment Query System (EQS)
- [X] Enemy flee behavior (to hidden location away from player, close to AI)
- [X] Enemy heal while hidden
- [X] Add WotGameModeBase (C++) Which spawns bots using Environment Query System (EQS)
- [X] learn: Entity spawning system (NPC, items, etc.)
- [X] bug: player respawn tied directly to specific game mode (doesn’t need to be)
- [X] Restart player on death (c++)
- [X] bugfix: Character death should respawn (C++)
- [X] bugfix: movement not bound in character c++
- [X] Migrate UI code from BP to C++ to allow c++ to create / manage UI widgets (healthbar, popup, interaction text)
- [X] Update so WotCharacter (c++) shows health progress bar widget and damage/healing popup widget
- [X] Update so RangedMinion (c++) has health widgets
- [X] Create BP subclasses of WotUWPopupNumber and WotUWHealthBar and add them to the character & minion classes
- [X] Update NPCs to use the WotAICharacter base class with their own Behavior Trees (flee, follow, random)
- [X] Update projectile base class to trigger evasion / flee response on NPCs
- [X] Update arrow to trigger NPC evasion / flee response
- [X] Set up behavior tree to move to goal then wait
- [X] Set up MinionRanged (BP) class to use behavior tree
- [X] Add behavior tree service (C++) to check attack range and line of sight
- [X] bow+arrow system in game - quiver, pull back, reload, recover arrows, etc
- [X] Arrows trigger overlaps with foliage
- [X] Arrows trigger overlaps with VoxelWorld
- [X] Arrows properly stick into enemies and objects
- [X] Arrows damage NPCs
- [X] Shot arrows can be collected by player
- [X] Arrows are destroyed if attached actor is destroyed
- [X] WIP bow animation, can fire wile standing
- [X] Update player interaction to have Primary Attack and Secondary Attack
- [X] Update weapon base to support specific primary attack and secondary attack actions
- [X] Make bow holding pose (unreal engine)
- [X] Add bow holding animation / pose and apply it in the anim BP / graph
- [X] Move player camera farther out for better view
- [X] Update the magic projectile effects
- [X] Add arrow flying & impact sound effects
- [X] Arrow shoot audio
- [X] Arrow Impact audio
- [X] Magic Shoot audio
- [X] Magic Hit audio
- [X] Update arrow to play sound effects
- [X] Add magic projectile sound effects
- [X] Add attribute component to MinionRangedBP
- [X] Add kill, particles, and ui to MinionRangedBP
- [X] Enable CPU access for particle effect for TrollocBoar model
- [X] bug: Ensure magic projectile shot by MinionRangedBP doesn’t interact with that minonrangedBP.
- [X] Add UI for healing (health ui update)
- [X] Add UI for picking up arrow (+1)
- [X] learn: AI / Behavior Trees in UE
- [X] learn: Blackboard - memory / storage of AI, no logic
- [X] learn: Environment Query System (EQS)
- [X] rig horse
- [X] Add horse (skeletal mesh) model to game
- [X] Create horse NPC
- [X] Have horse randomly wander around in the scene (in its pen)
- [X] Move AI controller to use pawn sensing component
- [X] WotAIController (C++) handles when player dies (using new pawn sensing component)
- [X] Re-export Lan models to have textures
- [X] Rig medium and small scale lan models
- [X] Re-rig / update large lan model
- [X] Update magic projectile to have a radial force component to apply when it explodes
- [X] magic projectile destroys voxel world
- [X] added sound to projectile base class
- [X] Moved impact logic for projectile from BP into C++
- [X] Added damage popup with animation that is triggered by new attribute / health system
- [X] have hit flash colored - where the color lerps depending on current health
- [X] Have hit flash work for player character
- [X] Add stun attribute and logic to UWotAttribute (C++) class
- [X] Add OnKilled event to UWotAttribute (C++) class
- [X] Migrate killed event from HealthComponent (BP) to AttributeComponent (C++) in NPC and player character
- [X] Only show damage popup if owner is still around (error output when character is killed)
- [X] Updated projectile base class to properly have both effect and impact sound
- [X] Set effect/impact sounds for magic projectile
- [X] add health potion model
- [X] add crate model
- [X] add health potion mesh to UE4
- [X] Create health potion class (C++) with cooldown of 10s (hide/disable collision)
- [X] start developing behavior tree AI system
- [X] Rig medium-flat trolloc_boar model
- [X] Add MinionRanged (BP) class, using medium-flat trolloc_boar
- [X] Fluid Flux water has to spawn late because of VoxelPlugin
- [X] Fluid Flux water simulation starts from scratch at level load
- [X] Fluid Flux some areas of the map flood (out of river)
- [X] Update magic projectile to not have gravity
- [X] Magic projectile now ignores player (instigator) and explodes on cotact (FX + destroy)
- [X] Update third person character to use newest Lan model (large scale)
- [X] Update animation blueprint template to expose animation sequences and blendspaces
- [X] Use animation blueprint template with new (large scale) Lan model
- [X] Make door functional (animate / interact) on house
- [X] Add pen door model (for sheep / horse pen)
- [X] Make pen doors interactable
- [X] Update NPC / Enemy to use the same base (so that they can be killed and have the death animation)
- [X] magic projectile kills enemies
- [X] magic projectile kills sheep
- [X] Update player template animation to support attack and properly notify / trigger state exits
- [X] Update player bluprint to handle events for attacking / stopping
- [X] Update niagara kill effect / material to allow it to be set when spawned for better control
- [X] Updated NPC base to create material instance & set the texture parameter appropriately
- [X] Update sheep blender file to bake materials to unwrapped UV texture file
- [X] The secret passage stairs don’t fit the current 3rd Person Blueprint
- [X] Update magic projectile to use niagara instead of Cascade (legacy)
- [X] Fluid Flux some areas of the map have water when they shouldn’t (e.g. water coming from rocks)
- [X] rig medium scale rand model
- [X] rig medium scale flat rand model
- [X] add medium scale rand model to game
- [X] add medium scale flat rand model to game
- [X] add small scale rand model to game
- [X] bow weapon in game
- [X] Add hit flash to enemies when they are hit
- [X] Update Lan V1 to use instance of textured_voxel_subsurface_material
- [X] Update Trolloc to use instance of textured_voxel_subsurface_material
- [X] Test VoxelPlugin 2.0 - unfortunately .vox importer is broken :(
- [X] Work with Fluid Flux plugin for water in diorama scene
- [X] Integrate Fluid Flux into the project
- [X] Add Fluid Flux to diorama test scene for pond
- [X] Add Fluid Flux to diorama test scene for waterfall
- [X] bugfix: The water (river / waterfalls / lakes) doesn’t look very good :( - use Fluid Flux (above)
- [X] tutorial: Make new character class (C++)
- [X] tutorial: Make magic projectile class (C++)
- [X] tutorial: Make interactible interface (C++)
- [X] tutorial: Make item chest base class (C++)
- [X] tutorial: make chest interact-able
- [X] Make chest animation / open model
- [X] Reparent ThirdPersonCharacter to WotCharacter
- [X] Create magic projectile BP class from WotMagicProjectile (C++)
- [X] Update spawning of projectile from player to use actor rotation (better for fixed camera)
- [X] Update character movement (normalize vector and increase speed)
- [X] Add Tam Model
- [X] Worked on highlighting interactable foliage
- [X] Separated chest model into top and base
- [X] Add medium scale sword model
- [X] Work on game design document to detail out some of the systems
- [X] Update voxelpro plugin to latest version of ProBetaLTS for UE5 Release
- [X] Add mountain goat model
- [X] Add fox model
- [X] bow model
- [X] arrow model
- [X] Break apart voxel scene into different models
- [X] Load separated models into world
- [X] Load in animals (skeletal meshes) as separate models into the world
- [X] Add navmesh into scene and test with old enemy classes
- [X] Use foliage system for trees, bushes, grass, mushrooms
- [X] Stub out forage-able foliage system
- [X] Add interaction UI (text)
- [X] Allow player to remove specific kinds of foliage from environment (mushrooms)
- [X] Make base NPC blueprint
- [X] Have sheep randomly move around in the scene (in their pen)
- [X] Rig animal(s)
- [X] Add devlogs to repo
- [X] more models in the world
- [X] Design a new trolloc model (wolf)
- [X] Design a new trolloc model (boar)
- [X] Get world into UE5
- [X] Update 3rd person camera config (angle, depth-of-field)
- [X] Add water (pond) to the scene
- [X] Add water (river) to the scene
- [X] Add water (waterfalls) to the scene
- [X] Fix hidden tunnel in diorama
- [X] Add little eyes to each of the character models
- [X] Start using GLTF export from voxelmax
- [X] Separate water from land in dorama scene
- [X] Make new trolloc model (humanoid)
- [X] Load voxel scene into UE5
- [X] more tree models
- [X] bush models
- [X] mushroom models
- [X] sheep model
- [X] horse model
- [X] duck model
- [X] bird model
- [X] campfire model
- [X] fence model
- [X] house model
- [X] dog model
- [X] deer model
- [X] raccoon model
- [X] chest model