Luka Kawashima

Software Developer - San Francisco Bay Area

I'm a CS student at Cal State East Bay graduating December 2027. I'm developing a multiplayer FPS, and I build developer tools and local AI features. Seeking 2027 internships in tools, backend, and game engineering.

ARKVAIN gameplay: firing a revolver across a hedge-walled garden arena, with a Killing Spree medal on screen.

ARKVAIN - Multiplayer FPS

C#, Unity, PurrNet, Steamworks

A competitive arena shooter with client-side prediction and server rollback, so movement and shooting feel instant online while the server keeps the final say. Steam P2P lobbies, join codes and server browsing, synced loadouts and cosmetics, and free-for-all and rotating 1v1 modes.

Listed on Steam with >240 wishlists, releasing early next year.

Sable painting a character: the 3D view on the left, the UV layout over the texture on the right, and a layers panel.

Sable - 3D Texture Painting Tool

C#, raylib, ImGui, Python

A texture painter built to replace Blender's for my own art pipeline. Paint on the 3D model or its UV layout, with BVH-accelerated raycasting so strokes carry across UV seams; layers and blend modes, pen pressure, a live link from Blender, a Photoshop round-trip and one-click Unity export.

Built in under a week by directing Claude Code, with a frame profiler and hitch log to track down stutter.

A screencap of a software window with two panes displaying several artworks.

Umbra Tags - AI-Enhanced Image Manager

Dart / Flutter, Python, PyTorch

The reference-image manager I use for all my projects, with a Chrome extension that sends images straight from the web into a library. Everything AI runs offline: natural-language search over SigLIP 2 image embeddings, and "find matching images" for a tag, which learns from the images already in it. Measured on my own library, that lifted ranking quality (AUC) from 0.645 to 0.835 over matching on tag names alone.

Stacked chessboards receding into the distance, forming a four-dimensional chess position.

4D Chess

TypeScript, Three.js

Chess in four dimensions, rendered with true 4D→3D perspective projection. The engine handles any number of dimensions (check, castling and en passant included, verified with perft tests), and you can play against an alpha-beta search opponent.

A 4D hypercube, 5D simplex and 6D cross-polytope rotating in colored wireframe.

Hypergeometry Visualizations

C++, OpenGL, GLSL

An OpenGL renderer for hypercubes, simplices and cross-polytopes in up to 8 dimensions. Each shape rotates in planes of its own space, then gets "crushed" into 3D one axis at a time by perspective projection, all in a single vertex shader.

Two Suzanne monkey heads and a tiled floor reduced to glowing outlines by the Sobel edge-detection pass.

Shader Demos - OpenGL Effects Sandbox

C++, OpenGL, GLSL, ImGui

A self-directed OpenGL project: a small C++ renderer with an ImGui panel for comparing surface shaders and post-processing effects live. Beyond the LearnOpenGL foundations it adds cel shading and Fresnel rim lighting as surface shaders, and ordered dithering, a Kuwahara painterly filter, Sobel edge detection and Worley noise as post-processing passes over an offscreen framebuffer.