pick something from the scene graph, or type `help` in the console
Console
HIGHLIGHT — ENGINE
A Game Engine From Scratch
Azul — one C++ codebase, built from the allocator up: core systems, a full skinned-animation pipeline with its own converter tools, then the hot path moved onto the GPU.
An optimisation contest: take a naïve real-time particle system and make it as fast as possible without changing a pixel. Final capture: 107.68 ms down to 14.71 ms.
GameParticles frame loop7.32x
107.68 ms
14.71 ms
Release build. Contest grading capped at 4.00x — final result nearly doubled the ceiling.
Two CUDA milestones: a full GPU image-processing pipeline and GPU triangle-strip generation — each benchmarked host vs device vs shared memory, in Release, across problem sizes.
Two hand-built renderers: a real-time 3D castle environment from my graphics coursework, and a personal OpenGL renderer with Assimp model loading and a Dear ImGui debug interface.
A turn-based dice game inspired by Snakes & Ladders, built to learn the Flax engine. Players climb a square stepped-ziggurat board by rolling dice; instead of chutes, dragons send them back down. Local hotseat and online multiplayer, with custom low-poly modular models in Blender. In active development.
GPU Architecture — Skinning and GPU Animation
Jan 2026 · game engine
Extended the Azul engine (Engine II) with GPU-specific features across 3 milestones: Assessment — Game Math (written); MS1 — Hybrid Engine (CPU/GPU architecture); MS2 — GPU Skinning (GPU-accelerated character mesh skinning); MS3 — GPU Animation (full GPU-driven animation system, compute-shader-based). Converter pipeline also extended. Capstone of the 4-course engine progression: GAM 475 → GAM 575 → GAM 576.
Realtime Engine II — Animation System
Sep 2025 · game engine
Extended the Azul engine (Engine I) with 6 programming assignments: PA1 — Math library rework; PA2 — Protocol Buffers integration for serialisation; PA3 — Math Quaternions; PA4 — SpaceFrigate 3D model loading and rendering; PA5 — Model/Animation Converter pipeline (Converter_3dModel and Converter_Anim tools); PA6 — Full Animation System with skinning and playback. Completes "Engine II" — full engine stack including math, memory, file, PCS tree, protobuf, 3D model loading, and animation.
Realtime Multithreaded Audio Engine
Apr 2025 · game engine
Built a multithreaded game engine audio system from scratch in 5 sprints: Sprint 1 — Audio research; Sprint 2 — XAudio2 Voice system; Sprint 3 — Handle system (safe object reference tracking); Sprint 4 — Callback architecture; Sprint 5 — Final demo. Engine versioned as 13.0.x across sprints.
Built core subsystems of the Azul engine from scratch across 5 programming assignments: PA1 — PCS Tree (Parent-Child-Sibling hierarchical tree data structure); PA2 — Math library; PA3 — Memory manager; PA4 — File I/O system; PA5 — Iterator pattern integration. These systems form "Engine I" and serve as the foundation carried into GAM 575 and GAM 576.
Space Invaders
Jan 2025 · game
Fully playable Space Invaders game built iteratively across 7 sprints, each introducing one or more software design patterns. Patterns implemented across 16 exercises (D00–D15): Linked List, Singleton, Iterator, Adapter, Factory, Command, PriorityQueue, Proxy, Visitor, Flyweight, Observer, State. Sprint arc: Graphics Test → Manager/Reserve system → Sprites → SpriteBatch → Animation → AlienMarch → MissileShoot → Final game with design document.
An Obsidian vault collecting original short literary pieces. Titles: "Dancing with the devil in the disco light," "Thank you for hugging me," "Hot water to thaw." Themes include identity, self-improvement, fear, and inner conflict.
Breath Taking Stories
Jun 2024 · writing
An Obsidian vault containing a dark literary short story: "Passing through the woods on a snowy evening." A psychological noir narrative (~1900 words). Exported to PDF.
Tailwind Projects
Nov 2023 · web
6 larger, responsive web page designs built with Tailwind CSS: Clipboard, Loopstudios, Shortly (URL shortener clone), Testimonial Grid, Bookmark Manager, Fylo (file storage UI). Each has desktop and mobile responsive layouts. Mockup template images were AI-generated using DALL-E.
More polished Blender 3D renders. Featured models: Pokeball (professional render with detailed texturing, inspired by @phebonoski), Modular Dungeon (6 progress renders, potential game asset), Lighthouse Village.
Daily UI Challenge
May 2022 · design
22 consecutive daily UI design challenges. Each is a common UI component or screen: Sign Up Form, Credit Card Checkout, Landing Page, Calculator, App Icon, User Profile, Settings, 404 Page, Music Player, Social Share, Flash Message, E-Commerce Shop, Direct Messaging, Countdown Timer, On/Off Switch, Pop-Up Overlay, Email Receipt, Analytics Chart, Leaderboard, Location Tracker, Home Monitoring Dashboard, Search.
JavaScript Projects
Dec 2021 · web
Collection of 14 standalone vanilla JS/HTML/CSS mini-projects: Animated Website Template, Book Keeper, Custom Countdown, Form Validator, Infinite Scroll, Light/Dark Mode, Music Player, NASA API Integration, Animated Navbar, Picture-in-Picture, Quote Generator, Rock Paper Scissors Lizard Spock, Tell a Joke (text-to-speech), Video Player. Notable: NASA API integration and VoiceRSS text-to-speech.
Native Windows desktop application for bookmarking websites. Built with Electron, which packages web technologies into a native app. Distributed as a standalone Windows executable.
TCS work projects and proof-of-concepts across four sub-projects: Avaturn Demo — Unity/C# avatar customisation integration; Bake-a-cake — A-Frame 1.5 WebXR AR experience with chromakey video; Food PoC — HTML/CSS/JS food-related web feature proof-of-concept; Soccer Mania — interactive soccer experience in two iterations (vanilla JS/A-Frame prototype and TypeScript + Vite + A-Frame rebuild).
YelpCamp
Jun 2021 · web
Full-stack campground review application. Users can create, edit, and review campgrounds. Features user authentication, image uploads, and RESTful routes. Built as part of the Colt Steele Web Developer Bootcamp.
Full-stack website demo built with the MERN stack (MongoDB, Express, React, Node.js).
ICAT IP Game
Mar 2021 · game
ICAT's final-year capstone game project. As lead developer: managed version control, delegated team tasks, implemented the player character controller, and developed VFX shaders. A 749 MB gameplay video is preserved alongside the full precompiled build (~1.6 GB asset bundle).
Personal graphics programming project exploring fundamentals used in professional game engines. Features model loading and rendering via Assimp, a Dear ImGUI debug interface, and cross-platform graphics backend support. Demo video preserved.
Collection of simple 2D game art assets created in Photoshop. Four image galleries of digital game art. Context of which game the art was made for is unknown.
Scramble
Jan 2021 · game
Educational 2D Android game designed for young children with disabilities. Built in 3 days as an internship application test. Successful completion secured the internship position at Learn and Empower Pvt. Ltd.
First personal portfolio website built with React. Motivated by a desire to express creatively through web development rather than website builders. Noted as incomplete. Predates ajilpappachan.com.
Dissertation: The Harmful Effects of VR on the Human Eye
Oct 2020 · academic
Academic dissertation: "The Harmful Effects of Virtual Reality on the Human Eye and/or Other Organs." Mixed-methods research including literature review, surveys with gamers and VR users, and interviews with medical practitioners.
Image Face Detection
Sep 2020 · web
Web app that detects faces in images provided by URL. React frontend with a Node.js/Express backend. Backend is currently non-functional; the project is noted as a future rework target.
Early Blender 3D modelling work. Low-poly models demonstrating foundational 3D skills. See also blender-models for the later, more polished work.
ICAT IP Test Demo
Aug 2020 · game
A Unity 3D demo built as a selection test for the ICAT IP Game capstone team. Showcases advanced mechanics: tornado/rain/fireflies VFX, dynamic day/night cycle, planting mechanics, inventory system, and dynamic post-processing. Successful completion led to being selected as lead developer for the ICAT IP Game.
2D Android arcade game inspired by Super Hexagon. Demonstrates the Observer design pattern. The player navigates a continuously contracting hexagonal field. Full Unity project source and Game Design Document preserved.
3D casual game demonstrating AI behaviour through Finite State Machines (FSMs). Enemies use FSM logic to search for and chase the player. Precompiled build preserved.
Android arcade game where bricks on a board have numeric health values. A ball must collide with each brick a number of times proportional to its value to clear it. Full Unity project source and Game Design Document preserved.
Online third-person multiplayer battle royale shooter. Features host/join menus, animation blueprints, and player networking via Steam. Full gameplay demo video and Game Design Document preserved.
A 3D environment rendered in real time using C++ and OpenGL. Demonstrates core real-time 3D rendering fundamentals. Demo video and screenshots preserved.
Malayalam short film exploring themes of evolution. Produced by the Aluva Taluk Office, Kerala. Ajil's role was editor and audio supervisor (not director).
Collection of browser-based game prototypes: Ambulance Rush, Black and White, Block Jack, Newton's Law of Gravity, and The Shapening. The Shapening has its own Game Design Document and demo video. Master compilation video included.
Short film exploring themes of depression, grief, and existentialism. Intended as the first installment in a mental health-focused short film series; the series was cancelled due to scheduling conflicts, budget constraints, and negative reception.
Single-player 2D survival game built with C++ and SFML. The player controls a character navigating survival challenges. Full submission preserved: Game Design Document, research document, and gameplay video.
Text-based variation of the classic Hangman game where players guess country names. Includes a custom hangman animation and country database. Full submission preserved: Game Design Document, research journal, gameplay video, and executable.
Multiplayer board game for 2–8 players inspired by insects caught in a web. Players start at the centre of the board and race to either end. Includes custom game board, cards, and hand-crafted components. Collaborated with Joyal A J on physical prototyping and game design.
Art coursework collection from the VIM module. 66 total pieces across character design, environment design, traditional hand drawings, and physical craft. Character Design and Environment Design are the portfolio-relevant sub-categories.
Ente Palli (My Church)
Dec 2017 · film
A light and sound stage production for Christmas 2017. A live performance — not a film — documented via production photos and video recordings.
DeFrag — DePaul Fundamental Research in Academic Gaming
period
Sep 2024 — present
location
Chicago, IL, USA
Systems Engineer
Tata Consultancy Services
period
Aug 2021 — Jul 2024
location
Kochi, India
UnityC#A-FrameTypeScriptViteHTMLCSSJavaScript
Game Programming Intern
Octane Technologies
period
Feb 2021 — May 2021
location
Remote
UnityC#
Unity Developer Intern
Learn and Empower Pvt. Ltd. (later Resonate)
period
Nov 2020 — Jan 2021
location
Remote
UnityC#Android
Master of Science — Computer Science (Game Programming)
DePaul University
period
Sep 2024 — present
location
Chicago, IL, USA
Bachelor of Science — Game Programming
ICAT Design and Media College
period
Aug 2018 — Mar 2021
location
Bangalore, India
CBSE Higher Secondary (Grade 12)
Assisi Vidyaniketan Public School
period
2016 — 2018
location
Bangalore, India
ICSE (Grade 10)
Carmel English Medium School
period
2016
location
Ernakulam, India
Ajil Pappachan
game & engine programmer
Game programmer with a background spanning game engine development, AR/VR, graphics programming, and web development. Equally at home writing SIMD-optimised C++ and directing a short film. Currently pursuing an MS in Computer Science (Game Programming focus) at DePaul University, Chicago. Creative label: Cheese Brain.
Azul — one C++ codebase, built from the allocator up: core systems, a full skinned-animation pipeline with its own converter tools, then the hot path moved onto the GPU.
Most game programmers use an engine. I built one — Azul, a single C++
codebase that grew from a memory manager into a GPU-driven animation system,
developed in three stages with graded, demoed milestones under Perforce
(DePaul’s realtime engine track).
Stage 1 — Core systems
The foundation everything else stands on:
PCS Tree — a parent-child-sibling hierarchy for scene composition, the
spine of the object model.
Math library — vectors and matrices designed for the engine’s alignment
and performance needs, not wrapped from a library.
Memory manager — custom heap and allocator layer; every later system
allocates through it.
File I/O system — binary asset loading against engine-defined formats.
Iterator integration — uniform traversal across engine containers.
Stage 2 — Animation
The same codebase extended into a content pipeline and a full animation
system:
Reworked math library and quaternion rotation support.
Protocol Buffers serialisation for engine assets.
3D model loading and rendering.
A standalone converter pipeline — Converter_3dModel and
Converter_Anim tools that compile source art into the engine’s binary
formats, the same DCC-to-runtime split production engines use.
A complete skinned animation system with playback and blending.
Stage 3 — Onto the GPU
Moving the hot path off the CPU:
Hybrid architecture — restructuring the CPU/GPU boundary so the
renderer feeds the GPU coherently.
GPU skinning — character mesh skinning moved into HLSL vertex-stage
work against GPU vertex/index buffers.
GPU animation — the full animation system driven on the GPU, with the
converter pipeline extended to match.
Why it matters
Engine work is usually invisible on a resume because the code belongs to a
studio. This is the same class of work — memory, math, file formats,
animation, GPU architecture — done end-to-end and demoed at every milestone.
The source lives in private repositories under course policy; I’m glad to
walk through any subsystem in detail.
An optimisation contest: take a naïve real-time particle system and make it as fast as possible without changing a pixel. Final capture: 107.68 ms down to 14.71 ms.
GameParticles frame loop7.32x
107.68 ms
14.71 ms
Release build. Contest grading capped at 4.00x — final result nearly doubled the ceiling.
An optimisation contest: everyone gets the same deliberately naïve particle
system and the same rule — identical visual output, minimum wall-clock time.
The scoring scale maxed out at 4.00x. My final submission ran 7.32x
faster than baseline.
The approach
No single trick gets you 7x. The gain came from stacking passes, each
verified against the renderer before moving on:
Precision diet — double math everywhere the original didn’t need it
became float, halving bandwidth through the hot loop.
Const-correctness and copy elimination — the baseline copied particle
state through every update; references and const let the compiler stop
defending against mutation.
std::list → std::vector — the particle store went from
pointer-chasing to contiguous iteration; the prefetcher does the rest.
Rule of Big Four — explicit copy/assign/move semantics on the hot
types so nothing was constructed by accident.
Object pooling — allocation pulled out of the per-frame path entirely,
through a custom pool built on the course’s allocator work.
Dropping the STL where it cost — after measurement, not on principle.
SIMD (SSE4.1) — the endgame: Vect4D and Matrix rewritten on
16-byte-aligned intrinsics, turning four scalar operations into one.
The numbers
Capture
Frame time
Speedup
Baseline (naïve)
107.68 ms
1.00x
Final (all passes)
14.71 ms
7.32x
Every pass was measured in Release against the unchanged rendering output —
any visual deviation was a disqualification, so correctness testing was as
much of the work as the optimisation itself.
Why it matters
This is the discipline engine teams actually pay for: measure, change one
thing, verify, repeat — and know the memory layout story before reaching for
intrinsics. The same habits carried directly into the engine and the CUDA
work.
Two CUDA milestones: a full GPU image-processing pipeline and GPU triangle-strip generation — each benchmarked host vs device vs shared memory, in Release, across problem sizes.
GPU work done the way it should be done: benchmark first, then implement,
then prove the win. The project opened with a CPU-vs-GPU benchmarking sprint
across problem sizes, then moved into two implementation milestones — every
variant timed in Release.
MS1 — Image processing pipeline (17.9x)
A complete image-processing pipeline implemented three times over: host
(CPU), device (GPU), and device with shared memory — so every
speedup claim has a controlled baseline. The pipeline stages:
RGB → grayscale conversion, thresholding, and invert
Morphological erode / dilate
Gaussian blur and Sobel edge detection
Connected-component center-point extraction — ending in an actual
application: counting coins in a photograph
Variant
Time (Release)
Speedup
Host (CPU)
10,981.9 ms
1.0x
Device + shared memory
612.1 ms
17.9x
The shared-memory variant is the interesting one: convolution stages (blur,
Sobel, morphology) re-read the same neighbourhoods repeatedly, so staging
tiles in shared memory converts redundant global-memory traffic into on-chip
reads.
MS2 — Polygon stripping (165.8x)
The second milestone generates triangle strips from a raw triangle list —
a mesh-processing task with heavy per-element work that parallelises well
once the data layout cooperates.
Variant
Time (Release)
Speedup
Host (CPU)
99,329.8 ms
1.0x
Device (GPU)
599.1 ms
165.8x
The strip-processing path itself also ran ~12.9x faster on device.
Why it matters
The habit that transfers: never claim a GPU win without a fair CPU
baseline in Release. Combined with the GPU skinning and animation work in
the engine, this covers both halves of GPU programming — graphics-pipeline
work in HLSL and general compute in CUDA. The source lives in private
repositories under course policy; demo walkthroughs are available on request.
Two hand-built renderers: a real-time 3D castle environment from my graphics coursework, and a personal OpenGL renderer with Assimp model loading and a Dear ImGui debug interface.
Before the engine and the GPU work, there was raw OpenGL — no engine, no
framework, a window and a graphics context.
The Castle (2019)
A 3D castle environment rendered in real time in C++ and OpenGL. It covers the fundamentals every
renderer stands on — mesh submission, transforms and camera math, lighting,
and scene composition — written directly against the API. The
source is public.
OpenGL Renderer (2021)
A personal follow-up, built to explore how production engines structure
their rendering layer:
Model loading through Assimp — importing standard formats instead of
hand-authored geometry, which forces a real asset pipeline: materials,
meshes, and node hierarchies handled generically.
Dear ImGui debug interface — runtime inspection and tweaking, the same
in-engine tooling pattern used across the industry.
Cross-platform windowing/context via GLFW and GLEW.
Why it matters
Modern engine work sits on top of exactly these layers. Having written them
by hand — twice, years apart — is why the later DirectX/HLSL and CUDA work
had somewhere to land. This is also the through-line of the
whole portfolio: from fixed-function-era fundamentals to GPU-driven
animation, every layer of the stack has been built at least once.
A turn-based dice game inspired by Snakes & Ladders, built to learn the Flax engine. Players climb a square stepped-ziggurat board by rolling dice; instead of chutes, dragons send them back down. Local hotseat and online multiplayer, with custom low-poly modular models in Blender. In active development.
C#Flax EngineNetworkingBlender
game engine · Jan 2026
GPU Architecture — Skinning and GPU Animation
developer — DePaul University — GAM 576 GPU Architecture (master's, Winter 2026); Professor Keenan; Perforce: keenan2026winter_gam576
Extended the Azul engine (Engine II) with GPU-specific features across 3 milestones: Assessment — Game Math (written); MS1 — Hybrid Engine (CPU/GPU architecture); MS2 — GPU Skinning (GPU-accelerated character mesh skinning); MS3 — GPU Animation (full GPU-driven animation system, compute-shader-based). Converter pipeline also extended. Capstone of the 4-course engine progression: GAM 475 → GAM 575 → GAM 576.
developer — DePaul University — GAM 575 Realtime Software Development II (master's, Fall 2025); Professor Keenan; Perforce: keenan2025fall_gam575
Extended the Azul engine (Engine I) with 6 programming assignments: PA1 — Math library rework; PA2 — Protocol Buffers integration for serialisation; PA3 — Math Quaternions; PA4 — SpaceFrigate 3D model loading and rendering; PA5 — Model/Animation Converter pipeline (Converter_3dModel and Converter_Anim tools); PA6 — Full Animation System with skinning and playback. Completes "Engine II" — full engine stack including math, memory, file, PCS tree, protobuf, 3D model loading, and animation.
C++Visual StudioProtocol Buffers (protobuf)3D math / quaternionscustom model/animation file formats
game engine · Apr 2025
Realtime Multithreaded Audio Engine
developer — DePaul University — CSC 588 Realtime Multithreaded Architecture (master's, Spring 2025); Professor Keenan; Perforce: keenan2025spring_csc588
Built a multithreaded game engine audio system from scratch in 5 sprints: Sprint 1 — Audio research; Sprint 2 — XAudio2 Voice system; Sprint 3 — Handle system (safe object reference tracking); Sprint 4 — Callback architecture; Sprint 5 — Final demo. Engine versioned as 13.0.x across sprints.
developer — DePaul University — GAM 475 Realtime Software Development I (master's, Spring 2025); Professor Keenan; Perforce: keenan2025spring_gam475
Built core subsystems of the Azul engine from scratch across 5 programming assignments: PA1 — PCS Tree (Parent-Child-Sibling hierarchical tree data structure); PA2 — Math library; PA3 — Memory manager; PA4 — File I/O system; PA5 — Iterator pattern integration. These systems form "Engine I" and serve as the foundation carried into GAM 575 and GAM 576.
C++Visual StudioSIMD
game · Jan 2025
Space Invaders
developer — DePaul University — SE 456 Architecture of Realtime Systems (master's, Winter 2025); Professor Keenan
Fully playable Space Invaders game built iteratively across 7 sprints, each introducing one or more software design patterns. Patterns implemented across 16 exercises (D00–D15): Linked List, Singleton, Iterator, Adapter, Factory, Command, PriorityQueue, Proxy, Visitor, Flyweight, Observer, State. Sprint arc: Graphics Test → Manager/Reserve system → Sprites → SpriteBatch → Animation → AlienMarch → MissileShoot → Final game with design document.
writer — personal — Cheese Brain creative writing collection
An Obsidian vault collecting original short literary pieces. Titles: "Dancing with the devil in the disco light," "Thank you for hugging me," "Hot water to thaw." Themes include identity, self-improvement, fear, and inner conflict.
Obsidian
writing · Jun 2024
Breath Taking Stories
writer — personal — Cheese Brain creative writing
An Obsidian vault containing a dark literary short story: "Passing through the woods on a snowy evening." A psychological noir narrative (~1900 words). Exported to PDF.
Obsidian
web · Nov 2023
Tailwind Projects
developer — personal — Tailwind CSS learning (Udemy course continuation)
6 larger, responsive web page designs built with Tailwind CSS: Clipboard, Loopstudios, Shortly (URL shortener clone), Testimonial Grid, Bookmark Manager, Fylo (file storage UI). Each has desktop and mobile responsive layouts. Mockup template images were AI-generated using DALL-E.
modeler — personal — continued 3D modelling practice
More polished Blender 3D renders. Featured models: Pokeball (professional render with detailed texturing, inspired by @phebonoski), Modular Dungeon (6 progress renders, potential game asset), Lighthouse Village.
Blender
design · May 2022
Daily UI Challenge
designer — personal — Daily UI design challenge (dailyui.co)
22 consecutive daily UI design challenges. Each is a common UI component or screen: Sign Up Form, Credit Card Checkout, Landing Page, Calculator, App Icon, User Profile, Settings, 404 Page, Music Player, Social Share, Flash Message, E-Commerce Shop, Direct Messaging, Countdown Timer, On/Off Switch, Pop-Up Overlay, Email Receipt, Analytics Chart, Leaderboard, Location Tracker, Home Monitoring Dashboard, Search.
Figma or Adobe XD (specific tool unknown)
web · Dec 2021
JavaScript Projects
developer — personal — frontend practice
Collection of 14 standalone vanilla JS/HTML/CSS mini-projects: Animated Website Template, Book Keeper, Custom Countdown, Form Validator, Infinite Scroll, Light/Dark Mode, Music Player, NASA API Integration, Animated Navbar, Picture-in-Picture, Quote Generator, Rock Paper Scissors Lizard Spock, Tell a Joke (text-to-speech), Video Player. Notable: NASA API integration and VoiceRSS text-to-speech.
Native Windows desktop application for bookmarking websites. Built with Electron, which packages web technologies into a native app. Distributed as a standalone Windows executable.
developer — professional — Tata Consultancy Services AR/VR prototypes and PoCs
TCS work projects and proof-of-concepts across four sub-projects: Avaturn Demo — Unity/C# avatar customisation integration; Bake-a-cake — A-Frame 1.5 WebXR AR experience with chromakey video; Food PoC — HTML/CSS/JS food-related web feature proof-of-concept; Soccer Mania — interactive soccer experience in two iterations (vanilla JS/A-Frame prototype and TypeScript + Vite + A-Frame rebuild).
UnityC#A-FrameTypeScriptViteHTML/CSS/JS
web · Jun 2021
YelpCamp
developer — personal — Udemy Web Developer Bootcamp (Colt Steele) course project
Full-stack campground review application. Users can create, edit, and review campgrounds. Features user authentication, image uploads, and RESTful routes. Built as part of the Colt Steele Web Developer Bootcamp.
Full-stack website demo built with the MERN stack (MongoDB, Express, React, Node.js).
MongoDBExpressReactNode.js
game · Mar 2021
ICAT IP Game
lead developer — ICAT — Individual Project (IP) capstone, BSc Game Programming (Level 6)
ICAT's final-year capstone game project. As lead developer: managed version control, delegated team tasks, implemented the player character controller, and developed VFX shaders. A 749 MB gameplay video is preserved alongside the full precompiled build (~1.6 GB asset bundle).
developer — personal — hobby graphics programming project
capture — demo
Personal graphics programming project exploring fundamentals used in professional game engines. Features model loading and rendering via Assimp, a Dear ImGUI debug interface, and cross-platform graphics backend support. Demo video preserved.
Collection of simple 2D game art assets created in Photoshop. Four image galleries of digital game art. Context of which game the art was made for is unknown.
Adobe Photoshop
game · Jan 2021
Scramble
developer — professional — internship application test for Learn and Empower Pvt. Ltd. (later Resonate)
capture — demo
Educational 2D Android game designed for young children with disabilities. Built in 3 days as an internship application test. Successful completion secured the internship position at Learn and Empower Pvt. Ltd.
First personal portfolio website built with React. Motivated by a desire to express creatively through web development rather than website builders. Noted as incomplete. Predates ajilpappachan.com.
Dissertation: The Harmful Effects of VR on the Human Eye
author — ICAT — BSc Game Programming dissertation (Level 6). Supervised by Sunny Saxena.
Academic dissertation: "The Harmful Effects of Virtual Reality on the Human Eye and/or Other Organs." Mixed-methods research including literature review, surveys with gamers and VR users, and interviews with medical practitioners.
Microsoft Wordacademic research methods
web · Sep 2020
Image Face Detection
developer — personal — early React learning project
Web app that detects faces in images provided by URL. React frontend with a Node.js/Express backend. Backend is currently non-functional; the project is noted as a future rework target.
modeler — personal — foundational 3D modelling practice
Early Blender 3D modelling work. Low-poly models demonstrating foundational 3D skills. See also blender-models for the later, more polished work.
Blender
game · Aug 2020
ICAT IP Test Demo
developer — ICAT — Individual Project (IP) selection test
capture — demo
A Unity 3D demo built as a selection test for the ICAT IP Game capstone team. Showcases advanced mechanics: tornado/rain/fireflies VFX, dynamic day/night cycle, planting mechanics, inventory system, and dynamic post-processing. Successful completion led to being selected as lead developer for the ICAT IP Game.
developer — ICAT — Game Programming Patterns course
capture — demo
2D Android arcade game inspired by Super Hexagon. Demonstrates the Observer design pattern. The player navigates a continuously contracting hexagonal field. Full Unity project source and Game Design Document preserved.
3D casual game demonstrating AI behaviour through Finite State Machines (FSMs). Enemies use FSM logic to search for and chase the player. Precompiled build preserved.
Android arcade game where bricks on a board have numeric health values. A ball must collide with each brick a number of times proportional to its value to clear it. Full Unity project source and Game Design Document preserved.
developer — ICAT — Game Engine Architecture course (Short Project)
capture — demo
Online third-person multiplayer battle royale shooter. Features host/join menus, animation blueprints, and player networking via Steam. Full gameplay demo video and Game Design Document preserved.
A 3D environment rendered in real time using C++ and OpenGL. Demonstrates core real-time 3D rendering fundamentals. Demo video and screenshots preserved.
editor / audio supervisor — Cheese Brain production — produced by Aluva Taluk Office, Kerala
capture — demo
Malayalam short film exploring themes of evolution. Produced by the Aluva Taluk Office, Kerala. Ajil's role was editor and audio supervisor (not director).
developer — ICAT — Web Technology course; aligned with JS13KGames competition guidelines
capture — demo
Collection of browser-based game prototypes: Ambulance Rush, Black and White, Block Jack, Newton's Law of Gravity, and The Shapening. The Shapening has its own Game Design Document and demo video. Master compilation video included.
Short film exploring themes of depression, grief, and existentialism. Intended as the first installment in a mental health-focused short film series; the series was cancelled due to scheduling conflicts, budget constraints, and negative reception.
developer — ICAT — Data Analysis and Visualization (DAV) course
capture — demo
Single-player 2D survival game built with C++ and SFML. The player controls a character navigating survival challenges. Full submission preserved: Game Design Document, research document, and gameplay video.
developer — ICAT — Programming for Interactive Media (PIM) course
capture — demo
Text-based variation of the classic Hangman game where players guess country names. Includes a custom hangman animation and country database. Full submission preserved: Game Design Document, research journal, gameplay video, and executable.
designer — ICAT — Professional Context, Technology and Communication Methodology (PCTCM) course
capture — demo
Multiplayer board game for 2–8 players inspired by insects caught in a web. Players start at the centre of the board and race to either end. Includes custom game board, cards, and hand-crafted components. Collaborated with Joyal A J on physical prototyping and game design.
artist — ICAT — Virtualization and Interaction Module (VIM) course
Art coursework collection from the VIM module. 66 total pieces across character design, environment design, traditional hand drawings, and physical craft. Character Design and Environment Design are the portfolio-relevant sub-categories.
CDM Tutoring Center at Jarvis College of Computing and Digital Media. In-person and online tutoring across C, C#, C++, JavaScript, Python, Unity, Unreal Engine, Discrete Mathematics, and Computer Systems (x86-64 assembly, CS:APP curriculum). Research assistant for FPGA hardware design lab (CSC 595).
Computer Systems tutoring (C / x86-64 assembly — Bryant/O'Hallaron curriculum)
Research assistant for FPGA hardware design and digital systems lab
CC++C#PythonJavaScriptUnityUnreal EngineVerilog
Career · Sep 2024 — present
Board Member
DeFrag — DePaul Fundamental Research in Academic Gaming — Chicago, IL, USA
Student gaming and community organisation at DePaul University. Board-level leadership role in an org of ~162 members hosting regular gaming events, online game nights, and extended gaming marathons.
Board member for DePaul's gaming and community-building student organisation
Career · Aug 2021 — Jul 2024
Systems Engineer
Tata Consultancy Services — Kochi, India
Mobile game support, AR application localisation, and AR/VR proof-of-concept development across clients including Pfizer, Xerox CareAR, and TCS Interactive. Built WebXR experiences (A-Frame), Unity AR demos, and TypeScript/Vite web applications for client-facing prototypes.
Mobile game support and maintenance for Pfizer Inc.
AR application localisation system development for Xerox CareAR
AR/VR PoC development for TCS Interactive using Unity and A-Frame WebXR
Built Soccer Mania interactive experience (A-Frame + TypeScript/Vite)
Developed Bake-a-cake WebXR AR experience with chromakey video
UnityC#A-FrameTypeScriptViteHTMLCSSJavaScript
Career · Feb 2021 — May 2021
Game Programming Intern
Octane Technologies — Remote
Hyper-casual game development using agile practices. Contributed to the full game development lifecycle from prototyping to delivery.
Hyper-casual game development in Unity
Agile sprint-based delivery
UnityC#
Career · Nov 2020 — Jan 2021
Unity Developer Intern
Learn and Empower Pvt. Ltd. (later Resonate) — Remote
Developed educational games for young children with disabilities. Secured the internship by building a functional Android educational game (Scramble) in 3 days as an application test.
Built Scramble — educational Android game for children with disabilities
Completed internship test project in 3 days
UnityC#Android
Education · Sep 2024 — present
Master of Science — Computer Science (Game Programming)
DePaul University — Chicago, IL, USA
Engine programming track taught by Professor Keenan (CSC 461, SE 456, GAM 475, GAM 575, GAM 576, CSC 562, CSC 567). Networking by Professor Berthiaume (CSC 486). Version control: Perforce workspace apadathu_victus. Courses use the Azul engine framework.
CSC 461: Optimized C++SE 456: Architecture of Realtime Systems (Space Invaders)GAM 475: Realtime Engine I — Core SystemsCSC 588: Realtime Multithreaded Audio EngineCSC 562: Optimized C++ MultithreadingGAM 575: Realtime Engine II — Animation SystemGAM 576: GPU Architecture — Skinning and GPU AnimationCSC 567: CUDA Development and AnalysisCSC 486: Realtime NetworkingCSC 595: Hardware Design with FPGAs
Education · Aug 2018 — Mar 2021
Bachelor of Science — Game Programming
ICAT Design and Media College — Bangalore, India
Formerly known as ICAT Design and Technology. Covered game programming, graphics, AI, networking, mobile, and web technology. Capstone: ICAT IP Game (lead developer). Dissertation on VR effects on the human eye.
Education · 2016 — 2018
CBSE Higher Secondary (Grade 12)
Assisi Vidyaniketan Public School — Bangalore, India
Education · 2016
ICSE (Grade 10)
Carmel English Medium School — Ernakulam, India
Highlights
Start Here
The projects I'd want you to see first.
Projects
Games
Games I built at ICAT and DePaul. Most started as course short projects; some got out of hand.
Projects
Graphics
Rendering, audio, and systems work — the stuff that runs underneath the games.
Projects
Web
Web apps from the years I went deep into JavaScript.
Projects
Film
Short films made with friends, under our Cheese Brain label.
Career
Where I've Been
Where I've worked and studied so far.
Profile
Ajil Pappachan
Game programmer with a background spanning game engine development, AR/VR, graphics programming, and web development. Equally at home writing SIMD-optimised C++ and directing a short film. Currently pursuing an MS in Computer Science (Game Programming focus) at DePaul University, Chicago. Creative label: Cheese Brain.