Creating a canvas which paints itself

Sean is interested in developing programmatic and artistic skills in the persuit of pushing the limit of creative coding. In his spare time, Sean passionately explores shader code, generative art, and game development. He hopes to expand these skills and offer an engineer's vision on creative endeavors.

Programming Projects

Slime Mold Simulation Shaders

Thousands of agents are being simulated on your GPU in realtime, rendered in browser.

Based on a variety of papers detailing methods for slime mold simulation, Sean has created a few of his own artistic implementations of this unique technique. Porting the shaders to web proved to be non-trivial; the shaders ended up being completely rewritten from the ground up. The greatest challenge was overcoming WebGL's lack of Read/Write shader buffers, an integral feature utilized in multiple places in the original shader code. Information on how this was accomplished is available on Sean's Github devlog.

Github
Image
Image

Procedural Terrain and RTS in ECS

Unity DOTS (Data-Oriented Tech Stack) is a departure from Object-Oriented Programming. This project procedurally generates a world (mesh, collision mesh, and navigation mesh) in the style of Chris Sawyer. Sean demonstrates his proficiency with ECS in this highly optimized game, allowing the creation and pathing of thousands of units in a wonderful procedural world.

Github

Eyeball Audio Visualizer

A realtime audio visualizer which works with any recording device or song. This was made in Unity's HDRP and uses an implementation of the slime shader as well as a few other custom shaders. The agents' logic had to be reigned in to create an eyeball effect and 'burst' at moments of musical intensity.

Best viewed in fullscreen with sound on and highest available resolution.

Image

Toon Water Shader Study

Sean has been exploring water shaders for some time, including a number of procedural noise techniques. The above window is interactable, feel free to move the waves around! This iteration of the shader was developed and used for an entry in Ludum Dare 52, the largest Game Jam in the world. This lightweight shader is also featured in the game Drift.io on the beach level.

Game Link

Edge Highlight Shader

This is the first in a suite of shaders intended to easily and algorithmically paint models in a miniature-painting style. A highlight map is baked on the cpu based on relative angle between vertices and relative distance between vertices.

This is essentially a way to bake a crease map, though is highly customizable and built in Unity with the intention of mimicking common miniature painting techniques such as edge highlighting and washes.

Github
Image
Image

Ludum Dare

Ludum Dare is the most popular game jam competition in the world. Sean has developed a number of submissions with a group. All games have been made with JavaScript for web and all assets and code were created completely from scratch over the course of one weekend. These games are rough around the edges, but keep in mind they were created from start to finish in under 72 hours.

Ludum Dare Page

Other Hobbies

Photography

Sean enjoys exploring the natural world via car, plane, train, backpacking, and camping. In his adventures, he likes to capture beauty via photography and has developed a portfolio over many years.

Image
Image

LEGO

Sean enjoys designing and rendering his own original LEGO sets. It may be considered a whimsical hobby, but he would be remiss if he didn't show off some of his skills.

And more...

I use this site to showcase my most recent passion projects, but there's much more! Be sure to check out my Github to see all of my projects.