Ben Phillips - Official Website
Home | About Me | My Projects | Demos | Game Devblog |
---|
Projects
(Projects with a web-hosted demo are listed on the Demos page instead of this one.)
CLIC Handheld Digital Camera
January - May 2025
Project Poster | Firmware Repo
My undergraduate capstone project was building a portable digital camera from parts. I was the software lead, and wrote the firmware in C in an embedded Linux environment. Frameworks like V4L2 and OpenGL ES were central to the firmware, alongside obscure custom drivers for our display device.
I worked with three friends, who identified parts and designed the hardware and case. I worked closely with them to make sure we had the features we wanted with our limited resources, and to avoid compatibility problems. For example, captured photos can be saved to an external SD card, but only while WiFi is disabled since the SDIO interface shared resources with the wireless networking hardware.
GISP Recon Camera
January - May 2025
Device Code | Host Monitor App
I designed and built a camera system to investigate the state of a Greenland Ice Sheet Project (GISP) borehole at summit station. The hole was sealed off decades ago, and now researchers want to survey it to help plan the re-drilling operation. The operating environment is very cold, dark, and space-constrained, and involves unique risks. Specifically, the device needed to fit in a 4cm cylindrical radius and operate at -30°C.
Everything beyond these constraints and my budget was up to me to choose a strategy, parts, and structure. My prototype uses three separate OV2640 image sensors and wide-angle lenses to achieve an uninterrupted 360° view of the walls of the borehole. I chose a Teensy 4.1 as the microcontroller for its high clock rate, large GPIO array, narrow footprint, and low cost. Finally, power and data from a computer on the surface would be delivered through a 300ft CAT6 cable soldered to the Teensy's USB pads.
The firmware for the microcontroller achieves the complex task of receiving and relaying a real-time image signal. This makes some code speed-critical, as it determines the maximum data rate of the image feed. On top of this, the OV2640 has very poor documentation, and configuring the sensor through I2C required extensive research and trial-and-error. I also wrote the host app for monitoring the image feeds and communicating with the device. Device firmware is baremetal C++, host app is written in Rust.
Game Sound Design - Fictitious
January - May 2025

Fictitious Itch.io Page | Game Design Document
I was the sound designer for Fictitious, an indie game made by a team of 11 for an interdisciplinary game design course. We used Wwise for the sound and music engine, and I implemented the sound effect systems in our Godot project. Over 120 sound effect files went into the final release. The game is available for download for Windows and Mac on the Itch.io page.
SC24 Research Poster
November 2024

Publication Site | Full resolution PDF
Last November I published and presented a poster at Supercomputing 2024 on my current research project with the KUARQ research group. The goal of the project was to develop a quantum algorithm emulation platform for the Cerebras WSE, making use of its highly parallel architecture for the demanding emulation process.
Minecraft Mod: Cool Elytra Roll
2021 - Present
Curseforge | Modrinth
This is the first Minecraft mod that I have created, published, and maintained. The mod uses vector math and linear algebra to make the camera and controls of the flight system closer to real aviation physics. It does this by applying extra transoformation matrices to the camera while transforming inputs to different coordinate spaces. The repository has a handful of other contributors who have helped me add a configuration menu and keep the mod up to date with the game.
Disk Pie Utility
May 2024
GitHub Repo
This desktop application does a multithreaded scan of all files on the root directory and displays the file system as a tiered pie chart scaled by storage size. Files in folders cascade outwards so that relative file size is visible for all folder levels at once. The path and exact size of a file or folder can be seen by hovering over its slice. Clicking on a slice draws a new pie chart with that directory in the root position.
This application was developed in under two days to help find things taking up too much disk space. Performance and aesthetics were both difficult to achieve when drawing an entire file system. A culling algorithm working in polar coordinates identifies slices and levels that are off-screen, while groups of tiny sub-pixel slices are combined for drawing.
This is my first project to use a creative commons license, which I plan to use frequently going forwards.
Rock Chalk Rendezvous
February - May 2024
GitHub Repo
This group semester project was made for my software engineering class at KU. We created an online calendar app that works like When2Meet, but makes it easier to schedule multiple meetings with the same group. Instead of communicating your availability separately for each event, you create an account with a single calendar, then join groups where members can see the overall availability of everyone in the group based on individual calendars.
The app centralizes data on a backend server, giving access using a REST API and requiring correct authentication to access private data. The front end is implemented as a TUI using ncurses. Significant challenges included dealing closely with time and calendar systems, and effectively coordinating work across the whole team.
OpenGL Graphics Engine
August 2023 - February 2024
GitHub Repo
This is a 3D renderer that uses OpenGL shaders to implement both common graphics techniques and experimental artistic effects. Texturing, specular mapping, several variations of smoothed shadow mapping, a blinn-phong shading model, and a complex post-processing shader were all implemented. The post shader discretizes color channels to limit the color palette and uses a modified Sobel kernel to outline feature edges, both of which create a toon-like aesthetic that I want to use in a future project.
Guitar Wiring Panel
October - December 2023
I was preparing for a wiring repair on one of my guitars when I realized how many possibilities there are for custom pickup wiring. Specifically, there with 572 unique wiring configurations for a 2-humbucker setup. This project was an effort to make all of them easily accessible and enable experimentation with wiring.
I designed, modeled, and wired a tiny patch board to replace the electronics panel on the back of the guitar, so that I could use removable plugs to re-wire the pickups without tools or soldering. It worked as intended, but had some electrical connection and comfort issues because it was highly constrained in space and budget. Ultimately, I did my experimenting and then changed it back to a regular pickup switch, using the wirings that I liked the most.
Wikidungeon
April 2023

Devpost Page
This was a HackKU 2023 project that myself and two friends created in 36 hours, winning first prize in the competition's general track. It takes the idea of a "wikipedia race" and makes it into a rogue-like dungeon crawler. It is intended to be a proof of concept in creative data re-interpretation.
Quite literally, it is a game engine that fetches a wikipedia page and then parses its content to procedurally build a dungeon level. Each section of the article becomes a room in a branching layout, while each hyperlink becomes an item found in the rooms. The link items are used to navigate to the article that they point to, which is used to generate a new level of the dungeon. As an aesthetic touch, rooms are also decorated with a random image from their section. In short, Wikidungeon is simultaneously one of the largest video game dungeons and one of the strangest web browsers ever created.
Moire Pattern Research
April - June 2023
GitHub Repo
In the spring of 2023 I conducted theory research on the Moire patterns of twisted 2D PdSe2 systems in my condensed matter research lab. I wrote software to visualize Moire patterns in large flakes, and I did mathematical analysis of the crystal geometries to derive equations for the Moire lattice parameters.
Tabletop Game Map App
March - May 2021
GitHub Repo
This web app allows GMs/DMs to import images of game world maps and control what areas of the maps are visible to players. It is designed to make fog-of-war easy to manage with high-quality visuals, and has been used with success in sessions where I participated.