This page is for various personal projects I’ve worked on in my spare time. For professional work history see my LinkedIn page.
GameBoy Emulator in TypeScript
My GameBoy emulator is a fully featured GameBoy emulator that runs in the browser. Written completely from scratch in TypeScript, this was really an exercise in learning how computers work at a deep hardware level. I had to code the GameBoy’s CPU with all of it’s instructions and registers, it’s APU (audio processor) and implement real time digital sound, it’s old-school gpu, it’s ram, and more. One of the most difficult but also most rewarding projects I’ve worked in.
- Supports most GameBoy games with full video and audio support
- Touch controls for mobile
- Controller support for mobile and desktop
- Configurable controller and keyboard controls
- Full screen mode
- Customizable color palettes
JS13k Game Entry – Max Damage: Crisis Mode
I lead a small team on this entry into the JS13k game competition. JS13K is a competition to build a game in 30 days, the catch is that game can only be 13 kilobytes (zipped). Being our first year entering, we spent a lot of time on an asset engine that would support our five songs, three unique sets of three-layer parallax scrolling backgrounds, multi-color animated enemies, etc, etc. Fitting all that with all the game code in 13kb isn’t easy :). The time spent on the asset engine meant we only had about a week to really design the levels and tweak gameplay, which wasn’t ideal. Still, we came in 13th place out of 78 entries in the mobile category, which isn’t too bad.
- 9 uniquely designed levels across three unique worlds
- 3 layer parallax scrolling backgrounds
- 3 fully animated enemy types in 4 different colors
- 4 sound effects
- 5 songs
- Combo system
- All packed into 13kb
Game Source: https://github.com/roblouie/max-damage-crisis-mode
Asset Engine Source: https://github.com/roblouie/js13k-asset-engine
PSXViewer – View 2D and 3D Models from PlayStation Games