Tutorials
Here are different things I’ve researched and played with:
Batman (NES) Pixel Art Study
I’m trying to improve my pixel art skill, so I thought it would be fun to look closely at one of the best looking games on the NES – Batman!
Hopefully I can learn a few things from these great artists.
Grab a snack and enjoy some art with me 😀.
FABRIK Algorithm (2D)
The FABRIK algorithm is an amazingly clever solution to the Inverse Kinematics problem – how to adjust the joints of an arm to reach a target location.
In this tutorial, I go over how the core algorithm works in 2D, building up from simple concepts.
NaN-Boxing
How do dynamically typed languages hold any data type in any value?
One way is NaN-Boxing. This technique crams a payload into a signaling NaN value.
Polygon Clipping
Polygon clipping is an interesting problem: how do you intersect, union, or diff two polygons?
My first attempt was a failure:
Polygon Clipping - Part 1 (Greiner-Hormann)
So I researched and developed another algorithm, which handles every case:
Polygon Clipping - Part 2 (Modified F. Martinez 2008)
C Tricks
I update this document with different C tricks I come across that I find useful.
Maybe you’ll find some of these tricks useful too.
Tri-Color Garbage Collector
Garbage collectors can seem magical, but their essence is quite simple.
Here I discuss and walk through an experimental tri-color garbage collector written in C.
Genetic Algorithms
Using computers to simulate breeding to search for optimal fitness.
This article discusses the basic strategy I used to create breeding bunnies, in my Ludum Dare 31 entry, Bunnies!
Procedurally Generated Planet Textures
Using Perlin noise to generate planets.
When creating Odyssey, I used this basic technique to generate unique planet textures for every level.
(Much cheaper than hiring an artist 😛)
Shunting Yard (Part 1)
A magical algorithm for parsing expressions.
- Part 1: Basic Skeleton
- Part 2: Precedence
- Part 3: Parenthesis
- Part 4: Unary Operators (not written!)
- …