failrateHOME
hello,

this is a site where i share my brain dumps and projects.

the bits of work i'm most proud of include

voodoogirl: queen of the darned
a classic sierra on-line style graphics and text adventure written in the original AGI engine.

simpleton adventure engine

a simple sprite-and-tile engine i made to learn Python and PyGame.

void sniper
a shmup engine i developed for the Shmup-Dev 2k7 contest in order to learn Scheme. Scheme is a very lovely language.
current zip file - requires DrScheme (with the Pretty Big language pack) to run. I will probably be rolling binaries in the next major release.
next
I just spent about a month working on a new Flash shoot-em-up. It's called GunHaiku: Ronin, and it's the product of an informal discussion about the next Shmup-Dev.com contest. Someone brought up haiku, so I thought, okay, I'll just make a short game in three parts (5-7-5). A feudal Japanese theme, and done.

Yeah, so it took a month. Not too shabby, but I was expecting about half as long. Oh, well. I hope it's fun. You're a ronin who can deflect bullets with his sword. That's pretty sweet.
I'm currently working on a semi-new/semi-old project. Some of y'all may have already been pestered by me about my "MS Paint for Physics". Well, I've been reworking some serialization and parsing code with network storage that I developed for the recent 7DRL. I'm tying it into this site's user account system, so y'all should be able to log in and upload your own stuff pretty soon.
So, I'm working on my new Flash shoot-em-up, which is extremely loosely based on the game River Raid, which uses a simple random number generator to make the levels and bad guy placement. My game is not nearly so sublime, but oh well.

What I'm working on right now is an idea of how to make the gameplay more profound than just simple random scatter. Hints are to be found in the book Grammatical Man. The section I'm reading right now discusses how laws are divided into two types: Kosmos and Taxis. Kosmos is the laws that govern, and Taxis are the laws that govern how the Kosmos can be changed.

So, I think I need to make a base rule system and then rules on how that can be changed over time. I think ActionScript is up to the task. I just need to figure out how to do that in a reasonable manner.
Regarding Flex swf sizing and positioning, I'd been having some real problems getting everything in the proper dimensions and alignment. I searched all over for ActionScript 3.0 Flex stage offset problem, but couldn't find the solution.

Well, I found the answer while digging through ActionScript Physics Engine (APE, at cove.org) example code.

I put this:
class MySWF extends Sprite{

When what I needed was more like this:
[SWF(width="650", height="350", backgroundColor="#334433")]
class MySWF extends Sprite{

Then, I set my embed tag with those dimensions, and all of the scaling and alignment issues that had plagued me before were gone, gone, gone.

Yay!
howdy.

After seeing it brought up on the2bears.com, I was spurred to recreate a better version of my old vectory procedurally-generated space ship maker. This is just version one in Flash. I'm still figuring out the stupid buttons.

Just enter a number in the text field and hit enter. I think I'll hack in a random generator, and a mouse interface to tweak the images and convert the tweaked image to an integer.

I had a JavaScript version that did just that, but I lost it somewhere.

online demo - source code
Big update in my hand-made guitar collection:

I recently got a Dremel tool and a routing head. So, as an experiment, I added some S-holes to my full-length two-string cigar-box guitar. The openings allow vibrations to transfer better to the surrounding air, so it's actually louder and bit richer-voiced.

Excited by the good results, I cut somewhat larger S-holes in my full-size three-string cigar-box guitar. That sounds even better!

As an added bonus, the S-holes (like F-holes on a violin, but without the cross-cut. Technically, any shape of hole would have done, but these look prettier) make them symbolically more like guitars, as opposed to boxes with sticks and strings attached.



Sort of in the other direction, less trying to make a handmade object more and more like a "real" guitar, I tried to see how far from a real, full-sized guitar I could get and still call it a guitar.

Thus, the Mix-o-Caster, a single stringed one octave guitar made from a small wooden mixing spoon, an eyebolt, two nuts, two washers, two small segments of basswood, and an acoustic guitar string. It actually sounds quite lovely, and if you contact it with something like a door or a PC-case, that object will act as the soundboard. Quite a versatile little guitar, and it fits right in your pocket.



Here's my full-sized with S-holes, the ukele-sized mini, and the Mix-o-Caster side-by-side for comparison:



Possible future plans include a cigar-box hammer dulcimer, a cigar-box thumb piano (lamellophone), an Altoids-tin mini-guitar, a musical object made entirely from Ikea crap (I saw the bins of replacement parts that they let you take for free, and my heart started racing).
So, I've been following the mad works of _why the lucky stiff for a while, including his infamous Ruby language book, the one a lot of Rubyists cut their teeth on, and his mind-melting, but now retired blog, RedHanded.

I picked up his new book about Shoes, his new minimal GUI framework. He sells it at cost on lulu.com. 52 pages of hilarity and Ruby code for 8 bucks + shipping. Not a bad deal. I enjoyed the book; I just wish he'd actually accept a profit for it.

In any case, while trying to learn Shoes, I was getting seriously frustrated with FireFox. I love it as a browser, but it is consuming most of my RAM, and it gets increasingly slow as long as it's open.

So, I figured, _why also has a much-lauded HTML parser call Hpricot. And Ruby comes with OpenURI, a lib which makes opening remote files and web pages about as easy as locals.

So, Shoes + Hpricot + OpenURI = Sneaker.

Sneaker is a minimal web browser. The Sneaker source code.

I could never sort out an issue where creating two stacks that should have been side by side instead appeared top to down.

So, it's basically broken, and I probably won't fix it, but I wanted to get it out there. I learned a lot about the difficulties native to web browsers.

I also learned that I had to copy hpricot to Shoes's lib directory to get it to work.
I've been having a lot of fun lately with papercraft, also known as pepakura. I've been running into resources right and left on boingboing, makezine, and papergarden.

So, since I've been bogarting so much stuff, I'd like to give back a simple design (a level 1 difficulty, if you will).

Goblin Dude!
I took some older Cellular Automata source code and stripped it down a bit. I also worked on implementations of a different kind of CA, based on Stanislaw Ulam's rules instead of Rucker's or Conway's. The patterns they generate are quite compelling:

Normal

Wave

click on the Flash application to place a mark.

In the Wave CA, all I did was kill off a marked cell if it was older than 15 ticks. The upshot is that it behaves as some kind of oscillator that starts off very unstable, and then becomes stable after several "waves" have gone past. Once it has stabilized, it is very difficult to destabilize it.

Code available here
These are the guitars I built this year. I had one other, but I gave it to a friend as an XMas gift. I'll likely give away the larger neckthrough to another friend and keep the cigarbox ukelele, as it is too precious for words.

Next on my list of things to build is a desktop trebuchet and a box kite powerful enough to carry with it an Arduino microcontroller, a portable power source, and a miniature digital camera :D


Pictures of the Guitars
next