William Liu
Software Engineer
Low-level systems, compilers, graphics, and game development
AHEAD-OF-TIME COMPILER
AOT Java 1.3 compiler written in Rust targeting x86 assembly. Features a custom-designed SSA-based IR with optimization passes including constant folding, dead code elimination, and register allocation.
CUSTOM RTOS — KERNEL, DRIVERS, NETWORKING
Bare-metal real-time operating system built entirely from scratch on ARM. Includes a preemptive task scheduler with priority-based context switching, IPC via message passing, a UART driver, GPIO/timer interrupt handlers, and a full TCP/IP networking stack over Ethernet. Deployed to control physical model trains on a track in real time.
GRAPHICS ENGINE
OpenGL graphics engine with deferred rendering passes, physically-based rendering (PBR) shaders, and screen space reflections. Cross-platform.
MULTIPLAYER SURVIVAL GAME
Full-scale open-world multiplayer survival game with authoritative networking, inventory systems, vehicles, and a dedicated server on Google Cloud.
AR SOCIAL MEDIA PLATFORM
Augmented reality social media platform pioneering media filtering in AR, with a Python backend on Azure and MongoDB for data transfer.
GOOGLE MAPS WITHOUT INTERNET
Offline maps app that simulates Google Maps API requests via SMS using Twilio, with a Node.js backend and an Android client.
ARCADE GAME FOR ANDROID
Published arcade jumping game with leaderboards via Google Play Services, AdMob integration, and a full frog and map customization system.
AUDIO PROCESSING
Processing-based visualizer that transforms MP3 amplitude data and note sequences into dynamic wave animations with a custom wave function.
ML EXPERIMENTS
Language detection via back-propagation (classifying English words) and a Tic-Tac-Toe AI trained through genetic algorithms.
MODIFIED CHESS GAME
A modern take on chess where pieces have mana and HP, can evolve into other pieces, and abilities change the flow of the game.
PHYSICS SIMULATION
Unity physics demo featuring screen-to-world space input mapping, rigidbody-based object tossing, and a custom wireframe shader.
FRC TEAM 5428 - 2017
Robot control software used at provincial competitions, featuring Xbox controller input handling and live camera feedback over WiFi.
64-PLAYER MULTIPLAYER FPS
64-player multiplayer FPS with large maps, vehicles, a variety of weapons, class progression system, and an in-game item shop.
TOP-DOWN SHOOTER
Top-down zombie shooter written in Java with color-texture-based tile map generation and a custom pathfinding enemy AI using Java Swing.
EARLY PROGRAMMING HIGHLIGHTS
A collection of early projects: a 3D rendering engine with LWJGL, a two-player air hockey game, and a scientific calculator - all in Java.