Video

The bit seeker enemy in Ate Bit, which seeks out bits for its personal consumption. It prefers to eat loose bits, but will come after you as long as you’re not looking.

One of my favorite enemies in the game thus far, implemented using only a simple finite state machine; there’s something to be said for doing more with less.

Photo
A demonstration of a new visual effect I wrote for my upcoming game AteBit, which I am dubbing the “Oscillating Bitmap”.  The behavior reads in a text file and generates a group of GameObjects in the pattern specified by the file.  These objects are then oscillated along a vector for some visual fanfare.

The source code is available on github.  I have decided to place all of my modular Unity scripts into a single repository community-chest going forward, if you’re interested in that sort of thing.

A demonstration of a new visual effect I wrote for my upcoming game AteBit, which I am dubbing the “Oscillating Bitmap”. The behavior reads in a text file and generates a group of GameObjects in the pattern specified by the file. These objects are then oscillated along a vector for some visual fanfare.

The source code is available on github. I have decided to place all of my modular Unity scripts into a single repository community-chest going forward, if you’re interested in that sort of thing.

Photo
Amazing…looks just like paint on a canvas.

Amazing…looks just like paint on a canvas.

(Source: adamferriss)

Photoset

Attraction

Some simple experiments using a rudimentary physics implementation with (invisible) attractors. The base color is randomly selected and the palette is generated using a Gaussian curve.

Video

A little video demoing Tug, Mutiny’s game participating in the Not On Steam Sale.

Depicted is the alien swarm behavior I wrote, which is basically a modified version of the boids model. Alien drones shift between aggressive and passive states (blue and green, respectively) based upon their proximity to the queen.

Photo
POP!

A little gif demonstrating what happens when you stuff an enemy full of bits in our game AteBit.

The majority of the enemies in the game are of a single type, that grow and evolve as they consume bits. More on that in a followup post.

POP!

A little gif demonstrating what happens when you stuff an enemy full of bits in our game AteBit.

The majority of the enemies in the game are of a single type, that grow and evolve as they consume bits. More on that in a followup post.

Photoset

Citrus Packing

I became obsessed with the structure of citrus fruits after reading the wikipedia article on them. Inspired the image of citrus fruit slices on that page, I decided to distill down what makes a citrus fruit look like a citrus fruit:

  • Thin outer peel (epicarp)
  • Thicker inner peel (mesocarp)
  • Internal wedges (juice vesicles…yummy)
  • Center hole / column

The number of vesicles and various thicknesses are all randomized, while the colors are limited to 4 palettes. The fruit slices are then packed into the viewport using simple physics-like forces. Of course, then I had to animate it and add rotation.

Source code is now available on github.

Photo
I’ve been working on our new game “Ate-Bit”, focusing recently on the iOS control scheme. I was feeling pretty good about it prior today, having played through 5 levels with the control code and encountering no issues.

Today, while enjoying some coffee with my partner, I asked her to play the most recent build of the game on my phone. She immediately encountered a bug where the player cube was constantly jumping, even after she let go of the jump button (the bottom left cube on the right of the screen). It turns out that due to her long nails, she was using the full surface of her thumb and the touches were constantly slipping outside of the bounding box for the jump button. The code was not handling the case of release outside of the bounding box, thus getting stuck in “auto-jump” mode.

I just fixed the bug tonight, making use of Unity’s Touch.fingerId property; we are now tracking each finger independently, regardless of its location to the button bounds after initial touch.

tldr; get other people to test your game! Even minor anatomical differences can affect how people play.

If there’s enough interest (a single PM is enough!) I can post some sample code on GitHub showing how we implemented iOS touch controls in Unity.

I’ve been working on our new game “Ate-Bit”, focusing recently on the iOS control scheme. I was feeling pretty good about it prior today, having played through 5 levels with the control code and encountering no issues.

Today, while enjoying some coffee with my partner, I asked her to play the most recent build of the game on my phone. She immediately encountered a bug where the player cube was constantly jumping, even after she let go of the jump button (the bottom left cube on the right of the screen). It turns out that due to her long nails, she was using the full surface of her thumb and the touches were constantly slipping outside of the bounding box for the jump button. The code was not handling the case of release outside of the bounding box, thus getting stuck in “auto-jump” mode.

I just fixed the bug tonight, making use of Unity’s Touch.fingerId property; we are now tracking each finger independently, regardless of its location to the button bounds after initial touch.

tldr; get other people to test your game! Even minor anatomical differences can affect how people play.

If there’s enough interest (a single PM is enough!) I can post some sample code on GitHub showing how we implemented iOS touch controls in Unity.

Text

Color Heapsort

An experiment in color sorting: pixels are sorted by hue, then saturation. Original photo by extranoise on flickr. The bright colors in the original picture make the result much more interesting.

Text

Perlin Polygons

These polygons are generated with Perlin noise. The noise is quantized to black and white to allow for easier shape identification.

Then we:

  1. Create groups of points by grouping the black pixels together with a simple radius check.
  2. Heapsort the points along the X, then Y, axes.
  3. Pass each group of points into a Andrew’s Monotone Chain function (a convex hull algorithm, similar to Graham Scan).
  4. Each group of points is now a convex hull, so we can draw a polygon for each one.
  5. ???
  6. ART

For the boxy drawing method there are a few steps between 3 and 4:

  • Determine the bounding box for each polygon.
  • Treat each line of the box as a tangent line.
  • Connect the points that intersect the tangents, creating a triangle or quadrilateral.

The source code is available on github.