Transform soundtrack picked up by Demovibes

Demovibes is a rather awesome series of mixed compilations of demoscene music. If you’re feeling in the need for some good electronic music to listen to then give them a go – whether you know anything about the demoscene or not you’ll find some great music.

Anyway…. volume 9 is out today and, well looky here, there’s an Ate Bit track on the playlist. Congrats 4Mat! ;)

Posted in atebit, Demoscene, Music | Leave a comment

Ahh.. the tape loading era!

Released at Sundown 2009, “Ahh.. the tape loading era!” is another ZX Spectrum demo by me. It’s a 128 only demo with a simple tune and a few fairly basic effects. It placed first in the Oldschool Competition.

So how did such a simple sounding demo place so high? The secret is in the special sauce of course – the demo is running the effects and playing the music at the same time as it is being loaded from tape.

I’ve always been a little jealous of the C64 demo writers – they’ve had a disk drive as standard in their arsenal for quite some time. The disk is used to stream in more data as their demos run, allowing them to write demos that are far bigger than the C64s standard RAM size. Now of course we have our own benefits on the Speccy (more memory for one) but there has never really been a standard disk system. The +3 never really took off (and has not been adopted by demo writers) and flash memory systems like the divIDE really only emulate the tape interface unless you fancy some really hard work. Those crazy Russians have their own Speccy clones that often have disk drives too but they haven’t really made it over to Europe. Besides, whilst I could use a disk drive or a divIDE they were not readily available until way after the Spectrums best years were behind it and that feels like cheating.

This means that we can’t have streaming demos on the Speccy, right? Wrong. It just means that we have to use the tape. Now, loading from tape is notoriously slow. It takes something like 40 seconds to load a single full-colour graphics screen. But if you look closely at a disassembly of the Spectrums ROM loading routines you’ll notice that it’s full of delays. These delays are great because they allow a lot of variation in the loading speed. This means that a mangled tape playing on your dads beaten up old portable cassette player still had a fighting chance of loading successfully. As we progress through Spectrum history we come across the so-called “turbo loaders”. These special loaders reduced the lengths of these gaps, making games load faster but at a the cost of greatly reduced reliability.

So delays in a tape loading routine are good, right? Yes. But who says we should just sit and wait for a few hundred clock cycles. Who says we can’t do something interesting in those delays? No-one, and yet very few people seem to have tried. Check the txt file from the demo to see some references to what other people have done but, as far as I can tell, I am the first person to do something this complex with a Spectrum loader.

A few people have asked if the demo is real or if I am cheating. I can happily say that it’s very real. I’m even happier to say that it runs on both actual hardware and emulators, though you may need to change some settings to get emulators to run it properly. The demo uses a slightly modified version of the standard Spectrum loading routines. In fact, it only really differs in two ways. Firstly, the data loaded from tape goes into a small, cyclic buffer. Secondly, I replace the inherent delays in the loading routine with something more interesting. What that interesting thing does exactly depends on what part of the demo you are watching. In some parts it’s copying data out of the cyclic buffer into another part of memory. In others it is actually running that data as code to display the effects that you see. Both of these things have to happen in tiny time-slices so as not to upset the timing of the loading – if a routine takes too long or runs too quickly then data will be corrupted and the loader will crash. Look very closely at the ROM code I linked to above and you’ll see the comment “Wait 358 T states before entering the sampling loop” – that’s the secret to this demo ;)

You can grab the final demo from here

It’s also here on YouTube

And it’s also up on Pouet

Posted in atebit, Computers, Demoscene, Development | 1 Comment

Transform

This weekend just gone I attended the mighty Assembly demoparty in Helsinki. I met up with old friends, I made new ones, I did some TV spots, I drank NVidia’s beer in the woods and I won the 64k demo competition

Hold on.. what?

Yes, I won the 64k demo competition and I’m still buzzing about it. I entered a low-tech Windows 64k into a competition that is generally dominated by technically advanced powerhouses and I won. Now this isn’t the first time I’ve done this type of thing of course – in 2008 I won Breakpoint’s 64k Windows demo competition with a Spectrum demo – but I’m kind of surprised that it worked again. Ok, so this demo was a lot more technically advanced than Pimp My Spectrum but it still didn’t come close to the high quality rendering styles of some of the other entries. So we at Ate Bit used our secret weapons once again – style, sync, design, kick-ass music and simply doing things differently to everyone else

The demo was written fairly quickly. I think I started, from scratch, sometime around April or May and it was written mostly during my tube journeys in to work and over my lunch hours. I chose to go for a very simple rendering style (no textures, simple models and nothing too fancy on the shader front) and concentrate instead on our secret weapons as mentioned above. 4Mat agreed to provide the music and we decided early on to use an XM module (played using uFMOD) and that we had to have samples in there. I suspected that no-one else would be using samples and I think I was right – during the competition the crowd certainly reacted like they’d never heard a sample before when the first one was played. The style of both the visuals and the music meandered around for a while before we settled on a Madlib-influenced track with each scene taking on different sound – a bit like a mix-tape. From then on the demo quickly took shape, and we decided on the “center-piece” of the scratching section with the record and the mixer. It’s great that whenever I hear a tune from 4Mat I can see the demo that goes with it in my head – his tunes are just perfect for me to make demos for

While it looks like the 64k scene is moving away from its techno lust and starting to appreciate originality again (hell, the 2nd placed demo this year was written in Flash!) I strongly suspect that we won’t get away with this kind of shit for much longer. We’ll actually have to up our game if we want to do well next year. And we do want to do well next year, so shortly we’ll be beginning our search for a quality artist/deisgner or two to join our award winning team – watch this space

You can grab the demo directly from our site here

Watch videos of it here and here

Visit the pouet page here

And the soundtrack can be had here

dscf2650.JPG

Posted in atebit, Computers, Demoscene | 2 Comments

Past, present and future of the demoscene

Just a quick pointer to a good article about the demoscene on TechRadar.com where I get quoted. Ok, so they spelled my name wrong but you can’t have everything.

You can find the article here

The article originally appeared in issue 283 of the UK print magazine PC Plus, which I missed. If anyone has a copy I would love to get hold of a scan of the article

Posted in atebit, Computers, Demoscene | Leave a comment

1kdj

1kdj.png

1kdj is a little demo that I’ve been working on just for fun. It started when I was trying to make a 1k intro for Forever 9 in March. That intro was to have some funky music combined with a simple wireframe 3D effect. I had my code pretty much finished with a week to go before the party when I deciding that, actually, it just wasn’t very good. So I binned it. But I had enjoyed working on it so much that I decided to start on something else just a week or so later.

I’ve always enjoyed squeezing music into my 1k intros but they are always a bit limited because you have to get some effect code in there too, so this time I thought I’d write a pure music player. But, hey, that would be too boring and too easy so I ended up going for an interactive music player – a DJ program in 1k.

I’ve been working on this in my (dangerously limited) spare time for a couple of weeks now. For the past week I kept managing to optimise away a few extra bytes almost every day, which meant that I could then add in some frivolous extra features – like the channel mutes and the border effects. Finally I’ve decided that enough is enough and I should stop tweaking and release the thing already…. though I’ve just seen a place where I could save another two bytes…

Here are some bonus factoids about the intro:

  • Size of source code: 20696bytes
  • Size of code uncompressed: 2623 bytes
  • Pattern data: 1536 bytes
  • Instrument data: 217 bytes
  • Size of code once compressed: 985 bytes
  • Compression ratio: 2.66:1
  • Size of decompressor:  39 bytes
  • Final executable size: 1024 bytes

You can grab the intro in ZX .tap format from here – I’ve included the full source code in the same archive. Also, remember to check it out on Pouet ;)

Posted in atebit, Computers, Demoscene, Development, Music | 1 Comment

The Results from the Jury are in…

…and Pimp My Spectrum has won Most Original Concept at the 7th annual Scene.org awards =)

Posted in atebit, Computers, Demoscene | Leave a comment

Nominated!

The 7th Annual Scene.org Awards were annouced yesterday, and Pimp My Spectrum got nominated in two categories: Best 64k Intro and Most Original Concept. Imagine my happiness! :)

Unfortunatley, it doesn’t look like I will be able to make the awards ceremony in Germany due to prior commitments – see the post below this one for the reason why ;)

This is the second set of Scene.org Awards nominations for Ate Bit – In 2006 we were nominated for Best Demo On An Oldschool Platform and won the Most Original Concept category with Old Skool Invitro Maker.

Oh.. and whilst we’re at it, Pimp My Spectrum was also listed in Polish computer magazine “Chip” as one of the “most interesting demoscene achievements of 2008”. You can check out an English translated .pdf of the article here.

Posted in atebit, Computers, Demoscene | Leave a comment

Hello World!

Luc Tay Patterson Grenfell born 18th Feb, 2009 at 2:10am weighing 8 pounds and 9 ounces. Mum and baby doing well. Dad incredibly proud :)

eyes-open.JPGhands-up-whos-happy.JPGsnoozing-at-homeb.JPGsnug-as-a-bug.JPGtired-daddy.JPG
(click on the thumbnails for bigger pics)

Posted in Development, Misc | 7 Comments

Jam Game #3

Way back in November of last year saw the third Dundee Jam event being held. After doing much of the organisation of this event and thinking up an idea for a game to write I was pretty miffed to find out that I couldn’t actually make it along on the day – it was decided that house hunting for my imminent move back to England was actually just a little bit more important. Anyway, I vowed that I would soon find a free day where I could work on my own Jam game. This finally happened towards the end of Decemeber but, due to various other distractions and drains on my time, I didn’t manage to finish writing the damn thing in that day! I then had to take what spare hours I could find over the next week or two and use them to finish it off. The result is “Hello Ian”, a Robotron style, level-based arena shooter.

hello-ian-thumbnail.png

In total I would say that it took me around three days to write this game – way over the one day limit of the Jam. I don’t care! Also, I don’t think the resulting game is that much fun. Again, I don’t care! :D

So why did it take too long and why is the result not what I had hoped for? Well, firstly I think the scope of the project was too big. The game itself was pretty much finished within a day but I had no time left to add the audio, create the levels, add the game wrapper or, more importantly, tweak the gameplay. All of these things make a big difference to the final game but I didn’t allow enough time for them. I think I would have done much better to have had fewer levels and enemies that were actually interesting and fun (and that’s were the tweaking should have come in) and to have not bothered with things like a high score table at all!

Still, I’m glad I finished the game, and maybe someone will find it fun or learn something from the soure code. I’ve learned a few things myself during its creation and it has definitely shaped the way I will go about making my next Jam game.

You can download the “Hello Ian” game here, and the C++ source code (which builds in Visual Studio Express) is available here

Posted in Computers, Development, Games | Leave a comment

Ribbons, Tunnels & Techno

Last weekend saw the fourth Sundown demo party being held in Budleigh Salterton in the UK. Once again the party was bigger than ever, once again I was unable to attend.. and once again I wanted to enter a demo. I think it’s important to support the UK scene and show some respect for the sheer amount of work that goes into organising something like Sundown.

This demo is a bit different for me – It’s my first “proper” PC demo. I’ve been working on a PC demo engine but have never found the motivation to get it finished. Then, with just three weeks left before the party and nothing in the works, I decided to get this engine into a state where I could use it as the basis for a demo. The result is “Ribbons, Tunnels & Techno”. It does exactly what it says on the tin.
ribbons-tunnels-techno.png

You can download the binary here

And the Pouet thread is here

The demo came 4th out of 8 in the combined demo party at Sundown. Although I had hoped for higher I am really pleased with this demo – it’s probably the most “complete” demo I’ve released so far and the end result is pretty much what I had planned from the start.
The feelings of the demoscene audience appear to be a bit mixed – On Pouet the comments range from “what a nerve you must have to let your audience suffer through an eternity of the same, dull, monotone effect like this.” to “I thought this was just beautiful. And a simply superb soundtrack to boot.” :D

Many thanks to Syphus for providing the techno in such a short time ;)

Posted in atebit, Computers, Demoscene | Leave a comment