Nov. 6, 2010

Update: There appears to be some weird bug on WebKit (at least in Chrome) making objects randomly not get drawn in both demos. Will have to figure this one out!

Update 2: The WebKit bug is now fixed and was due to the strage fact that Array.sort is unstable in WebKit - one to remember. Have fun!

jsGameSoup logo - a bowl and chopsticks

Here's another demo built using my HTML5 and Javascript game engine, jsGameSoup.

I also updated the AsteroidsTNG demo to support collisions so that the ship no longer passes through the asteroids.

I'm finding it pretty fun to fly around this almost infinite asteroid field finding interesting little places amongst the virtual space rocks. I really want to add some kind of multiplayer component to this demo.

After these changes jsGameSoup now has the following new features:

  • Collision engine with support for circle, poly, and axis-aligned bounding-box (rectangle) collisions.
  • Sprite engine which is capable of basic animation.
  • Seedable random number generator, useful for procedurally generated worlds where you want the same seed to generate the same thing for everyone every time.
  • Basic support for touch on WebKit browsers (like in the iPad and Android devices).

The collision, sprite, and random number engines are each simple and self-contained, and can be used independently of the jsGameSoup library by just including the respective javascript file in your project. If you use the library though, you also get cross platform events and robust entity management thrown in for free.

Unfortunately I still haven't updated the documentation or the jsGameSoup page to reflect these changes. Whoops!

Oct. 29, 2010

When people try to engage me in iPhone vs. Android arguments, I usually concede to almost all of their pro-iPhone, anti-Android arguments. The iPhone user experience is paramount. I do not know of a greater technology user experience than that of using those hand held Apple products. Android is a total ghetto.

The problem for Apple is that all of the interesting things come from the ghetto. Hip hop and punk rock came from the ghetto. Apple does not have a single gram of punk rock in it's entire being - they are the furthest possible thing from punk rock in the technology world. Apple is the U2 of the technology world; bland, pleasant, and pushing all of the right buttons to make us feel good. Apple is easy, and easy is utterly boring.

Examples of this are clearly emerging now into mainstream conciousness. Brilliant apps which simply can't work on the Apple platform because of the restrictions placed on them there, are emerging on the Android platform right alongside the multitude of hideously ugly, broken apps which are also emerging. This is called evolution. It's ugly, and complicated, and it is much better at optimising for survival. It's the exact same reason why Free Software (also a technology favela, upon which Android is based) has been so incredibly successful in the last 20 years.

Android is succeeding because it is the ghetto. Sorry Steve Jobs, you will never understand how people can reject your pristine perfect jail for the thriving, ugly richness of the software underbelly.

"I have an important message to deliver to all the cute people all over the world. If you're out there and you're cute, maybe you're beautiful. I just want to tell you somethin' - there's more of us UGLY MOTHERFUCKERS than you are, hey-y, so watch out."

-- Frank Zappa

Oct. 18, 2010

If you want an easy interface for someone to input regular data, you might like to use a Google Spreadsheet. You can extract the resulting data from the spreadsheet into Python using this code snippet:

import urllib2
import csv

url = GOOGLE_DOC_URL + "&output=csv"
request = urllib2.Request(url)

cookie_handler = urllib2.HTTPCookieProcessor()
redirect_handler = urllib2.HTTPRedirectHandler()
opener = urllib2.build_opener(redirect_handler,cookie_handler)

u = opener.open(request)

data = list(csv.reader(u))

You will need to share the document as "Anyone who has the link can view" because there is no authentication happening here. The variable GOOGLE_DOC_URL should be the URL shown in the "Sharing settings" panel. The final variable 'data' will hold an array of arrays of strings - the spreadsheet values are the strings.

Oct. 3, 2010

My third Android app is now available in the Android Market. Click below or use the QR code to install GarageAcidLab, an algorithmic 303 bassline generator.


Here is a small website I made about the software, which you can also download and run inside Pure Data. It's Free Software, like most of my other work.

This is also the set of patches that I am using to create the album squeakyshoecore.

Sept. 26, 2010

CanOfBeats running on Android

There's a good reason I haven't been posting many squeakyshoecore tunes lately, or making much progress on my video game Infinite8BitPlatformer. I've been hacking hard in my spare time, and the good news is that CanOfBeats, my algorithmic hiphop beat generator, is now available for Android phones and devices! So if you are seeking beats and you rock an Android phone, help an indie developer out and get yrself a copy from the Android Market.

Enjoy!