Come out on top of chaos! Random Bullshit Go is a hyper-interactive real-time free-for-all card game for 3-5 players.
You can download it free on itch.io.
Read MoreMy name is Ella! I’m a software developer (professionally at Thunderhead Engineering) and general-purpose tinkerer. This site is my portfolio/blog/dedicated hyperlink collecting zone.
Lots of the projects here are games (or adjacent). I’ve been doing gamedev as a hobby for over 10 years now! My best work is Random Bullshit Go, a hyper-interactive real-time online multiplayer card game where timing is everything.
I’m always tinkering with, learning about, or reflecting on something, and I’ll be posting about that my blog.
Outside of the computer, I enjoy playing synth music, reading sci-fi novels, and running obscure rules-light tabletop RPGs.
If any of that sounds like something you’d like to chat about, feel free to reach out on Bluesky! You can also follow the Atom/RSS Feed of the blog.
I've long considered myself skeptical of LLMs. Recent developments (and discourse), however, led me to experiment with Zed's coding agent on a hobby project. Did it change my view?Read More
Ludum Dare 57 marks 10 years since I first competed in a game jam. What have I made in that time?Read More
I've made some music for a cool Fediverse challenge.Read More
Come out on top of chaos! Random Bullshit Go is a hyper-interactive real-time free-for-all card game for 3-5 players.
You can download it free on itch.io.
Read MoreThis project is a real-time voxel raytracing renderer which I unfortunately never got around to giving a creative name. It uses the Vulkan rendering API and provides features such as directional shadows, reflections, ambient occulsion, image based lighting, and FSR upscaling/antialiasing. The renderer was developed as my senior capstone project at K-State!
As with any project there’s a lot that I’d like to have added such as global illumination, better denoising, and support for larger scenes. But it’s not bad for my first real experience with Vulkan!
Read Moreectert is a CPU raytracer, based on James Buck’s The Ray Tracer Challenge. It’s written in C++, and has features including shadows, reflection, refraction and anti-aliasing. It also has a very naive implementation of multi-bounce indirect lighting.
ectert isn’t the most advanced renderer, but it helped spark my interest in graphics programming. It was also my first project in C++, which is a language I’ve now used a lot professionally.
Read MoreCIS536 Caustics was my course project for a Computer Graphics class at K-State. The goal of the project was to render geometrically-accurate caustics using photon mapping, in Unity. This was inspired by the idea of a “caustic map” in Yaobin Ouyang and Xueqing Yang’s “Generating Ray-Traced Caustic Effects in Unreal Engine 4.” However, my project computed the caustic map ahead of time and stored it to disk to be reused.
Read Morecobblestone was my own mid-level game development framework.
It’s written in Dart and uses the WebGL and WebAL APIs for rendering and audio respectively.
The overall design of the framework is strongly inspired by LibGDX, with abstractions like SpriteBatch, Texture, etc.
I created cobblestone to solve the problem of creating lightweight web games. Being web-based and easy to load helps imensely for getting ratings in game jams like Ludum Dare. My prior engine of choice, LibGDX, has a web exporter but I found it hard to use, and the exported games were large due to transpiling Java code.
Read More