Go to frontpage

> frontpage
> what is zine?
> download latest issue
> latest articles
> previous issues
> next issue
> contact us
> credits
> bitfellas
The Making of Soliloquy
by Axel of Brainstorm

Download the pdf here

Breakpoint 2008 was rapidly approaching for Polish demo group Elude, and with it came the team's determination that they simply couldn't go to the party without bringing a demo, for the Amiga of course. The idea for "Soliloquy" (the name came from Fei/RR) was born only a few weeks before the party. The team members collected materials and viewed lots of pictures, photos, and movies. In fact, they collected everything that could inspire and motivate them to make a demo in exactly that style. Ubik had to kick Kiero’s butt (or like somebody said – motivate him to work). This time, contrary to the team's previous approaches, they started by writing a script. Ok, maybe the word "script" is a little bit over the top, but they tried to plan what they were going to put at each moment in the demo, and what the whole demo should look like, roughly at least. Of course, during the process of making the actual demo, they encountered some problems. They had to make a compromise between their ideas and the power of the Amiga. The framerate was too low in some parts. When they had the script, Ubik started to make some models and other stuff. Meanwhile Kiero started to optimize his engine, and Chaser started composing some music. ZINE explores the development of Soliloquy in retrospect by talking to Ubik, Kiero, and Chaser of Elude.

"There were great plans, superb ideas"

"As for each party we participated in, there were great plans, superb ideas," explains programmer Kiero. "Since I knew I would be coming to Breakpoint (BP) again, I started to think about a demo. In 2007 I had decided to come back to the platform I once started out on, and drop the 'new-age' Amigas (and compatibles). Back then, the creation of the demo was a real pain, due to several aspects: I had to rework the old demo system, diving back into 68k assembly. I had to fight with group members for any piece of graphics, models, etc. But still, doing an Amiga demo for old and limited hardware was kind of refreshing (a really nice change in fact from programming bloated server applications in Java, which I do at work) and it motivated me enough to make another one for BP ’08."

As Ubik mentioned earlier, this time, for a change, Elude started with a plan. This part and all the organizing work was done by Ubik also. Kiero's part in the design was mostly some finishing touches, possible effects suggestions, and bringing Ubik down to earth when he suggested stuff which was just not doable (either because of hardware limitations, or because of lack of skill). At that time all Kiero was doing was reworking his environment: Extending the 3d engine, porting things I did for other systems, and loads more. A big task was optimizing the whole thing to a level that would handle the ideas the trio came up with. This part was kind of tricky, as it was all done under emulation. Kiero's whole system is mainly done in C with assembly routines placed at critical points. Writing optimized assembly for 060 (the platform Elude decided to run with) was not a simple thing. Studying Motorola manuals and sending test code to a friend to check the performance was kind of tedious. C code was easier. Or at least it should have been as they didn't need all the features. Trying to squeeze more performance out of it while adding new features at the same time was not an easy undertaking. More on that later though.

Getting started

"We started with a first scene," explains Ubik. "I did some quick models, textures, added shadows, some animations - everything went pretty fast and smooth up to that moment, until we tried out the scene on the Amiga." Of course, everything came out differently than they imagined it in their heads. They had too many polygons, too many textures. "I had to cut 'a few' polygons, and about half of the textures," laughs Ubik when looking back, and adds: "So Kiero said 'okay, that's akceptowalne (acceptable)."

"Too many polygons, too many textures"

Kiero remembers that moment very well. "The beginning was not really encouraging indeed," he says with a smile. "The first scene I got was the intro scene for the demo. Not judging its initial looks (colors sucked, camera motions were terrible), when I imported it to my engine it just kept crashing. So instead of working on the actual demo I had to go back to the low-level stuff. And the most boring part of that was the Lightwave object converter. It’s probably the most horrible code I have ever written (based on Kalms’ LW5 converter with added LWO2 object support). After a few days of hacking I got it working; or rather 'working', because as Ubik said the speed was far from being acceptable. An obvious reason of this was the triangle rasterizer which greatly showed my lack of skill. It was quickly crafted for a previous demo and far from being perfect. Optimizing (pipelining and stall removing mainly) 68k assembly is fun to do. Especially when you do it at work in notepad without a way to even check if it still assembles (funny fact about these optimizations was that when I tried it under emulation, it turned out to be…slower. I had a bad feeling about this, but fortunately it was only the emulation and the real 68k showed a visible speed boost)."

"The credits were made a long time before the script was written," remembers Ubik. Slow camera movements around the statue perfectly matched with the music. Appearing signs also looked pretty nice at that point in development. "Besides the big blood splash, we wanted to add a small drop of blood", explains Ubik further. "Unfortunately there was no time for that, or maybe not enough power (or maybe too little motivation?). Kiero agrees that this was probably the easiest part of the demo. "It worked almost perfectly from the beginning," elaborates Kiero. "The only thing we also wanted to do was to add some flickering faces (which we couldn't do due to lack of z-buffer) but I had a new tool to finetune this nasty effect so it was an easy task in the end. After optimizations in previous parts, the performance turned out to be too." And he adds with a laugh: "And no, the missing blood splashes were not caused by lack of will."

The light bulb with Elude on the wall was showing a new bump effect that Kiero wrote specifically for this demo. The whole scene was quite simple to do from Ubik's point of view. The only thing that didn't feel so right was the lack of smoother shading due to the palette limitation. The shiny gold signs on dirty red bricks could have looked better in Ubik's opinion.

Kiero smiles and admits that this probably shows how much was missing in his engine at that point. He did bump mapping while others did that almost 10 years ago. But he accepted Ubik's determination to do it anyway. "Because I'm such a nice guy," he adds with a grin. "Simple stuff," Kiero says. "But yes, it worked well enough for us. The bulb itself was rather uninteresting though, so I was hiding it under a glow, which is a nice way to smooth out the final image."

"When I imported it to my engine it just kept crashing"

Ubik was dreaming about putting the Soliloquy sign in an effect scene with trees and bushes, similar to what Conspiracy had shown in "Chaos Theory". It turned out there was no chance to do something like that. Kiero pretty quickly knocked that idea out of Ubik's head. To make up for it, Kiero showed Ubik a very pretty cloud-effect, which would make for a really nice scene along with the sign.

"Dust or cloud based effects are something I have always wanted to do," explains Kiero. "Unfortunately they require either nice tricks or lots of fillrate which we obviously didn’t have. The tricky part wasn’t that tricky but worked well enough, and after a few hours of finetuning I made an acceptably nice ‘cloud’ thing. The whole thing has more possibilities than shown in this demo so expect to see something similar later. The version we had made was a nice filler for the title image we wanted to show."

The next part was the first real filler for the design the Polish trio started out with. The blank parts in the music timeline had to be filled somehow. After some brainstorming, Kiero decided to reuse one of the effects from previous demos. The problem was, it was done for hardware that was magnitudes faster. But only the idea was important. It required some thinking and the basic implementation was done. Since it was a filler, it was done as one of the last parts. Also, the lack of time was starting to make its mark. Once the effect was in acceptable form and speed, the team kept it as you see it now. "When looking at it, I see it could be done much better, but that’s probably a feeling most democoders have," comments Kiero. "Seems like we have another idea that needs refining in the next production."

Then came the scene with the blobs – it probably differs the most from what the team wanted it to be. "We tried to make a nice stand in a courtyard," explains Ubik. "From the stand, we tried to make blobs rise. Unfortunately we failed miserably. Amiga has too little power. Instead of brilliant blobs, we only made very good ones," adds Ubik with a laugh.

"The blobs are a really exploited effect," adds Kiero. "It's still nice looking though. We had this nice idea about blobs emerging from a flat surface. Everything would be shown in the courtyard. Lightwave mockups confirmed that it could look decent. The problem was to show all of that in low resolution and with limited resources. It just didn’t work. Dropping the stand the blobs were on was the first step. Secondly, dictated by performance, the 3D courtyard was dropped. The last issue was to make the blobs run at decent speed and that’s how another few evenings were spent. It resulted in some nice extensions in the routine so we will probably punish you with it in the next demo too."

Next came another effect that the Elude gang calls a filler. This one was made as a test for a bump-mapping routine. They found some nice combination of textures and decided to show that. The problem was how (and it was like that in lots of old demos, where a nice effect like bump-mapping was shown in a completely uninteresting way). Spinning donuts are not really something that Kiero liked, so they created the deforming ‘potato’, as they used to call random objects. It took some time to optimize the Perlin noise function (again, usually used on much faster hardware and not suitable for their needs) but it didn't take Kiero more than an evening to wrap this one up.

The concept of a scene with pillars was taken from some video clip. One evening the Elude gentlemen were having some beers at some party and were browsing YouTube. At one moment, they saw a dark room where light bulbs blinked chaotically. A simple, hackneyed theme they admit, but then they said 'well, it's looks great, we must do something like that' and so they did. The idea with scattered mannequins in the scene was taken from some photos made in a mannequin factory. How's that for some proper inspiration, huh? "This scene took an hour or so to put together with some additional finetuning," says Kiero. "It was one of the parts that just worked and there's not much more I can say about that."

The little girl inside the dark tunnel is a combination of some photo (of which Elude doesn't know the author) and 'Alice in Wonderland'. Darkness was linked to innocence. In the final version of the demo, this part was fixed slightly. Mostly they changed her hand resembling a fin to something that looks more like a "real" hand.

That part truly was 'the horror' in Kiero's opinion. "That part I really didn’t ‘feel’ from the beginning," remembers the programmer. "The first part of the effect just looked weird and I didn’t have any idea how to make it look right. After some discussion, the second part was born showing the girl only. Leaving the issue with the hand and some random problem with textures aside (I still have absolutely no idea what caused it - we simply reworked the texture to hide it), it was decent. And since the deadline was already looming on the horizon we kept it the way it was."

"I still have absolutely no idea what caused it - we simply reworked the texture to hide it"

Ubik had some concerns with the human tree as the models had quite a lot of bones. Earlier on, the team had some problems with bones. But this time (strangely enough) everything went without any problems. Life was good. "It was ok almost from the first run because of all the problems I had fixed," adds Kiero with a smile. "But yeah, this turned out to be an easy one. Removing the 3D-skybox gave us some more performance so we could add some post processing which in return gave a much nicer feeling to the plain moving objects. This part probably saves the previous one which isn’t that great and as it’s almost the end of a demo we hoped it would somehow compensate for all the deficiencies seen before."

The Soundtrack

Responsible for the music of Soliloquy is Chaser. He started with the composition as soon as he saw the first script. "After having read the script, I already knew that working on the music would be interesting," comments the Polish composer. "The thing that immediately crossed my mind was a strong, dark, mood. The screenplay suggested a tune named Lucia Di Lammermoorr by Vista as a reference, which takes elements from both opera and electronic music."

During the course of one month, Chaser also worked on a second soundtrack, for Anadune's demo "60 Seconds for Mr.Light". Sharing the time between those two projects allowed Chaser to look more critically at the written songs. Suggestions by Ubik, Kiero and Chaser's wife Celina, were also really helpful. "I remember that after the first presentation of the project, Kiero wrote 'the first part is great, the second only cool'. A moment later, I started reworking the second part." In the end, the whole track evolved a lot from the very first version.

Chaser used a wide variety of equipment for the soundtrack. "I used Steinberg Cubase 3.0 together with Propellerheads' Reason 3.0. Also very helpful were a number of VST instruments, such as the Imake Sytrus (which was also used for the production of the Breakpoint 2007 demo Angelic Forum by ALLien Senses & Anadune). I also used samples from Stylus' RMX Nexus and Albino." And then he adds with a smile: "And of course my 4-year old daughter Natalia was a lot of inspiration too, to whom I'd like to send some kisses."

Looking Back

"Of course there are a lot of things we could have done better, more polished, but... exactly but... There's always a next time," adds Ubik. "Maybe then it will be good enough, to win the Amiga demo-compo. Right after the demo competition at Breakpoint 08 a few people asked us 'what happened? Why didn't you release this under the Madwizards label?' In fact we don't understand this wonderment. Our previous production wasn't released under Madwizards either (Nameless by Kiero+Ubik). Why are we leaving Madwizards (Mawi)? At some point in time, Mawi became a gathering of people who didn't do anything, apart from owning a reputable name. The second thing was that we had enough of making 'Azzaro demos' - everybody (including Azzaro) said stuff like 'this is an Azzaro demo', 'this demo was made by Azzaro' and so on. We didn’t have any idea why people said that. Do you forget that demos/intros are made by more than one person (except for some rare exceptions)? In fact – is it really so important which group makes a demo? I think the most important thing is that we still have some demos to watch. And one more thing – Azzaro said that Mawi is alive and well, and that they plan to make some productions soon." Let's keep our fingers crossed then.

From Kiero's point of view, the making of Soliloquy was a pleasure. "Most of the time at least," jokes Kiero. "There are always stressful moments when the deadline approaches and things start to break). I had Chaser's music almost at the same time we started to work on actual parts of the demo. I also found solutions to issues I had discovered earlier. Mostly I only had to find the will to start as it’s not always easy to ‘enter’ a project like this. But when the work started it all went pretty smoothly. It was the same in earlier Madwizards days too. Things started to go wrong when jobs and so called real life started to come in. Havingg a new group now with people who really want to do something is refreshing."

We also read in many comments that we "copied TBL style," says Ubik. "But what does that mean? In fact, if 'TBL style' means trying to create a good quality production, then we say yes – we always try to copy TBL style." And then he laughs. Kiero adds: "I didn’t really think much about that. For sure it wasn’t our idea to create something which would be described as a copy of TBL's demos. If people think it looks like that, then so be it. The reason the demo was designed like it was, was due to technical limitations. We decided to show more complex things which could be run at acceptable framerates. That decision caused a choice of music and overall dynamics of the demo."

"If 'TBL style' means trying to create a good quality production, then we say yes"

And what counts in the end is that Elude is happy with the result. Besides, being compared to TBL is nothing to be ashamed of.

Go back to articlelist

Comments: (click here to comment the article)

Hosting provided by Mythic-Beasts. See the Hosting Information