Cave Knight

(SoulsLike Tech Demo)

Unity, C#, Navmesh

This passion project is a short tech demo focusing on recreating a simplified Souls-like combat system, along with several enemy AIs (Navmesh pathfinding) and one small but detailed level to bring it all together.

Made in Unity3D URP using C#.

Players are provided one meticulously constructed stage along with 3 unique enemy variants and one boss to challenge their skills. The playable character comes with one light attack combo, one heavy attack, parry, dodge, sprinting, lockon and a fine-tuned stamina system to tie it all together.

Other programming specs include:

  • Soulslike Player Controller with smooth movement and melee combos, blocking and parrying. Well-tuned stamina and mana systems (one spell) to make combat feel challenging but rewarding. Animator State Machines along with Unity New Input Manager and Animation callbacks are used.

    • 3D Colliders were used for hit-box and hurt-boxes, and attack active frames were balanced meticulously. Hitting enemies generate hitstun depending on damage intensity, and blood particle fx.

    • Movement and collisions handled via Unity Physics and collision layering.

  • Smooth 3D Camera Controller with Collision Handling and Lockon (+ Target Switching) capabilities.

  • Advanced Boss AI - Complex Decision Tree with Finite State Machine, and two modes (Normal and Enraged) each with unique moves and AI behaviour patterns.

  • Mob Enemy AI - Simple Decision Tree with A* Navmesh Pathfinding and Factory Pattern for state transition. 3 Unique Enemy types, each with their own AI decision logic and customised Decision Tree FiniteStateMachines.

  • Level Design - Small yet detailed map design with fine-tuned collisions, checkpoint and scoring systems implemented using toolbox singleton design and delegate callbacks, as well as an engaging lighting & sound system for a gripping 30 minutes of exploration.

  • Simple and minimalistic HUD

  • Full rebinding support for Keyboard + Mouse and Gamepad (Controller) - Using Unity New Input System.

  • Particle FX - For heal spells, fireballs, parry and checkpoints.

Credits:

The Chase - joshuaempyre
Sound Effects by Zapsplat
Sound Effects by Pixabay
Nature Ambience by PMSFX
Creature Yeti Roar by Articulated
Dramatic Climax by Dave Miles
Dragon War by Makai Symphony
Knight Icon by Hayden Kerrisk
Textures by Freepik
Image by OpenClipart
Vectors from Pixabay
Game Icon by klyaksun (Vecteezy)
Unity Asset Store
Mixamo

Special Thanks to:

lplegaspi
orkagan

Download: