Sam Boots

About Me

Hello visitor! I'm a programmer focusing on the C++ programming language and Engine Architecture.

View my github

Programming Skills

Programming languages and tools I have worked in:

Programming API's for game programming that I have worked with:

Platform specific code that I have worked with:

Game engine's worked with:

Project management tools, version control and more

My specialized knowledge are in these fields:

  • Programming language: C and C++17
  • Modern Graphic API's: Vulkan, DirectX12
  • Low-level memory management and it's debug tooling
  • Cross-platform engine development
  • Game tooling

Projects

Project 1
DXX-Raytracer - Team project
View repository DXX-Raytracer project Page

A year long project dedicated on raytracing the 1995 classic Descent. Developing a skillset required to maintain and extend an old codebase while working with 6 other programmers.

Skills learned and improved
  • Reading, understanding and extending old codebases
  • Extending and maintaining builds using Cmake
  • C programming language
  • Being a programmer lead
  • Pull requests submission and reviews
  • Github: Team-wide version control

Project 1
Modern Vulkan - Solo project
View repository Modern Vulkan project Page

A game engine using modern vulkan techniques such as descriptor buffers, dynamic rendering and pipeline state-less rendering using VK_EXT_shader_object. With a focus on multi-threading and an ECS architecture.

Skills learned and improved
  • Using and extending my custom framework, the BBFramework library
  • Multiple scenes with async rendering
  • Async cpu -> gpu asset transfers
  • Vulkan Graphics API
  • Bindless Descriptor & Modern Vulkan feature usages
  • ECS engine Architecture development
  • Cmake build tool
  • C++ programming language

Project 3
BBFramework - Solo project
View repository BBFramework project Page

A low-level SDL replacement library used in my own projects. It's a tool for my learning journey of fast performance and explicit memory management.

It's unique in that it's very explicit in how you manage memory for basic data structures. Has a lot of debugging tools to detect memory leaks and over boundry writes.

Also replaces some C libraries such as SIMD replacement for memcpy/memset operations.

Skills learned and improved
  • Low-level memory management
  • Learning and implementing different allocator strategies
  • Learning and implementing data structures such as hashmaps, slotmaps and memory pools
  • Learning how to write unit tests and debug tools for low-level code.
  • x86 Assembly SIMD operations
  • C++ programming language and it's modern features
Project 2
Gudenuff Engine - Setsuko - Team project
View Itch.io page

Setsuko is a 2d rythm based game made in a custom game engine made by students at BUas. My focus on the project was PS4 developement and managing a team of 14 people as the programming lead.

Skills learned and improved
  • Playstation 4 Development for game release
  • Engine Architecture development
  • C++ programming language
  • Being a programmer lead
  • Reviewing code before submission
  • Perforce: Team-wide version control
View repository
BBFramework - CrossRenderer - Solo project

A project that is focussed on my learning of low level graphics API's, with the ability to switch between graphics API during runtime.

Uses the BBFramework for data types, memory management, cross-platform and it's other tools.

Currently still WIP, has glTF cube rendering and lighting for both API's while handling buffers and descriptors the same way.

Skills learned and improved
  • Testing to see what works & doesn't work on my custom BBFramework library
  • DirectX12 API & Vulkan Graphics API
  • Bindless Descriptor & Modern Vulkan feature usages
  • Cross-platform development
  • Cmake build tool
  • Shared Library(.dll) management
  • Engine Architecture development
  • C++ programming language

This website was partially made with the thanks of our wonderful new technology, ChatGPT