Hello! I am Caleb Won, a programmer with a passion for making and playing games. With a background in computer science, I strive to make smooth and engaging experiences. Currently, I am developing my skills in animation, and UI/UX programming.
Team Projects
Description: 3D platformer with puzzle elements
Created menus for core functionalities like graphics settings, sound settings, localization, and key rebinding.
Collaborated with artists to integrate UI assets and effects into the game.
Worked with Unreal Engine's Common UI plugin to deliver menus with full keyboard and controller support.
Supported gameplay programmers by incorporating game mechanic conveyance into reusable Unreal Engine widgets.
Description: Futuristic arcade racing game
Refined the kart physics and controls for the game, tuning behavior to the requests of level designers and the game designer.
Implemented major mechanics like drifting, anti-gravity driving, and kart collisions.
Worked with other programmers to keep the kart interactions with the tracks and items stable.
Utilized a mix of realistic kinematics and gamified logic to produce a kart that felt fast, fun and easy to control.
Description: 2D platformer with color puzzles
Set up the levels to change modular colored obstacles
Created customizable prefabs for easy level creation incorporating Level Designer feedback
Programmed the game state behavior and level logic
individual Projects
Description: A custom game engine built in my time at graduate school. Built on C++.
Features:
DX11 rendering for 2D and 3D games with full supported features like shaders and textures
FMOD audio with basic speed effects and spatial audio in 3D environments.
FBX and OBJ loading for complex models and skeletal animations
Description: A skeletal animation system in the engine with inverse kinematic pose solving
Features:
Load and save skeletal animations from FBX files and apply them to meshes
Build poses from local bone positions using transformation matrices and quaternions
Basic animation blending with the ability to blend between multiple animations
IK based pose solving for legs and arms preocedurally creating new poses to adjust pre-authored animations
Description: A bare bones Asteroids clone
Features:
Basic non textured vertex based graphics
Disc based physics and hit detection
Wave management and varied enemies
Description: Top down tank game with tile based maps and varied enemies
Features:
Tile heat maps for AI pathfinding and map navigation
Randomly generated tile maps with basic logic to ensure they are always beatable
Simple physics powering movement of entities and wall detection
Various enemies representing different roles with defined AI behavior
Description: A co-op bullet hell shoot-em up.
Features:
Spline pathing for enemies and condition based level management
Unique co-op mechanics that encourage teamplay like proximity bonuses and player specific tasks
More to come...
Description: Simple 2.5D FPS game inspired by DOOM and Wolfenstein
Features:
Data driven guns, mobs, and maps for easy implementation of new entities.
2.5D environments and player movement.
Basic gunplay and FPS mechanics including ammo, reloading, shooting and projectile/hit scan bullets.
Survival infinite wave mode and a local multiplayer PvP mode.
Description: A chess simulator rendered with 3D lighting with light networking
Features:
3D rendering and lighting with models, Blinn-Phong lighting and textures
TCP networked multiplayer allowing for games played over local network
Additional settings for bonus features like scrambled backlines and aggressive clocks
Description: A basic clone of Minecraft with world generation features
Features:
Noise based generation using 3D Perlin-noise and curves.
Multi-threaded chunk saving, loading, and generation for optimization of an infinite world.
Basic player to world interactions including physics and creative mode block breaking and placing.
Per-block light propagation and individual block management system.