blug/write/lists/portfolio.md

5.6 KiB

Portfolio

Hi, this is a non-exhaustive list of my personal projects. It appears I like making things with computers. The dates listed are the last time any significant change was made, for projects that spanned several months.

hardware

leko pona

2022-08 git.crispypin.cc/CrispyPin/leko-pona ==image:"/media/leko_tonsi.png":"leko pona, a split keyboard with blank keycaps in the trans flag colours"

ch32v003 oled board

project files: git.crispypin.cc/CrispyPin/ch32_oled

bad apple

2024-04 source: git.crispypin.cc/CrispyPin/bad-apple/ ==youtube:G0eonL14tCQ

Conways Game of Life

2024-04 ==video:"/media/ch32_gol.mp4":"conways game of life on a tiny display"

Runner game

2024-04 ==video:"/media/musi_pi_soweli_tawa.mp4":"simple runner game, similar to the chrome dino game"

rotary encoder keyboard

jam games

LD is the Ludum Dare game jam, where you have 3 days to create a game fitting to a theme that is revealed when the jam starts.

All the below games except for LD45: Mind the Gap I made together with Erikbot. I have done both art and programming for all of them.

LD50: Pixel Entropy

2022-04 crispypin.itch.io/ld-50 github.com/CrispyPin/ld-50 ==image:"/media/pixel_entropy.png":"a 2D pixel physics sandbox"

LD49: Shork Inc

LD48: Shork

LD47: Dynamic Flux Entropy

LD46: Tree Shroomulator

LD45: Mind the Gap

Blackthornprod gamejam 2: Starship: Conquer Space

LD43: The robot's adventure

LD42: Forklift Simulator

shaders

partial QR code

2024-08 A shader that can display qr codes of any size, though it requires computing the error correction codes beforehand. Partially because it would be slow to do for every pixel every frame, but mostly because I couldn't find a resource explaining how to do it. ==video:"/media/qr_shader_bit_order.mp4"

quine

2024-08 A quine is a program that outputs its own source code. Since shaders don't have text or file outputs, a shader quine must render its own source code instead. This shader contains the font data required to be readable. ==image:"/media/shader_quine_198x99.png":"a large square of shader code, being rendered by itself"

golfed quines

2024-08 Code golf is the art of shortening a program as much as possible while still producing a required behavior. I made a tiny version of the quine, only 2877 bytes large. At the end it does render some random characters, but I still consider it valid. When code golfing, undefined behaviour is part of the fun. ==image:"/media/shader_quine_2877.png":"a smaller wall of text, with a low-resolution font that is just barely readable"

sunset

2023-02 This is a single fragment shader, which means you can put it on any mesh and it will look the same. ==image:"/media/sunset_shader.png":"sunset over a calm ocean, with stars visible in the purple sky"

julia fractal

andriod

2024-05 source: git.crispypin.cc/CrispyPin/android-shaders Using the app Shader Editor, I made some shaders for my phones' wallpaper.

binary clock variants

2024-05 The 4x4 version divides the day into 2^16 sections, each one about 1.3s long, and displays the number of sections passed since midnight as a binary number. ==image:"/media/binary_clock_square.png":"a 4x4 grid of circles, some of which are filled"

This 3-row version uses the traditional division of hours, minutes and seconds, just displaying the three numbers in binary. ==image:"/media/binary_clock.png":"3 rows of 5, 6 and 6 circles"

raymarching

libgarbage

2023-07 libgarbage is my raymarching shader library, with which all the following shaders are made with. It doesn't have its own repository right now, but can be found in git.crispypin.cc/CrispyPin/cvr-props

libgarbage demo

2023-09 An example scene made for libgarbage, showing most of the primitive shapes available. ==video:"/media/rm_demo_scene.mp4":"a collection of sdf primitives with a reflective material"

spinny thing

2023-07 ==video:"/media/rm_spinny_thing.mp4"

flesh cube

2023-07 ==video:"/media/rm_flesh_cube.mp4":"disgusting pulsating fleshy cube"

big nut

2023-09 ==video:"/media/rm_big_nut.mp4":"a spinning metallic bolt and nut continually screwing and unscrewing itself"

loops

2024-08 ==video:"/media/rm_looping_loops.mp4":"11 rectangular frames moving through each other smoothly":loop=true

boxes

2024-08 ==video:"/media/rm_boxes.mp4"

cellular automata

game of life

rule 110

2023-09 See Elementary cellular automaton (Wikipedia). ==image:"/media/rule_110.png":"elementary cellular automata 110"

WireWorld

Lenia/smoothlife

godot

voxel raymarcher

utilities

snoud

htmd

webserver

julia fractal renderer

brainfuck debugger

text editor lili

compiler-timer

GDVK godot virtual system input

SteamVR

OVR Utils

sinpin-vr

steamvr_status

Silly

snad

worm lang

advent of code 2023 day 1 and 4 in brainfuck

asetniop emulator for x11

june

neuralblender-mc

minesweeper-rs

rust-mandelbrot

voxel-meshing godot c++

CounterBot

gymnasiearbete: multiplayer voxel game godot