Ben Wiley

Open Source

Below is a selection of open source software projects I have authored. Additionally, all the games I've worked on are open source.

UI Component Libraries

Cassette

A flexible media player component library for React that requires no up-front configuration. Cassette powers the media playback on this site!

Programming languages: JavaScript, CSS

Win95 Media Player

A React media player component inspired by the Media Player app that shipped with Windows 95. Also powered by Cassette!

Programming languages: JavaScript

React GIF Player

A component for React that allows a user to toggle a GIF animation on and off.

Programming languages: JavaScript, CSS

react-dot-fragment

A small polyfill implementation of React 16's Fragment component which is compatible with React 15.

Programming languages: JavaScript

Graphics

gif-frames

A tool for extracting frames as still images from an animated GIF, in either Node.js or a web browser.

Programming languages: JavaScript

raytracer

A ray-tracing 3D renderer implemented from scratch. Loads scene descriptions as text and shows render progress in real-time.

Programming languages: C++

PICO-8 Tools

pico8-responsive-webplayer-transform

A post-processor for making the web export for PICO-8 games display better on devices with small screens.

Programming languages: Python, JavaScript, CSS

pico8-gpio-listener

An API for subscribing to changes in a PICO-8 game's GPIO state from JavaScript. This enables easy implementation of effects, such as device vibration, in response to in-game events.

Programming languages: JavaScript

pico8-to-lua

A command-line utility that converts the PICO-8 variety of extended Lua syntax to standard Lua syntax.

Programming languages: Lua

pico8-messenger

Utility functions for passing numerical data between a web-exported PICO-8 game and its surrounding browser context, by encoding the data as binary in PICO-8's GPIO interface.

Programming languages: JavaScript, Lua

tiny-pico8-touch-ui

A function that can bind an arbitrary browser UI element as a touch-friendly PICO-8 game control.

Programming languages: JavaScript

Applications

steam-party-planner

Tracks a pool of Steam user accounts and compiles data about games held in common between them. Built on top of the Steam Web API.

Programming languages: JavaScript, HTML, CSS

Jazzerbot

Asks the user for a few parameters, then outputs an improvised piece of blues music. This is the first application I built (I was 15 years old).

Programming languages: Java