July 11, 2010
I've started a new album. It is called squeakyshoecore. It is algorithmically generated acid using some software I wrote. I am going to release it online bit by bit, as I finish each track. I will announce each new track here on this blog.
The software makes two different beats and two complementary melodies using random number generators and some carefully tuned algorithms for using those random numbers. The melody shaping rules involve applying a low dimensional random fractal effect on very basic seed melodies, producing a type of self-similarity which seems to sound interesting to humans. The beats are created using a variety of custom rule sets, much like my previous work with algorithmic hip-hop in CanOfBeats and my algorithmic drum-and-bass generator, GhostWave.
After that I manually control how loud each of the parts are present in the mix, what effects are being applied to the different parts, and the parameter values of those effects. I use a midi controller to mix it in real time and record it.
Soon I will make the latest version of the Pure Data patches ("GarageAcidLab") available online under a Free Software license.
Enjoy the first tracks!
P.S. Some other music I've released on the net previously is Cryptolect, end-of-millenium style chopped-up breakbeats.
May 18, 2010
There is a new Python conference running this year for the first time. It's in Sydney, Australia, at the end of June. I'll be speaking, and I'm very excited about attending too; there are a number of high quality topics evident in the conference schedule. I'm particularly happy not to have a clashing time slot with my friend and occasional colleague, Simon Wittber, as his talk looks fascinating. If you are into Python, you should go!
Go to the PyCon AU 2010 website for more details.
May 5, 2010
I recently took part in the Ludum Dare 48 hour game challenge, number 17. Here's my list of blog entries at the Ludum Dare site.
I didn't finish a game, but it gave me a chance to experiment some more with writing games in pure Javascript in the browser. I consider the final product a reasonable proof of concept of a Sprite() class which uses div tags with background-images. I'll probably develop it some more and put it into jsGameSoup. I really need to do a speed test on various platforms, and between using div tags and canvas.drawImage.
Here is a link to the tech demo, which has only been tested in recent versions of Firefox, but probably works in webkit browsers too. The world is procedurally generated using perlin noise on the server side, and a seedable MWS number generator on the client side for placement of trees and stuff.
Here is a link to the source code. There is a working bzr branch repository in the tarfile, as well as the source code itself.
I recently started working on the multiplayer code for Infinite8BitPlatformer, so hopefully there will be a playable multiplayer demo in the not-too-distant future. What I have working is test-client connecting to the server and getting a unique ID back.