A post from Amusic at his blog - about the creation of this demo from his perspective. Check it out at:
https://amusic.gr/post/identity-loop-composing-for-the-legend-of-sisyphus
The making of a rather big demo, thoughts about the demoscene, computer graphics and life. In that order.
A post from Amusic at his blog - about the creation of this demo from his perspective. Check it out at:
https://amusic.gr/post/identity-loop-composing-for-the-legend-of-sisyphus
The time is now - I just returned from Summer Assembly 2023 - and what a blast it has been !
We have been busy making the odd demo now and then during the past 5 years since I updated this blog. Check them at asd.gr or at our pouet page : ASD-Pouet
So - Asm 2023. We presented a demo there called "The legend of Sisyphus". You can check it at:
and
There is a lot in there. Lets take it one at a time:
Early days
The decision to make a big demo for Assembly came after years of (professional) work on volumetric data capturing and processing, that finally felt mature enough to take it to the big stage. The plan was to leverage my access to such data (and/or create new captures) so that they can fit in a new demoscene production.
In around December, my good friend Addie Reiss (the director of the recording studio DNE in Santa Monica, that is using this technology) opened his catalogue to me so that I would choose the right datasets. Permissions and sequences were finalized in late December. We would have two "actors" (names and references in the youtube page) , one would be a man (Sisyphus - our hero) and another would be the Merope - an antagonist or a muse, depending on how you see it.
The original, much longer, sequences would run into a couple of hundreds of GBytes of loosely compressed data, so I did a reasonable trim down to about 90 seconds of content.
The volumetrics
Data are captured from multiple RGB and IR cameras in real-time, saved locally per camera system and exported to a mainframe for processing. The raw data is huge - about 2.3 TBytes for my sequences, before "solves". A Solve would generate a single frame of geometry and texture map out of all the 50+ cameras, and therefore convert into a useable form for display.
Uncompressed, this still runs into 10's of GBytes.
There was a lot of work to take this and convert into a ~ 2700 frames sequence that still a) compressed to about 600 MBytes b) retain the quality of the original and c) decompress fast enough so that the loading doesn't take more than it should. Luckily, this is one of my current fields of interest at work, and this came handy! Each frame comes with a 1k x 1k texture and a ~25k vertex model that is uniquely uv mapped and assigned per vertex motion vector information on top.
I could do a better job with compression at a cost of complexity and loading times; but is there a need? the rules are such that do allow big demos (ie > 500 MBytes) in a competition such as Assembly. Most Unreal based demos are probably as big. The time is 2023, remember ?
Other help
Nothing would be possible without the effort and attention to detail from the good people at DNE (Digital Nation Entertainment) and Mantis Vision. I have been very lucky, because the datasets were not "ordered" for the specific demo, but "found" amongst thousands of captures (* you can imagine the amount of data generated in the first place?!). And I have been lucky because the people involved gave me consent to use the data in an artistic way (remember there is plenty of nudity in the datasets), and all this without any fees. Coincidentally, the datasets have not been used in any commercial product and would otherwise simply stay dormant forever. I met with "Sisyphus" a long time ago in Israel (he probably doesn't remember it) - the guy is amazing, he moves in the small capturing ring with such grace, flexibility and continuity. Thank you Amit ! all the best and my love.
But - maybe if I found some other datasets then it would be a different demo, but a demo nevertheless. Nature always finds a way. We did a long sequence with a single kinect back in the days for the ending of Monolith. That sequence immortalized the state of my family in 2015. I quite like the idea of adding "real people" in something that doesn't age, while we do. (* Like good old photography perhaps ? :-)
I am also double lucky (and I say "I" instead of "we", as in ASD, because this is my personal blog and my personal take to all this) to have Amusic in the group. He is a special person with special abilities in his craft. Anyway, back to the story...
The story
The story is simple but very effective for creating content: the struggle of Sisyphus to ascent a "mountain", in the face of danger. And then the quick descent (tunnel part). The story is cyclic in the sense that beginning and end are almost the same - it all happens during a single night!
Then there is the interplay of the two characters. Some will say it is a nod to the trans movement. I can see that and we (with Amusic) pushed to this direction - it was an easy decision, because it connects with the movement of the main character really well. There is a lot of camp aesthetics and Pet shop boys feel to it. It is telling you "Hey, take it easy for now. It's still early days (for the demo)".
When the bell rings again (and the Merope character appears) it's the "shit is getting real" moment.
There is less color and more "destruction" through saturation and breaking of geometry. This leads to a crescendo of cacophony and off-beat movements until the "Satori" moment of illumination just before the tunnel.
But what does the demo mean for me personally? the above plus - the Sisyphus is us, demo-content creators. The ever-repeating process of making something complex to present to others, only to return back to square one and wait for the call of the tolling of the bell.
Traditionally, there would be references to other ASD demos of the past. I started the work knowing exactly what these would be:
Bell tower from Lifeforce (now multiplying ! like the monolith in 2001 or the lament configuration in Hellraiser. An agent of mysterious evil or an unattainable destination)
Christian halo from Happiness is around the bend (Zen moment for a character before reaching enlightment)
Dreamchild sequence of reaching apogee, followed by a cathartic awakening or fall through a "tunnel"
For your love - the end of for your love is the beginning of this demo !
The Legend of Sisyphus is not a perfect demo. It's not even the most "perfect" demo from ASD - I still think that this goes to "Metamorphosis" (my favourite, a big surprise how well it turned out at the end, considering its humble beginnings as a "minus" production). Maybe it is too long, maybe it is hard for me to "kill your darlings" or it should have been split into two parts. I'm ok with how it turned out, remember that there are no "screenings" before release, we do whatever we think is right at the time and we do get things wrong. Then, when feedback comes flooding in, there are times when we could say "nah, we got that thing wrong". And that's why it takes years and years of observation and attention.
I can say that this was a very easy and enjoyable demo to make - no comparison to any other big Asm demos of the past. I think this is partly due to the resources at hand and partly due to the use of midi controllers for entering the "magic numbers" that are everywhere. The shaders are long and "badly" written in almost obfuscated GLSL, with thousands lines of spaghetti code. It (marginally) works, it's quite fast to render - I'm content with that.
My favourite parts
The graphics were more or less ready by end of January. At that point, the demo was standing at around 6 mins. The rest was added gradually as I was discovering new techniques and Amusic was producing the soundtrack. It's a difficult job to combine the two, but this time it wasn't that bad - the graphics sequences were "flowing" very easily and content creation when you have access to the volumetric data is trivial.
Now and then I would have an idea for a new vignette - wouldn't it look nice if we did a "fractal" scene? I was very surprised and chuckled when I saw the same kind of effect in the other big demo of the year (so far) called Mechasm by Fairlight, presented at Revision '23 in spring. I added a sequence that is a nod to Fairlight and my cdc demo from theirs - Agenda Circling forth. Of course I'm talking about the sequence with the lady falling in front of the moon, all rendered with particles. (And no, my favourite demo from Fairlight is NOT Number one/Another one. I hate this demo !! Huh, no, only joking, it actually is the best demo of the past few years, it's an amazing achievement. Bravo! - now THAT is a perfect demo)
Anyway, from OUR demo I enjoyed a lot the very last part I wrote for it - which was the short sequence of the three heads rolling, followed by the tilting heads and the lady snap-dancing, all within a time frame of 3 seconds (the bpm of the soundtrack is 120, so that's handy). It looked unreal on the big screen: just the right amount of dark to make you wonder "what is hidden in the details" and binding very well with the snare beat.
I liked the sequences with the rows of "snapping" Meropes that (some told me) look like holocaust victims in a concentration camp. This was unintentional, but sure added to the weirdness and openness of interpretation.
But, if I want to be honest, my absolute favourite part is... the very last few frames. The ending sequence with the simple text and the AMAZING singing from our guess star. Amusic added this last week, the very last thing he did. It made my hair stand. Again and again. Because it also comes with the simple text - Presented at Summer Assembly. August 2023.
So here we are, dear readers - 20 years after our first entry at Assembly, and 30+ years since following this party, and the demoscene in general. And we are all well and healthy and active. Another year goes by, we become older and wiser! and we are all still friends and look after each other. And when we feel tired after a big production, we'll sit on the mountain, smoke the pipe and dream of the next ascent. Just like our hero !