Synth review: The Head-Exploding FS1R

In 1998, the Yamaha Corporation unleashed a product that was convoluted and bizarre like no other: The FS1R Synthesizer.

Like the era-defining DX7, the FS1R is an FM Synthesizer, but it boasts a massive 8 operators per voice, compared to 6 in the DX. And the FS1R sports a new toy, Formant Synthesis, capable of mimicking voices, human and otherwise! Waves and formants can modulate each other in 88 different configurations. Top that off with LFOs, filters, on-board effects… It’s so flexible, and so complicated. So much power.

Continue reading

Fractal Transform, made with Pixel Bender

I made a Pixel Bender filter that performs Julia Set transformations on images. It looks great when it animates, the colors morph and twist like mathematical slime. Try it (Flash Player 10 required): JuliaTile.swf

Source code: Pixel Bender code is in src/shader/.

The default image is Seattle’s Space Needle. You can upload custom images. Very large images may set your processor on fire.

Continue reading

NES Pixel Art

My tile engine is getting a facelift, I’m scrapping the Atari 2600 palette, and switching to the glorious 56 colors of the Nintendo Entertainment System.

Eventually I want to add NTSC artifacts using Pixel Bender. For now, I have to produce a small miracle of art assets, and use the tiny palette effectively. I never thought I’d study old Nintendo games, but that’s exactly how I spent my evening.

According to Tsugomo, the eye perceives brighter colors as being closer. Most games with decent art have solid blocks brighter than the background.

Mega Man 3 - Needle Man

Continue reading

Braindead Monkeys album #6

You dag-blasted crazy apes!!!

Braindead Monkeys: Space Donut

The Braindead Monkeys: Space Donut

After a 4-year hiatus, Space Donut arrives! It’s their strongest album to date. Lots of head-nodding jams, and lots of smiles.

Recommended tracks:

  • #3: Parody of a popular 80’s cartoon
  • #4: TERRORISM! “The United States is currently at war with everything…”
  • #7: Nintendo (NES) + marching band
  • #5, #13, #18: Delicious electro jamstep

Grab a banana and an electric drill, and enjoy!

A Replacement for Spotlight

Spotlight has a glut of nice features, but it still doesn’t satisfy me. I have nearly 2 million files on my hard drive. Depending on what I’m working on (and my caffeine-to-blood ratio), hundreds of files may be updated every minute. Then Spotlight tries to index the drive at inopportune moments, then Ableton Live can’t access files because the drive is busy, and the music grinds to a halt, and …. well, I had to take Spotlight behind the shed, and put it down.

There are many ways to disable Spotlight. I don’t remember which combination worked for me, but the end result is that mdutil doesn’t run on this machine anymore, and my menu bar is devoid of a Spotlight icon. (Also I disabled Quick Look, since its indexing also caused problems.)

But I still want to search my files. My solution was to create an automated job that runs once a day, and saves the path of every file into a big text document. Then I created a little command-line alias called search, which prints any file paths that match a search term. Here’s how to do it:

Continue reading

Tile engine is go!

Homemade tile engine!


Click to play.

  • Move: Arrow keys, or WASD
  • Shoot: Mouse button, or IJKL

Make sure you grab a weapon in room #2, so you can shoot the orcs. Currently, there are 9 rooms for romping.

Not one pixel of the art should be considered “final”. Most sprites & tiles have a ColorMatrixFilter that “skins” them with four particular colors (see my post detailing this technique). In some respects, this is wonderful, as the colors can be randomized, and it’s easy to change the palette of an entire room. Unfortunately, to maintain retro look & feel, I chose the Atari 2600 palette. The dark colors are over-saturated, the pastels are unexciting, and the hue distribution is completely wrong (nearly half the colors could be considered “green”). This will be dealt with.

An earlier screenshot shows some vector art. Unfortunately, the vectors currently require Flash 10. I’ve disabled this feature… for now.

Fixin’ for a Pixen

Pixen is poised to become the reigning champ of OS X pixel editors. It supports layers, tablet pressure, and animation. But Pixen has a bug that interrupts my creative flow — if I tap a palette color using my Wacom tablet, it always highlights the color, but usually fails to apply the color. What the…?!

Fortunately, the developers made the source code available. I had almost zero Cocoa experience before opening the source, yet the code was well-organized, and I was able to fix the bug!

Download Pixen v3.1b with the palette fix.

Continue reading

Reactions to Horacio Salinas

I’m talking about

The electrical static was very disturbing. I don’t think it adds to the photography, but it did add to my anxiety about my own computer enough that I bailed even though I knew it was something on the site. HTH” — Zani

(There is a glitchless version of the site at

Also… They say imitation is the sincerest form of flattery, so I’m amused that copied the site in its entirety (even the images!) but changed the copyright. I’m glad you appreciate our hard work, Yeni. I feel like I’ve finally arrived, ya know?

Understanding the ColorMatrixFilter class!

I haven’t seen many people explore the ColorMatrixFilter class, probably because it appears daunting. I’m happy to report that I comprehend the mysteries of ColorMatrixFilter now, and I thought I’d share a technique we used in our new game, Space Kitty.

Before we jump into ColorMatrixFilter, let’s ponder a different, and more commonly-used, class first: ColorTransform . Using a ColorTransform, you can “tint” any DisplayObject with color. But there’s something sneaky you can do, as well — Notice that ColorTransform gives you two parameters for each of the four color channels: Red, Green, Blue, and Alpha. One parameter is the “multiplier,” which takes the input value and (predictably) multiplies this value by a constant. The other is the “offset,” which works like addition: adding (or subtracting) another constant from the value. These two functions are applied to all four color channels of each individual pixel. That’s how the magic works.

Continue reading

How to Crash Flash

Miles and I submitted our new Flash game to the 4th Jay Is Games competition. In Space Kitteh (pronounced something like “Space Kitty”), the object is to rescue cats in an outer space environment. The physics are a real treat — it’s impossible to “fall” off the landscape. If you get lost, just wait for the solar system’s gravitational pull to drag you home.

It’s a lot of fun, but I need to warn you about a serious problem in Space Kitteh. This is a heads-up for users of Windows Flash Player —

Our game will crash your browser.

Continue reading

The phantom design pattern

I’m working on my first serious video game project. This may be be the most difficult application I’ve architected to date. (Why aren’t there any books on game design patterns? Oh well… The chance to forge unknown territory is why I love programming!)

Cube and I are still trudging through the first cycle of refactoring, but I think the structure is almost where it needs to be. One more day? Two? Then we’ll start programming the “fun” stuff again ;)

Kudos to everyone who made live and breathe, your news archives have proved invaluable.