Used web audio api to capture microphone input and extract base frequency of signal. Turns out you can't just take an FFT and find the bin with the max mag in a certain range!
Inspired by this YouTube video I set out to see if I could implement it and find the beats in various songs. Took this as a chance to learn more VueJS.
Visualized movie frames by computing average colors of frames. I compared using ffmpeg to resize to a 1x1 video as well as manually computing the average color in linear sRGB color space.
Driving game. Along way I had to write some cool tools to visualize and check my 3D and math.
Used browser audio api to match laser shots and bomb explosions to the drums in a music track. Learned about CSS animations to create simple cut scenes and transitions.
Fleshed out some of the map tools I ended up creating while working on Manstar. I wanted to add an urban environment with stairs and buildings for monsters to chase through.
Inspired by this blog post I wanted to make a simple game where monsters chased the player based on the shortest path to the player. I also ended up using 2D perlin noise to generate the terrain for the game.
Simulated the NES APU. This was a blast. I had to write a 6502 core interpreter. Though not cycle-accurate it was close enough to generate NES music from an NSF file. Code is on GitHub:
Simple physics based game inspired by a running joke amongst friends. I ended up having to use a physics lib since I could not get the boxes to stack stably.
Had an idea of a creating a rhythm-based JS game. This required learning about the browser audio API and learning some math. Took this as an oppurtunity to learn ReactJS and made a tool that generates, displays and looks for patterns in a song's spectrogram. The waveform visualization end up being more involved than I thought since I ended up pre-rendering various "zoom" levels so that it can run at a smooth 60fps.
Played with creating a simple isomorphic tile engine.
Implemented path tracing in Java. Discovered 3 awesome renderers along the way: Mitsuba, LucRenderer and Sunflow.
Was inspired during a gamejam to try to make a basic Star Fox inspired game engine from the ground up in 24 hours. Tried to see what the limits of my simple and pure JS polygon engine would be. I also experimented with some nifty visual effects like motion blur and large pixels.
Made some tools to help with my Mandarin vocab practice.