Kieran Knowles

About Me

CV Download

Contact

Skills

Programming in:

Projects

Blitzbox

A gravity manipulation boomer shooter built for the CSC8508 Team Project module by a team of eight. My work includes:

  • Full PS5 support, including cross-platform multiplayer
  • Multithreaded asset loading via a thread pool
  • Controller input on all platforms
  • Automatic mesh conversion during build, for an order of magnitude speedup
  • TrueType font rendering via a texture atlas
  • Memory leak detection using Valgrind
  • As always, Linux support through SDL2

Feedback

Marks: 100/100

Absolutely excellent. A fully feature-complete game that plays well, looks great and is truly cross platform. Great to see good teamwork throughout the project with lots of individual efforts coming together in a consistent and well presented piece of work. Single player works very well with great use of bots, the online tech also very good, including multi-platform play. PS5 is very good, as is the editor.
Dr G Ushaw

CSC8502 Advanced Graphics for Games

A 3D graphics engine based on OpenGL. Features include:

  • Deferred rendering capable of handling 500 lights at 1440p 60fps
  • Shadow mapping with projected textures and no hard limits
  • Tessellated terrain
  • Built-in video recording, capturing each frame as a PNG image
  • Linux support via SDL2

Feedback

Marks: 94/100

Excellent piece of work showcasing multiple graphical techniques in a cohesive scene. All of the core concepts are in place and well integrated, with particularly good terrain. Many more advanced techniques are also included, with great use of lighting in general (including multiple shadow maps). Nice to see tessellation place as well as good understanding of the uses for frame buffers etc. An excellent addition to your portfolio.
Dr G Ushaw

CSC8503 Advanced Game Technologies

A game engine primarily focused on networking, including:

  • Client-server architecture with lazily sent delta states
  • UDP networking via the ENet library
  • AI agents controlled by nested state machines and A* pathfinding
  • Physics engine with support for OOBBs, constraints, and raycasting
  • Spatial partitioning using quadtrees
  • As before, Linux support

Feedback

Marks: 95/100

A nice game world, with some strong additions throughout. There's added elasticity and some new collision volume code, along with separate static and dynamic collision lists for performance. There's some extra work on constraints to add some additional expressiveness to the physics system. Good use of raycasting to keep the camera in a useful position relative to the player.
There's a lot of network code implemented, and it is well integrated into the gameplay. The AI makes good use of hierarchical state machines, and implements both pathfinding itself, and moving through the world to reach waypoints well.
While more could have been done on the physics side, there's been a lot of thought put into making an effective networking solution, that maintains the consistency of the game world.
Dr RG Davison