The Making of Desert Dream on C64
by Axel and Runaro of Brainstorm, Gloom of Excess and Edhellon of Resource
At Breakpoint 2007, Chorus and Resource premiered their C64 remake of Kefrens' classic Amiga demo, Desert Dream, to a highly excited crowd. ZINE recently spoke with the wizards behind this amazing production.
ZINE: If you all would start with introducing yourself. Enlighten us about your professions in real life and your functions in the Scene.
Ninja: My name is Wolfram Sang and my handle is Ninja of The Dreams. I am 29 years old and born in Germany, but I currently live in Japan. I have been coding on the C-64 since I was 12 years old, but I did not join the scene until I was 18. I am a pure-blooded coder who loves Assembler and all kinds of hardware trickery. In real life I work with media technology.
Oswald: My name is Zoltn Tallsy; also known as Oswald of Resource. I am a C-64 coder. In real life I work as a help-desk operator.
Fanta: My nick is Fanta and I am a musician. Now and then I contribute with ideas and suggestions for our demos, but music is where my main focus is. In real life I work with electronics.
Clarence: My name is Gergely Zoltai and I am 32 years old. You may know me by the handle Clarence. I am a coder and the originator of the demo-group Chorus. In real life I work as a system developer.
Leon: My name is Mihly Szemeti. I have released graphics under the handle Leon, for almost 10 years in the C-64 demo-scene. I work in a chemical company when I am earning for my daily living.
Bigfoot: My name is Attila Borsny and I code on the C-64. I am a freelance IT consultant in real life.
Edhellon: My name is kos Balzs, and I am a C-64, formerly C+4, coder. In real life I am a student trying to finish my PhD at The University of Bonn in Germany.
ZINE: Where did the idea come from; to do a remake of a classic Amiga demo on the C-64?
Clarence: The idea to create a C-64 remake of "Desert Dream" has been there ever since I saw the demo for the first time, back in 1993--or, should I say, every time I watched it, which was often many times a day--but back then I really had no idea on how to do it. It was not until Oswald mentioned the idea again at Breakpoint 2006 that it gained momentum.
Oswald: My coding skills improved over the years, along with the quality of C-64 demos in general. One day I was watching the original "Desert Dream" and just occurred to me: "These effects could be done on a C-64". This thought resonated in my head with almost every single effect in the original demo, and since the original was such a cult demo I really wanted to do a C-64 remake for many years until Clarence finally said "Okay, let us do it."
Leon: Clarence asked me if I would be interested in helping out with the graphics for what could potentially be a massive demo-project. He told me that together with Oswald they were thinking about doing a Desert Dream remake. I was his first choice since I am graphics artist in Chorus and I knew the demo and I knew it would be massive production, so I joined the project without hesitation.
Edhellon: I knew Oswald wanted to do it for a long time, but the first time I was told about the actual plans was when Oswald sent me an SMS asking me to prepare for coding the intro sequence sometime in October.
ZINE: Did you expect such a great success, and the attacks?
Ninja: After seeing the previews, I was quite optimistic. The amount of positive response was amazing though. The attacks were obvious.
Oswald: No, not _such_ a great success, but I did expect a big success. We were very much aware of the attacks, so we tried to do everything with the highest possible quality in order to prevent attacks which would say Oh, they did it in a lousy way just to win at Breakpoint...
Fanta: I must say that I expected the success the demo got. To be honest, when Clarence first asked me to do the tunes, I refused, as I am not really fond of making remixes of old tunes. After some consideration and watching the Amiga demo again and again, I changed my mind and I was sure that it would be a milestone in C-64 demo history. I did not expect attacks but criticism.
Clarence: Near the end of the project I was too involved with the demo to have an objective opinion about it. I sort of knew it would get positive feedback, but one cannot be sure when it comes to these things. When it was released, I was pleased to see the reactions from both Amiga and PC sceners. The negative criticism was of course completely predictable, even though many of the critical points actually had some validity; most of the trivial negative feedback I just filtered out.
Leon: We were debating what to expect during overnight IRC-sessions with Clarence and the other guys. I know it is impossible to do something that would end up an exact copy of the original. The reason for that is that it is a visual world; judgement is necessarily subjective. In the end I think that the demo shocked the C-64 scene, and the Scene in general, and that is a good thing.
Edhellon: It is always hard to be objective with your own work, especially around the end of such a long process. However, in this case it was a bit different. Since the plane of the others was delayed and I live pretty close to Bingen, I had the task to deliver the demo before the deadline. When I downloaded the demo, I simply had to watch it before leaving for Breakpoint, once, twice, and three times in a row. I really liked it, and that has never happened before, so I was rather certain it would turn out to be a success. I did not think it would be so big though. As for the attacks; honestly, I expected more attacks from the C-64 scene. There were not that many and most of them were justified and civilized. There were only a couple of comments that I felt were really unfair.
ZINE: While many people thought the demo was completely jaw-dropping, others think a remake is not a huge creative task. What is your opinion about this?
Ninja: It is a discipline of its own. Of course, there is no work in the design of the demo itself, but designing all parts so that they will fit the requirements of a much less powerful computer is creative in its own way. I can see the interesting challenge in it. Still, this remake will probably be it for me for a long time.
Oswald: Our goal was not creativity but rather Just to prove it can be done, to quote a Pouet comment on Desert Dream. The team mainly consisted of people who are more interested in technical stuff than in creative stuff. All of us have done many demos where we did not copy anything, but it was really good to work in this alternative style for a change.
Fanta: Some people think a remake is senseless but we are obviously of a different opinion. Huge efforts were undertaken in the making of this demo, and I think the success of it has proven us right.
Clarence: For most effects we have chosen the harder way to implement them, or they were basically very hard anyway, so we could indulge our creativity in realising them. Only some of the effects were trivial to port to the C-64. I think that our attitude towards this project was the same as when doing our own serious demos. I would like to add that, in my opinion, a remake like this is not something you see every day. Several years have passed since the last remake, Smash Designs' "Second Reality", and I think the scene can live with that.
ZINE: How much work did you invest in the demo?
Ninja: At first, Oswald asked me to do the linking, as with Error 23, but I quickly realized that my upcoming Japanese lessons would not allow for me to spend that much time on the demo, so I had to pass on that. I offered instead to assist in doing some smaller stuff and act as a backup-coder when it was needed.
Oswald: A lot. I would say at least three months per person, and I think Bigfoot invested time and energy overall.
Fanta: Many weekends and evenings, but I do not have the exact numbers. I started rather late--in January 2007--and finished the last work right before Breakpoint.
Clarence: Six months of lost spare time for many of us, so yes; a lot of work.
Leon: I did not spend that much time, since I only did the graphics. Approximately two months. But the lots and lots of fixing and redrawing easily extend this to six months.
ZINE: Did you use proper project management for the development, or was it done in the loose traditional way with an insane rush before the deadline?
Oswald: Clarence pointed out in the very beginning that it would be a lot of work, so we made a list of all the screens and we assigned each of them to people. There were no strict deadlines, but we tried to keep track of the process and whether we had reached the milestones
Clarence: In the beginning we started out in a loose style, but we realised that we badly needed a more organized way of working. There were simply too many things to keep track of. We therefore set up a secret IRC channel and a webpage. The work schedule and the progress of each specific task where listed there, and we stored several project-related files there. We also had a rather complete screenshot gallery with pictures from the original demo there. This made it easier for each of us to provide pictures and links when we were getting lost in discussion.
Bigfoot: The development pace was varying, to say the least. In the end there was a big rush, of course, but we finished it in the wee hours of the day of the compo.
Edhellon: The pace was very uneven. We got a good start in October-November; mainly Clarence did a lot of work early on. Then the activity was close to nil in December and January. In February we were already concerned about not being ready in time - at one point Clarence and I were discussing which other party we could submit to before Breakpoint 2008. Then Bigfoot said something like now or never so we kicked our respective asses back into gear, and did it in time. Most of part I was actually finished on the last week. We had some sort of progress table on the webpage, where 1-3 stars denoted the progress for each screen, and sometimes we would argue, tongue-in-cheek, if Oswald for example, deserved 3 stars for his latest effect, or if it was only in a 2 star state. This was a constant source of fun and arguments.
ZINE: Three coders were working together (with the quite effective help of 2 additional ones). What was the task of the individual coders?
Ninja: Being there, when needed. Mainly, for timing critical routines which used timers.
Oswald: Bigfoot: intro, linking, fixing my codes, 2 transition parts, line routines for transition parts, jack-of-all-trades. Clarence: raster trickery. Oswald: filled vectors and dots. Practically Clarence and I delivered the parts and Bigfoot linked it all together. Edhellon made a couple of transitions. There was only one graphics artist and one musician, so that was straightforward.
Clarence: I have the most experience inside the team when it comes to VIC-chip trickery, so I programmed almost all effects based on this technique. Examples are the planet zoomer, xrotator and jelly effect, zoom scroll, lightsourced scroll, 3D rasters, two big textured balls, chessboard bender, non-standard picture display routines like the Gremlin picture, etc.
ZINE: In retrospect, which part are you most proud of, and which part could have been better?
Ninja: I am really amazed that this project was finished in time, with such quality. My biggest respect to the main team! The thing what irritates me a little is the zoom-scroller. Once I was asked to do it and made a sketch, the task was given to someone else. I still think my version would have been closer to the original. But it is okay, as it would have made my schedule complicated.
Oswald: I think the exploding cube was the most difficult one and contrary to my expectations it actually turned out very well. What I regret the most is that all my effects are slower than they could have been, because we load all the time and had to sacrifice the speed. The six zooming balls are simply ugly in 4x4 resolution, but even though I spent months thinking about it, it could not have been done better.
Clarence: Proud of? I do not really know, maybe the effect with the two big balls. I am not so proud of the final rush before the deadline. I had no time to make the zoom scroll the way I wanted.
Bigfoot: I do not want to be proud of individual parts, but I am very proud of the whole demo in general. There is a lot of small things I am not satisfied with, like the missing "bugs" when the chainsaw cuts into the screen. Well, better late than never, as they say.
Edhellon: I would second Ninja and Bigfoot; it is quite amazing that it was ready in time. Plus, the whole demo in general is really something to be proud of, I think. I am very glad I was part of the development team.
ZINE: What was the hardest task?
Oswald: The exploding cube. Horizontally the zooming is real, the lines had to be clipped plus the unrolled loop of the line routine is self-modded to only draw pixels in the appropriate columns so the explosion could be faked. Vertically the filler code is written in a way to pull away the rows of the cube. The clearing routine is clever in the sense that it only clears the rows that have to be cleaned.
Clarence: Besides the difficult individual effects to create, I would like to point out that the hardest task was to keep the pace of the demo just like on the Amiga, being able to follow the sync to the music and showing all the effects in time. Just to let you know, there are no real loader parts or long blank screens that usually traditional C-64 demos have. During these, there would be enough time to load and set up the memory, between two serious memory-filler effects. I will talk about this later on.
Leon: For me, the brainstorming while we figured out what mode to use for the graphics. It was not easy to do high quality graphics with a small memory footprint so that we would not run into problems when loading the upcoming part.
ZINE: The vector scene in the beginning of the demo is by far the best in the history of the C-64, how much work was put into it? Furthermore; do you use the data of the original Amiga scene?
Oswald: I think the complete intro scene was about as much work for Bigfoot as everything else from him, or maybe even more.
Bigfoot: Well... a lot. I cannot really say how much time went into it. It was a handjob per frame. I tried to be as close to the original demo as possible, and in order to achieve this I produced the vector data by hand for every frame. How this data is actually played back changes scene by scene, sometimes it is drawn into a sprite mask, sometimes into chars, depending on the movement and number of objects on the screen. Since the memory is very limited, the player is as universal as possible. For every scene and object besides the actual vector data we also store how it should be drawn; char or sprite, colours, position on screen, etc. The position of the raster horizon is also stored for each frame. Sometimes it falls on bad-lines, together with the required sprite multiplexing, the digi-playback and the fact that during the intro we almost constantly load from disc it made a very interesting coding experience. The sprite layer was not only used to have more objects on screen, at one point it was also used for displaying three different shades of grey on a multicolour char-mask, due to a limitation of the VIC chip in multicolour mode (the scene when the attacking ship turns around and starts to flee).
The tool used for vectorizing the original Amiga screen captures (yes, we actually had frame captures for every single frame in the intro) is the 4th generation of my vectorizer tool. The first version was used in the old Breeze demo Lone Star, the second in Bastard, the third in La Linea and in Larch--all Breeze demos except Larch which was a Breeze and Resource coop--and finally the fourth one here. Obviously this is the most advanced one.
Edhellon: The original idea was actually to use our Jodie engine for the intro, making the necessary improvements as we go along. I think Bigfoot made a much better work than Oswald and I would have. He really did spend an incredible amount of energy on making the intro as good as possible.
ZINE: Many effects feature surprising, clever solutions. Are these the result of some kind of evolution or was every part done on the very first try?
Oswald: It was more along the lines of going over every part in our heads and deciding on the final solution. There were such parts that I was thinking about them literally for weeks. We can only talk about evolution in the fine details of each solution. Everyone has decades of C-64 experience so it was possible to plan everything this way.
Clarence: We discussed the possible ways of porting the parts to C-64, and then we decided which one to pick. Sometimes we had little debates too. Despite these discussions there were two or three parts which we had to do twice in the end, but we tried hard to avoid this, in order to be as efficient as possible. We solved everything in our heads first; some effects took weeks of planning before writing down a line of code in the editor. Everybody tried to help and give ideas on each other's work.
ZINE: We have already seen some of the effects by you before, in earlier demos; chainsaw, light sourced scroll, chessboard. Did you clean up your old dusty codes and reuse them, or did you implement them again from scratch?
Oswald: In order to defend ourselves from unfair attacks, we re-implemented each effect to be better. The chainsaw has higher resolution, the scroller has thinner letters which resemble the original better and it required a completely different--and much more difficult--solution than the old one. The chessboard was never done in this form and quality before.
Clarence: We did not reuse these, however in the beginning that option was tempting, but we rather started every effect from scratch and improved them, because we always came to the conclusion: it can be done better than that old version. You can easily compare the old and new versions of the above mentioned effects, and you will see improvements in all of them.
ZINE: Now please tell us a little about those technical curiosities, which none except vintage C-64 coders will understand.
Ninja: The spinning balls have a chunky-mode; that is also usable in the three leftmost chars of the screen. This is not very common and needs some trickery.
Clarence: As I mentioned earlier, the hardest task was to keep the smooth pace of the original demo, so we coded 80-90% of the parts in a minimalistic style to lower loading times as much as possible, and to be able to squeeze in most of the next part besides the actually running part in the memory, so the parts actually self-extract, generating everything that is possible like unrolled loops, timings, all sorts of tables, graphics data that can be generated, etc. Practically we coded a rather big part of the demo in 4k intro style. We could assemble a nice little 4k intro collection out of them. One more little curiosity: the light-sourced scroll can hold four hi-res colours in one char. To make it possible I used a seven sprite wide mask layer, and using a character grid shifted by four pixels, in theory. The light-source seems to consist of three sprites, but because seven are already used by the mask, I had to deal with only one sprite. I draw three software bobs inside that one sprite every frame.
ZINE: Your aim was unambiguous, so the concept itself could not have caused conflicts. Does it mean that everything went smoothly without any problems?
Oswald: We had lots of arguments about small things; everyone had conflicting opinions of many things. For example; what colour palette to use for the approximation of the Amiga colours? What graphics mode to use. Should we put the original Kefrens logo in the end or something else? Should we put greetings in the texts over the pyramids?
Clarence: In general we had an agreement of course, but when it came down to realizing the little details, then sometimes we had many opposite opinions and a hearty debate. Anyway, we always managed to deal with it somehow.
Edhellon: No, I think it was very far from being smooth. The small conflicts mentioned by Oswald sometimes escalated, resulting in almost weekly--sometimes almost daily--resentments between us, but of course we always made amends a couple hours--sometimes days--later. I think some ego-clashing is to be expected when such different mindsets try to work together. The important thing was that we always managed to put the differences aside.
ZINE: Clarence: It was the first time that you worked with other coders, how difficult or unusual was it?
Clarence: This is not entirely true, a very long time ago I already worked with other coders, but it was indeed a very long time ago. However the structure of the demos of the time (press space, loading, part, space, loading, part and so on) barely required real team work. So this project is indeed the biggest team work I was ever involved in. Practically the work of five coders had to be divided and coordinated as efficiently as possible, which is very rare on C-64. The very fact that Resource and Chorus could find a mutual reason for cooperation is a kind of miracle in itself. We always had very different style in our own demos. In the case of Desert Dream we could put aside our differences and fight for a common goal, old foes, now united forming an even stronger team, and this was one of the most interesting aspects of the whole project. We knew the task ahead was so big that this was the only way to deal with it. In my opinion for a single coder this work could have lasted for two or three years and probably the end result would not be this good, no matter which of us would have done it alone. Everybody got a job that was closest to his experience, ability and possibilities, which he could solve nicely and usually in a short time.
ZINE: Oswald, after winning at X, Breakpoint and now a scene.org award as well, what is the next big challenge in your eyes?
Oswald: I do not feel like I have won everything at all. What I never have achieved, is a demo where I am equally satisfied with both the effects and the design. I am always unsatisfied with the latter. Those who are in the scene know that the respect of the other sceners means a lot more than any awards.
ZINE: Fanta, the music remake is quite a solid work. What player and music speed did you use?
Fanta: Solid? The player was coded by Laxity/MoN. Thomas was so kind to implement some things that I urgently needed. I chose the single speed player because it was one of the few trackers with a good power/consumption ratio. I squeezed the orange dry, especially with the tune in part two.
ZINE: What were the most difficult parts of the music to reproduce?
Fanta: Everything was more or less difficult. I had to put four voices into three, reproduce weird sample sounds, and keep the power and so on. The most difficult thing was to handle the editor as I ran out of instruments and effects in every tune. Seems like it could have been done better without the mentioned restrictions but I do not feel like re-mastering it.
ZINE: Leon, how exciting and motivating is it to redraw the graphical material of a whole demo on the C64?
Leon: Well, it was quite inspirational, that is for sure. Thank God it was easier than drawing a picture for a graphic competition, since here the pictures were given, as well as the main colours. You could not really deviate from the forms, lines, colours, since then it would not be faithful to the original Amiga version.
ZINE: What tools were used for the graphics? Did you use unconventional video modes?
Leon: On C-64 I used Drazlace for the interlace pictures and on PC I used Drazpaint under the Vice emulator, but I also needed Oswalds Project One as well as PhotoShop and some other char-designer tools. Every graphic had something special. The Gremlin picture extends to the upper and lower border. If you know the possibilities of the C-64, you know that you can only have eight sprites on the border which hardly covers half of the screen. Here we worked quite a lot with Clarence to produce a very spectacular and never-before-seen-on-C-64 picture. The picture with the cat was not an easy effort either. This is a simple multicolour picture, but this one also extends to the upper and lower border. The other difficulty was that I wanted to have FLI-like quality, which is not really possible in the standard multicolour mode. So we covered the whole picture with a sprite layer. This gave me three extra colours for the graphics, which I could use absolutely freely. My work therefore became a lot less restricted, and the result is much better this way. Although this meant that I had to use PhotoShop and make use of layers very carefully. These layered graphics were later converted into sprites and bitmaps by the coders and displayed with a custom viewer on the C-64. The Unicorn picture had some surprises as well. For the first try I wanted to use a hi-res bitmap covered with a black hi-res sprite layer. This would give me a lot finer resolution. The problem was that due to technical reasons, it was impossible to fade it from and to white with the black sprite layer. So I had to redraw the complete picture. It also had a hi-res sprite layer, but the picture itself is in multicolour resolution. All this was done a couple days before the party.
ZINE: How much work was wasted during the development?
Oswald: Leon did most of the unnecessary work. For example, it happened that a completely ready picture, the "Unicorn" picture, should be redrawn in a different graphics mode.
Clarence: There are a couple rewritten effects, and a lot of redrawn graphics. Also, all the music changed quite a bit. But I think it is quite normal in projects of this scale.
Leon: I had to redraw a lot of stuff in this project, so I have many graphics on my hard drive that we never used. The others were joking that we will release a slideshow with all the different versions.
ZINE: Do you guys plan to make another remake, or was it fun only once?
Oswald: I would like to; but the others think we would be lynched if we did another such remake.
Clarence: It was enough for me.
Edhellon: Maybe in another ten years. There are more than enough classic demos left to remake.
ZINE: After such a success, one question arises. It will be hard to surpass this one and something new has to be done. Did you ever think of doing a demo for any other platform?
Ninja: I was playing a bit with a +4 recently. But my main interest is still the C-64. I am not fully done yet.
Oswald: It occurred to me for a few weeks that I should do something on the C-64 DTV. But then it passed. I do not think we will be able to top this success, since honestly; we rode on the success of the original classic demo.
Fanta: New things will be done on C-64; and yes, Atari and PC demos are on my list of things to do, and even an electronic music album sooner or later. So watch out.
Clarence: Yes, besides C-64 I would like to try myself out on the PC sometime. I also thought of doing some demo stuff on the C-128 and on the DTV. We will see.
Leon: I was already seduced to other platforms, but so far without success. But who knows what fate may bring. But as long as I feel like it, I would like to strengthen the Hungarian and the international C-64 demo-scene.
Edhellon: As the +4 scene is going through a kind of revival, I think I will do some more stuff on +4. But since the hardware is very similar to the C-64 I do not know if it can really be considered as another platform. As for PC, that is really not my cup of tea. I like the shader stuff though.
Go back to articlelist