Archive for the ‘Demoscene’ Category

The Ninja Milkman Conspiracy (and Maze)

Sunday, October 5th, 2008

I’m a bit behind in my blogging, so I’ve got a bit of a “what I did this summer” catchup to do. First up is The Ninja Milkman Conspiracy, a cheap and cheerful oldskool scrolly Speccy demo made for this August’s International Vodka Party, featuring the classic circle interference effect, some creative use of dithering, and a dancing robot. What more could you ask for? The title, incidentally, was just something random and irrelevant to save it from being called ‘IVP 2008 demo’ (which is just as well, because there were already 2 other demos in the competition called that) but is actually a reference to the milkman at one of our offices who is able to deliver the milk and disappear without making a sound.

…All of which is ordinary enough, but the exciting thing (if you’re the sort of person to get excited about build scripts) is, um, the build script. I’ve been happily using makefiles for ages, but this time I finally flipped at the amount of redundant boilerplate you need to shove in there for a typical Spectrum project, even a small one like this – having to remember command line syntax, having to explicitly set up dependencies even though they’re all clearly marked as ‘include’ lines in the assembler file – so I came up with Maze, a Spectrum-oriented replacement for Make written in Ruby. Inevitably, being a scratch-my-own-itch sort of program, it’s a bit more hard-coded (and tuned towards my own way of working) than I’d like, but I reckon it’s enough of an improvement over bog-standard makefiles that it could conceivably be useful to other people. And if it is, maybe I’ll be encouraged to rewrite it in a more open-ended way some time…

Spacecake

Sunday, August 3rd, 2008

When I’m writing Speccy music, I’m always very conscious of stereotyping myself. At the Forever party, they gave up on anonymising music competition entries after realising that everyone in the room recognised the Gasman entry (and the Yerzmyey entry, the Factor6 entry…) within two seconds of it starting up – even if I’d gone to great lengths to reinvent myself.

This time, with two or three days left before Assembly and nothing to show, I decided to make it easy on myself, and stick with what I know – the primal boop-durr-tish-durr bassline, the crowd-pleasing echoing cascades – and not be too bothered about basking in my signature style. As a result, it’s not the most original piece of music I’ve ever written, but it did its job – it made first place in the Extreme Music competition where it was up against PC soft-synths in addition to the now familiar Commodores and Nintendos.

The title isn’t a bid to stir up controversy with drug references, by the way. I just liked the combination of words.

Download gasman_-_spacecake.mp3

AY Club: Breath Of Air

Saturday, May 10th, 2008

As a postscript to the release of tracker2ay, here’s the reason I wanted to transfer tracker files back to the Spectrum in the first place: to play X-Agon’s 6-channel Breath Of Air (as featured on the AY Riders Satellite single) the way that God intended, on two Spectrums playing 3 channels each…

tracker2ay

Saturday, May 10th, 2008

Here’s a utility prompted by zxbruno and Eq both asking, in the space of two days, how to convert STC, SQT and PT3 music files to something you can actually play on a Spectrum. For those not in the know, STC and friends are Spectrum tracker file formats originally introduced by Sergey Bulba‘s AY Emulator and which are now the de-facto standard for archiving Spectrum demoscene music (most prominently on ZXDemo, ZXTunes and Sergey’s epic Tr_songs archive). Which means it’s a bit unfortunate that there’s not been an obvious way to transfer them back to the Spectrum.

In principle it should just be a case of locating the appropriate Z80 player routine and bundling that together with the music data. In practice it involves a lot of faffing about (such as repointing pointers to make up for slight rubbishness in the SQT data format, and writing a 5-line Basic loader/player). Now, thanks to this utility, you just need to type tracker2ay mysong.stc mysong.tap instead. (Oh, and it can convert to TAP, TZX or AY.)

If at this point you’re screaming “But why does it have separate source code if it’s written in Ruby, which is an interpreted language?” then award yourself 20 geek points. Ah, you see, this time I’ve been playing with rubyscript2exe (and tar2rubyscript) to create all-in-one executables that everyone can enjoy without worrying about library dependencies and things. (But obfuscates the code in the process. But in a good way.) Please do check out the source code if you’re curious about that sort of thing, because I reckon it’s one of the best bits of code I’ve written in a long time, in a ‘nicely-written code’ sort of way rather than ‘evil complicated hacks that go together to do something superficially elegant’.

Mr Phong

Thursday, February 21st, 2008

There just aren’t enough songs about computer graphics pioneers. Here’s one about Bui Tuong Phong, of phong shading and phong illumination fame. I decided to record this one entirely without keyboards, so brace yourselves for a gloriously shoddy guitar solo and a gloriously glorious bottle solo. (Forgetting to take out the recycling can be a good thing, you know.)

Download matt_westcott_-_mr_phong.mp3

(more…)

Triptik

Sunday, February 17th, 2008

My very fast (written in something like 2 hours) music entry for raww.orgy, which ended up in 4th place. In a cunning kill-two-birds-with-one-stone move, it’s also one of my FAWM songs.

Download gasman_-_triptik.mp3

Triptik on FAWM

Pimp My Chips

Wednesday, February 6th, 2008

[Screenshot: Pimp My Chips]

This week saw the release of the long awaited Ate Bit musicdisk, Pimp My Chips – featuring a selection of Spectrum covers of classic pop songs. Musical contributions came from Mofobaru, Simon, Nik-O and myself, and the full pack is well worth a download if you’re suitably Windows-executable-equipped. If you don’t, or you’re more of an instant-gratification-click-and-listen type (or a stick-it-on-your-mp3-player type), here are my tracks as friendly bandwidth-hogging MP3s.

Dancing Queen (Abba)

Download gasman_-_dancing_queen.mp3

Disco 2000 (Pulp)

Download gasman_-_disco_2000.mp3

Video Killed The Radio Star (The Buggles)

Download gasman_-_video_killed_the_radio_star.mp3

Paranoid Android (Radiohead)

Download gasman_-_paranoid_android.mp3

SoundTracker 20th Anniversary

Monday, November 19th, 2007

[screenshot: SoundTracker 20th Anniversary]

Released last week (ok, so I’m slacking…), SoundTracker 20th Anniversary is, unsurprisingly, Hooy-Program’s celebration of the 20th anniversary of Karsten Obarski’s SoundTracker for the Amiga, which has shaped the design of computer music software ever since. This Spectrum production features a four-channel MOD soundtrack by Yerzmyey using the original ST-01 sample pack, played using the General Sound add-on interface.

To be honest, I find the General Sound to be an exceedingly silly interface. It has its own processor that’s four times as fast as the one on the Spectrum, and its own independent memory store – in fact, the whole thing has a spec strangely comparable to one of the original Amigas – so it’s pushing the bounds of credibility to call it a way of playing MODs on the Spectrum. It’s more like sellotaping a CD player to the side and saying “Look! My Spectrum can play CD-quality audio!”

But hey, it made for a nice silly new demo, anyway.

Leaving summertime behind

Monday, September 10th, 2007

This demo received 4th place in the Sundown 2007 Oldschool Demo competition, out of, um, 4 entries. I could blame that on the not-quite-optimal projector settings it got shown under, or (more likely) the intense competition from the other entries. But actually I won’t, and instead I’ll sit contented in the knowledge that I got to explore some new concepts and techniques in Spectrum demo coding, without really knowing how they’d turn out, and managed to get them to a state where they didn’t totally suck. (Provided you’re willing to use a bit of imagination.)

The plan was to create something approaching a lo-fi YouTube-stylee home movie of scenes from a summer day – but with all visuals generated in real time, of course, as per the usual demoscene custom – drawing on the already-lo-fi graphics of the Spectrum, some crafty image processing, and some fine photos taken by Natalie (whose Flickr stream I previously plundered for Gallions Reach). And now, in a post-modern self-referential ironic twist (or something), you can watch it as a YouTube video.

(more…)

Passing remote web data to attachment_fu

Thursday, August 16th, 2007

This week I have been mostly discovering what a wonderful Rails plugin attachment_fu is for handling image uploads. You just hand it the contents of an upload field on a form, and it takes care of everything else – checking that it’s a valid image, working out its file type, choosing a sensible filename for it, resizing it appropriately, and sticking the resulting image file into either the filesystem, the database, or Amazon S3.

That last feature has been particularly handy on Demozoo, which is currently hosted in borrowed space on a server that doesn’t really have 100-odd megabytes of free space for demo screenshots. However, attachment_fu comes a bit unstuck when you’re dealing with files that don’t come from a form upload – for instance, in my case I’m planning to have a scheduled task that leeches new productions and their screenshots from Pouët, and I’d quite like to take advantage of the Imagemagick-and-S3 goodness that attachment_fu brings. A bit of digging around was in order.
(more…)