Skip to content
View kads1024's full-sized avatar
๐Ÿ’ฅ
๐Ÿ’ฅ

Block or report kads1024

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
kads1024/README.md
header
profile views location open to work

๐Ÿ‘‹ About Me

I'm a software engineer who builds real-time, performance-sensitive systems. Games are where I started to sharpened that skill set (tight frame budgets, cache-friendly data layouts, and manual memory management leave very little room to be sloppy), but the engineering underneath travels well beyond them.

I work primarily in C++ and C#, across Unity, Unreal Engine, and hand-rolled codebases. I care about clean architecture, readable code that survives contact with a team, and profiling before optimizing.

struct Engineer {
    std::string name     = "Kenneth";
    std::string role     = "Software Engineer";
    std::string location = "Philippines";

    std::vector<std::string> core      = { "C++", "C#", ".NET" };
    std::vector<std::string> engines   = { "Unity", "Unreal Engine" };
    std::vector<std::string> interests = { "Systems Design", "Graphics", "Tooling", "Optimization" };

    bool open_to_work() const noexcept { return true; }
};

๐Ÿš€ Currently

  • ๐Ÿ”ญ Building ย โ†’ย  an unannounced title under NDA: real-time multiplayer systems work
  • ๐ŸŒฑ Learning ย โ†’ย  graphics programming, multithreaded systems, engine internals, and advanced gameplay networking
  • ๐ŸŽฏ Looking for ย โ†’ย  gameplay, engine, tools, or software engineering roles (remote-friendly)
  • ๐Ÿ’ฌ Ask me about ย โ†’ย  ECS, gameplay architecture, editor tooling, or shipping under a frame budget

๐ŸŽฎ Selected Work

Raycaster demo: a textured maze rendered in first person beside a top-down map, the camera turning a full circle while the ray fan sweeps across the map

Problem: Move from offline renders that take their time to something that has to hold a frame budget and answer to input.
Built: ~550-line real-time raycaster in C++ on SDL3. Ray-marched textured walls, billboard sprites, and a per-pixel depth buffer, with the top-down map drawn beside the first-person view so the ray fan is visible as it sweeps.
Result: Interactive movement through a textured maze at 1024ร—512, sprites correctly occluded by walls and by each other with no depth sorting anywhere in the pipeline.
Notable: Sprites kept vanishing behind walls they were standing in front of. The depth buffer was a reused 32-bit colour buffer, so every distance silently truncated to whole grid cells (a wall at 3.97 units tested as 3). Storing depth as float fixed it, and the bug only ever surfaced when a sprite shared a cell with the wall behind it.

C++ ย SDL3 ย Real-Time Rendering

Code ยท Devlog

CHIP-8 emulator demo: Tetris running at full speed on an emulated 64x32 monochrome display

Problem: Build something whose correctness I cannot see. A subtly wrong renderer looks wrong; a subtly wrong CPU still plays Tetris.
Built: A CHIP-8 virtual machine in C++17 (4 KB address space, 16 registers, 34 instructions dispatched through five function-pointer tables) plus an SDL3 layer that uploads the framebuffer as one streaming texture. The machine core has zero dependency on SDL, so every measurement below came from a 12-line headless harness.
Result: Scores 18/18 on the standard opcode conformance ROM and runs commercial-era ROMs at full speed.
Notable: Neither of those facts proves much. I instrumented which handlers actually execute: 6 of 34 never ran once across the conformance ROM and 200,000 cycles of gameplay, and one of the six was flatly wrong, dereferencing its operand instead of using it. Four bytes of hand-written ROM turn it into a segfault by chaining two more latent bugs. Found by asking "what did it run", not "does it pass".

C++ ย SDL3 ย Emulation ย Systems

Code ยท Devlog

Raytracer render: four spheres with reflection and refraction over a checkerboard plane

Problem: Understand raytracing well enough to derive it, not just make it compile.
Built: ~350-line CPU raytracer in C++20, no third-party libraries, on a templated N-dimensional vector library built with concepts.
Result: Diffuse and specular shading, hard shadows, recursive reflection and refraction at 1024ร—768.
Notable: Refraction derived from vector decomposition rather than copied, so total internal reflection emerges from the math instead of being special-cased.

C++

Code ยท Devlog

๐ŸŽจ More Work

A fourth deep dive (a procedural explosion raymarcher reconstructed line by line from ssloy's tinykaboom) is written up in full: Rendering an Explosion with One Function.

Playable builds, jam entries, and prototypes live on itch.io = several are downloadable and take under a minute to try.

itch.io



Full case studies with breakdowns of the systems behind each project:

Portfolio

๐Ÿ› ๏ธ Tech Stack

Languages

C++ C# C Python JavaScript Shaders SQL

Engines & Frameworks

Unity Unreal Engine .NET OpenGL Vulkan SDL

Tools & Workflow

Git GitHub Actions Visual Studio Rider CMake Perforce Blender


๐Ÿง  Engineering Focus

Area What that means in practice
Systems Architecture Component/ECS design, decoupled subsystems, data-oriented layouts that scale past the prototype
Performance Profile first, then fix: allocation churn, cache misses, draw calls, GC pressure
Gameplay Networking Client prediction, server reconciliation, state replication, lag compensation
Tooling Custom editors and inspectors, build automation, pipelines that save the team hours
Low-Level C++ RAII, move semantics, smart pointers, templates (and knowing when not to reach for them)
Cross-Discipline Turning design intent into maintainable systems, shipping alongside artists and designers

๐Ÿ“Š GitHub Activity

GitHub stats Top languages
Snake animation eating my contributions

๐Ÿค Let's Connect

I'm open to conversations about gameplay, engine, tools, and backend roles, and I answer every message.


Open to full-time, contract, and collaborative work, in games and well beyond them.

Pinned Loading

  1. makena makena Public

    MaKENa Game Engine

    C++

  2. portfolio-wizard portfolio-wizard Public

    JavaScript

  3. tower-of-hanoi tower-of-hanoi Public

    C#

  4. unreal-tools unreal-tools Public

    C++

  5. project-portfolio project-portfolio Public

    My Portfolio as a Professional Game Developer

    JavaScript