luca harris

Starjump // 2021 // PICO8

~15 minute top-down platformer.

Starjump was designed to push against the aesthetic conventions of PICO8. Static sprites/objects are avoided as much as possible, text is kept to a minimum, and unusual colors are used.

Rather than having an in-engine soundtrack, an accompanying soundtrack on YouTube can be played in a separate tab.


Starjump was nominated for the Freeplay 2021 Micro-Game Award. It was also featured in Terry Cavanagh's free game of the week.

picoCAD Web Viewer // 2021

A WebGL viewer for picoCAD models.

Since picoCAD is a software renderer it was challenging to port some of it's features. For example, each face can be configured to be:

This was solved by storing geometry in separate "passes" based on the combination of these factors, which made it easy to order draw calls and apply shaders correctly.

Additionally, modellers often use square textures on trapezoidal geometry, which results in UV distortion. This was solved by tessellating all trapezoidal faces.

PICO8 generative art // 2019 ~

Animated works generated entirely through code.

For most works the code is short enough to fit in a single tweet (a "tweetcart"). The ability to share a miniature world through these means is really appealing as a programmer, and it's always a treat when I'm able to impress skilled artists!

The examples shown here are rendered in browser using ported code on a simple emulator.

Visualizers // 2020 ~

Orbit screenshot The Tower screenshot

Visualizers made for my own songs.

Orbit is a realtime Unity visualizer. It uses distorted imagery and 3D models provided by NASA.

Neon is a PICO-8 song and visualizer. Inspired by a chromatic aberration trick I discovered.

The Tower is a software renderer written in Nim, pulling inspiration from the game's world.

Sock Game Engine // 2022 // C, C++, JavaScript

A screenshot of a Snake game made in the Sock engine A screenshot of Sock's API documentation A screenshot of a simple flight toy made in Sock

A Wren based 2D game engine. Emphasises portability and code based development.

Sock is in a usable state, but development is on hiatus.

Implementation

Sock is primarily written in C. C++ is used to integrate C++ libraries such as soloud. On the Web, many APIs are implemented using native JavaScript APIs, such as WebAudio and WebGL.

Windows builds make use of SDL, OpenGL, stb_image.h and some Win32 APIs.

API

Sock's API is designed to be easy to use, and actually useful for production code. For example the Input API is fundamentally designed with accessibility and remapping in mind.

Sock's entire API is available online via a single web-page. Example code is provided for most APIs, many of which can be run in the browser.

Marballs 2 // 2017 // PICO8

An isometric marble rolling game, inspired by my love of Marble Blast and Super Monkey Ball.

It was a challenge to approximate 3D physics from scratch, but the end result provides some satisfying movement.

Contact

twitter: @lucatron_

email: