Saturday, April 15, 2017

Intro & Demo-Designer

Published on Magic Disk 64 01/90

April is Edutainment Month, and I'm using it as an excuse to waffle about something else than a game. Intro & Demo-Designer is a creation utility for intros and demos. Admittedly, that stretches the definition of edutainment a bit, but I expect to be more entertained (and possibly educated) by this program than the more recent games I had to endure on this blog.


Don't judge the program by its very plain welcome text. This tool packs quite the punch, and it allowed twelve-year-old me to spruce up several of my rather rudimentary BASIC games.

You might've noticed that the utility is actually called Intro + Demo - Design, which looks a bit like a strange arithmetic operation. I went with Intro & Demo-Designer instead, as that's what is printed on the Magic Disk 64 issue's cover.

Pressing any key immediately starts the prefabricated intro:


That's the sparkliest space shuttle I've ever seen. The lack of any visible surface details, like decals or cockpit windows, suggests to me that the spacecraft is completely covered in ice, and all it does is glint in the distant sunlight while it silently drifts through space.

Well, that went grim fast. Good thing, then, that a short rendition of OMD's Enola Gay is cheerfully blaring out the speakers. Uh, let's just ignore that the original song is about the atomic bombing of Hiroshima.

Enola Gay is probably one of the most often covered songs I've encountered on the C64, second only to Harold Faltermeyer's Axel F (the title theme from Beverly Hills Cop).

The version playing in the Intro & Demo-Designer was created by Markus Schneider whom we've already encountered in several previous articles. Although he is not directly credited in the program, I was able to identify his track in the High Voltage SID Collection, among seven other versions by various musicians.

While I was looking through HVSC's files, I got curious and wanted to know how often the aforementioned Axel F was covered. Turns out there exist at least 83 SID versions of the track, including one from composer legend Chris Hülsbeck.

That said, it's hardly surprising for an early eighties pop song, especially one with heavy usage of synths, to be reproduced on an early eighties computer.

Right, back to the program: No intro is complete without a scroll text, and this utility features quite a colorful variant. Please ignore the pixel artifacts visible in the above animated GIF. I think they are part of an emulation issue, as I don't remember seeing them on the real machine. The German scroll text briefly lists the program's features. To give you an idea what can be done with the Intro & Demo-Designer, let me just jump straight into the menu:


Ha, I forgot that the menu is in German as well. Here's a quick & dirty translation I cobbled together in Photoshop:


There are a lot of virtual knobs that can be twiddled, and the programmer made sure everything is easy to adjust.


For example, choosing a font for the scroller is as simple as pressing a key, and you get an instant visual feedback. All the fonts are already in memory, so there is no need for any disk access. This also means that you can only choose between the eight included fonts and not load one of your own.


Option E) allows you to define the scroll text's color cycle. While similar programs would ask you to enter a list of numbers, Intro & Demo-Designer offers a more graphical interface. I appreciate that the programmer not only created an adjustable intro/demo but also took the time to make its features easy to modify.


Although the way the star sprites look cannot be changed, they can be freely positioned on top of the bitmap image. I arranged them in a square once I realized I couldn't spell FART with just eight stars.


Here's a strange limitation: You can't move the sprites further to the right than where they are in the above image. I can't tell if this was just an oversight by the creator or if he didn't want to add the lines of code required to handle sprite positions across the entire screen width.

The C64's visible screen has a resolution of 320x200 pixels with a frame around it that is about 30 pixels thick. Sprites are hidden by the frame, which allows them to move off-screen, like theater actors leaving the stage.

Each sprite's position is defined by its x (horizontal) and y (vertical) coordinate. Both of those numbers are byte values, and thus they can range from 0 to 255. But the (visible) screen is 320 pixels wide. This raises the question how a sprite is supposed to go beyond an x value greater than 255.

There is a separate register ($D010) which can be used to put a sprite beyond the horizontal 255 position. The register is a byte whose individual bits determine which of the eight sprites are positioned past 255. In practice this means that a sprite with an x coordinate value of 0 effectively jumps to screen position 256 once its bit of register $D010 is set to 1. Thanks to this additional register, the C64's sprites can be moved inside an area that's 512 by 256 pixels.


As with the fonts, all the music is already preloaded and can be selected by pressing a key from A to H. The songs vary in length, but most of them are quite short since they all have to fit in the C64's tiny memory.

Apart from the already mentioned Enola Gay cover, none of the available tunes stand out much, except maybe for track E which sounds like a slightly psychotic theme music for a children's program.

That said, I noticed something peculiar about track F while writing this article: I had it running in the background, and after it had looped I noticed that one of the three sound channels was suddenly a couple of beats late compared to the rest. I let the track loop several times, and the lag got worse every time until the whole thing sounded completely out of tune. I don't know whether this is a bug with the program's playback routine or if the music itself is at fault, but either way, the result is quite hilarious, like an orchestra losing its conductor in the middle of a concert.

For some reason, pressing G makes the program crash back to the BASIC prompt, and H does something so severe that the machine freezes up, causing the emulator to report a CPU JAM. Maybe they should tell the CPU that it's supposed to leave the jamming to the SID. You know, because SID is the music chip.

I don't remember if those crashes are present on a real machine as well. I currently can't do any tests on my old C64, as it doesn't start up properly. Even if I could, I haven't tried loading any of the floppy disks in years, so I'm not even sure if they still work anymore.


With option I) you can load your own Koala image. This doesn't mean that you're only allowed to include pictures of the notorious Australian drop bear. Koala is a popular picture format on the C64, which originated in the equally popular Koala Painter, one of the most widely used paint programs for the 8-bit machine. I never owned Koala Painter, but instead I got Paint Magic, which was released on the German magazine 64'er. Paint Magic also supported the Koala format, which allowed me to create my own pictures and include them in other applications.

The last option asks whether you want to save your creation as a standalone demo or link it to another program as an intro. After that, you can load the demo/intro like any regular program.



CONCLUSION

Intro & Demo-Designer is a program I used several times as a kid while I was making my own (BASIC) games. It didn't bother me that the parts I created with this tool stuck out in how much more technically advanced they were compared to my early coding efforts. Imagine someone writing a simple text adventure and then bookending it with full motion video.

In my opinion, it's also a good example how to make a simple and easy to use interface. Everything is done with the keyboard, which is fine by me. The only criticism I have is that moving the stars with the cursor keys is very slow. That could've been easily fixed by making the movement accelerate over time while a cursor key is held down.

Was the utility educational in any way? Not really. I didn't learn how the effects worked, I just got to play around with them. One could call it an activity program, then. Regardless of its learning value, Intro & Demo-Designer gave me an opportunity to create something outside of my coding skill level, and in that regard, it kept me motivated to continue making my own games.

No comments:

Post a Comment