Kraven Manor

Unreal Development Kit
Kraven Manor is a first-person, survival-horror game set in a dark and haunted manor.

The player has the power to dynamically alter the layout by interacting with a miniature scale model of the manor, located in its extravagant entryway.

Kraven Manor
Kraven Manor




What Went Well

  • I succeeded in iterating several times on gameplay components – allowing for polish.
  • I stayed ahead of designers in terms of implementing design tools and game components to a usable state before the designers actually needed them.
  • My estimated schedule for components I was responsible for implementing was less than actual development time – allowing for more iteration/polish.

What Went Wrong

  • My tests were not elaborate enough to match the use of some my components in the actual game.
  • For some tough bugs, I initially panicked and resorted to trial and error bug fixing instead of taking the time to critically think about the cause of the problem – this ultimately wasted more time than simply doing the latter first.
  • In some cases, I failed to properly document the implementation and use of components and tools I made which led to spending more time than necessary educating team members on their use.

What I Learned

  • Spend the extra time to create elaborate tests that closely match the final gameplay early on. Better yet, involve designers and motivate them to create a whitebox level that tests the core gameplay components very early.
  • Document tools and components right away and submit to users for feedback. As soon as first pass implemented, schedule time to walk users through implementation and how to use. This also serves as a great opportunity to gather feedback to iterate.
  • Any time faced with a tough bug, step back and take the time to properly understand the problem and isolate the root cause.

Project Contribution

  • Collaborated with designers to specify game-play systems.
  • Implemented Artificial Intelligence systems.
  • Implemented enemy animation systems.
  • Implemented core shifting room mechanic.
  • Implemented interactive objects and possessed objects systems.
  • Created tools for designers (Kismet actions and events).

Source Code

Below is the source code for an AI Controller: Fred, the code-name for one of the enemy statue types.

  • Archetyped the class to expose all public data to designers.
  • UDK’s Navigation Mesh used for path finding.
  • Worked with designers to generate good nav-meshes.
  • HandleBeingStuck() implemented to nudge the AI pawn to a better location when stuck.