A special note of appreciation to the kind and diligent demoscener PS (a.k.a., PSenough). He featured my article in his Demoscene Report for August 2023:
https://youtu.be/V24uWkchbfg?t=255 (at min 4:15)

Evoking Pixelated Passions

Personal Highlights from the Evoke 2023 Demo Party

From July 28th to 30th, I went to the Evoke demo party in Cologne. This is a personal view of my experience, a showcase of the graphics I submitted for the competitions and the lessons I learned. I hope this helps newcomers to the demoscene make the most of their first demo party.

August 2023

Evoke 2023 at the AbenteuerHallenKalk in Cologne

Evoke is a series of demo parties that now celebrated the twentieth anniversary of their in-person events (though the actual count has been thrown off by the pandemic). It is one of Germany's premier demo parties, with around 380 participants on location and many more joining virtually. It might not be as large as Revision in Saarbrücken, but this makes Evoke a bit easier to get into as a participant and digest the demoscene with many familiar faces and a community open to new members.

What is a Demo Party, and What is Evoke?

A demo party in the demoscene is a creative digital event that brings together computer programmers, graphic artists, musicians, and other enthusiasts passionate about digital art. Participants gather physically or virtually to demonstrate their creativity and technical skills by crafting "demos" - small, computer-programmed, real-time audio-visual presentations. These demos, often designed to push the limits of computer hardware and software, combine impressive visuals and music into a synchronized multimedia performance.

Productions at a demo party can run on modern hardware using high-end graphics cards or on retro computers from the 1970s and 1980s with far more limited resources like the Commodore 64, the Commodore Amiga, and the Atari ST. And finally, there are fantasy consoles, machines that were never physically built but only exist virtually on modern host systems like the Pico-8 and Tic80.

The demo party communities announce their events on Demoparty.net. And they archive their works on Demozoo.org.

The demoscene community at Evoke

The Evoke demo party during the presentation of the competition entries in the category music , July 28th to 30th, 2023, in AbenteuerHallenKalk in Cologne, Germany

The Organizers of Evoke

Evoke is organized by volunteers who joined forces in an association of enthusiasts called Digital Kultur e.V. in Cologne. Evoke is organized by volunteers who joined forces in an association of enthusiasts called Digital Kultur e.V. in Cologne. They organize not only the demo party but also educational events related to the demoscene. One of their significant initiatives is the ongoing and quite successful effort called "The Art of Coding" *. Its goal is to have UNESCO acknowledge the demoscene as "intangible cultural heritage". Digital Kultur's efforts have been successful in Germany; they have worked together with other groups and associations internationally. Their partner organizations were successful with their work in Poland, Finland, and the Netherlands.

I had the privilege to meet some of the organizers at Evoke 2023. A small group set up a liquor fountain in the outside seating area, and we poured ourselves a couple of stiff ones. But I will surely miss some critical folks if I attempt to list their names now. So I will take the easy way out and show a photo with a list of all their scene handles and another one with all the organizers and volunteers on stage at the end of the event.

The organizers and volunteers of Evoke 2023

On the left, you can see the organizers and volunteers who made Evoke 2023 possible.
On the right is a list of the organizers' names.

The clever folks at Digital Kultur prepare, organize and run Evoke as an annual event in the urban climbing and skate park AbenteuerHallenKalk in Cologne, Germany. I think I gathered that they work together with another association of enthusiasts called Tastatur und Maus e.V.,

They book the location, ensure all the network and power connections are secured, and can handle hundreds of connected devices. They set up the wiring, the video feed, the projection area, the DJ equipment, and the sound system. They reach out to sponsors and produce all the advertising material and swag. This includes a new logo every year, a baffling and unique characteristic of Evoke series of demo parties. And Digital Kultur set up the tables and chairs and the barbecue area. (This list is most certainly missing some of the many many things the organizers do in preparation for the Evoke demo party.)

Saussages at the barbecue

Juicy sausages and stranded automobiles: the BBQ in the courtyard behind the event location.

About Evoke 2023

As is typical for a demo party, Evoke spans several days, during which participants engage in collaborative projects, share knowledge, and participate in various competitions. These competitions, or "compos," range across different categories, such as different hardware platforms (PC, retro computers, etc.), graphical artwork, music, and real-time coding ("live coding"). Attendees do not need to participate in the competitions. They can watch and chat with others, but any submission is appreciated. Everyone can vote for the productions.

Evoke 2023 was held on July 28th to 30th, 2023. This year's compos were:

  1. Executable Demos (Windows, Mac, Linux, and web browsers). This is the principal competition where the most prophicient coders, graphics artists and musicians collaborate.
    • PC Demo (without any arbitrary limits)
    • PC 64K-Intro (This is as much memory as a Commodore 64 from 1982)
    • PC 4K-Intro (This is far less memory than the space used if you save an empty MS Word file)
    • 256 byte intro (This is basically as long as a few paragraphs of text.)
    • Alternative Platforms (This year, the winner was particularly fascinating)
  1. Interactive (Exploring new art forms and involving human interaction)
  2. Graphics
    • Animation (this competition was canceled because only one person submitted something, and that was me).
    • Freestyle Graphics (using any tool except for AI on any modern or classic hardware)
    • Pixel Graphics (images with any resolution but strictly limited to this color palette:)
    • ANSI/ASCII Screens (graphics composed of the letters available in the different character encodings)
    • 3D Scene (the actual full 3D object file)
  3. Music
    • MP3/OGG (basically any kind of music ranging from pop synth to classical music)
    • Tracked Music (This is music created on a so-called music tracker with the limitiations of classic hardware. This year's theme was "Caribbean Vibes".)

Many of the compos have deadlines that ideally should to be respected. If you missed a deadline, you can always reach out to the organizers and they often accept latecomers if you are friendly and cooperative. Any submission to a competition that meets the requirements and is accepted is called a production and can be voted for by any party participant (maybe I can introduce the new term "partycipant"?).

The social aspect of Evoke is also crucial. Parties usually include various entertainment activities, such as concerts, workshops, or discussion panels. They offer demosceners a chance to meet face-to-face, fostering networking, learning, and community-building. And techno dance music in the night. Lots of it.

At the end of the party, winning demos are announced and celebrated, based on the decisions of the votes of the attendees, but the focus remains on the process of creation and the celebration of the demoscene culture.

The Evoke Demoparty

The main hall of Evoke flooded in the cool blue light of the winner of the Interactive compo, Worms VBI.

Official Time Table of Evoke 2023

The organizers published all the information for the competitions on the Evoke 2023 website and included a time table. Even though this is a causual event with a high factor of fun involved, the we stuck quite closely to the schedule with only very few delays.

Friday

Time Topic Details
16:00 General Doors open
17:30 Event BBQ
19:00 Event Opening Ceremony
19:15 Event TIC-80 Byte Jam
20:30 Event Dinos Derbe Demoshow
22:00 Event Byte Jam - Open For Everyone
23:30 Liveact CTRIX

Saturday

Time Topic Details
01:30 Djset Dojoe b2b Ronny
11:00 Deadline ANSI/ASCII, Tracked Music, OGG/MP3 Music, Interactive, Alternative Platforms 256 Byte Intro, Alternative Platforms
12:00 Deadline Animation, Pixeled/Freestyle Graphics, 3D Scene
12:00 Seminar Decoding cables.gl development: The journey so far and what's next. By Pandur / holon, mfx.
13:00 Seminar Sizecoding: past, present and future. By Superogue / Marquee Design.
14:00 Competition Tracked Music + ANSI/ASCII
15:00 Event BBQ (with music)
16:00 Seminar New adventures in Teletext. By Losso.
17:30 Competition OGG/MP3 Music
18:00 Deadline 4k, 64k, Demo
19:00 Competition Pixeled/Freestyle Graphics, 3D Scene, Animation
21:30 Competition Interactive, Alternative Platforms 256 Byte Intro, Alternative Platforms
23:00 Competition 4k, 64k, Demo

Sunday

Time Topic Details
01:00 Djset ghost
02:30 Djset ektr0
08:00 Deadline Voting
11:00 Liveset Black Maiden Hi-Fi
13:00 General Prizegiving Ceremony

The magic of Evoke

The celebration of coding, creativity, and collaboration on three days.


My Experience at Evoke 2023

My demoscene handle is Bala-Koala. On the one hand, I chose this name as an allusion to the Koala Pad, one of the first consumer graphics tablets for the Apple II, the Commodore 64, the Atari 8-bit line and the Tandy TRS-80 Color Computer. It was not a particularly sophisticated piece of hardware but in an age before the proliferation of the mouse as a pointing device it was the most immediate method for a user to create graphics on their home micro. On the other hand, my surname is Balabanov, and Bala kinda rhymes with Koala.

To coin a phrase: "that was not my first party". To my shame, I must admit that despite my admiration and constant interest in the demoscene, I am quite a latecomer to demo parties. I first attended Evoke in 2022 when they opened up the event after COViD. I then participated virtually in Silly Venture Winter Edition 2022 and Zenta 2022 over the Christmas holidays. In 2023, I had already participated at the largest pure demo party the Revision 2023 in Saarbrücken, Germany.

So I generally knew what to expect at Evoke 2023.

At all the demo parties so far, I had been star-struck by all the creators whose names I knew but met there for the first time. There was the awesome PS from Portugal, who produces video reports on the demoscene every month (apparently "PS" is short for "Psychic Symphony"). At Revision, I had the privilege of being seated next to chellomere - CMR from Sweden who had a nifty setup to develop on the original Nintendo Entertainment System. And Flopine from France, who coolly gets on stage for competitive live shader showdown to loud music and a rumbling audience, yet still can focus on coding, and seemingly effortlessly wins the competition.

A short clip of the live shader showdown at Evoke 2022 with Flopine in the lead (this is from last year's Evoke).

Unfortunately, in the past, I had neglected the productions I submitted. At Evoke 2022, my first demo party, I had prepared two pieces ahead of the event for the pixel graphics competition that used a mandatory and absolutely horrendous color palette. But when I arrived, I misunderstood that I was supposed to create my submissions at the demo party. I was completely wrong, of course most sceners had prepared their work before the demo party. Some demos can take months or even years to make.

So operating under this wrong assumption, I did not submit my ready graphics and drew a new piece for the pixel graphics. I wasn't pleased with it, but I submitted it as my very first production.

Additionally, I did not grasp two things:

1.) A participant can only submit one production per competition; this means that I anyway had produced one redundant piece.

And 2.) while the pixel graphics competition mandated a specific (horrendous) color palette, the creator can choose the image's resolution. I wrongly assumed that the resolution should be a typical retro resolution like 320 x 200 or at most 640 x 480. I was wrong.

I saw the other really well-made pixel graphics submissions and even though they had to use the same color palette, some of the pieces used a much more effective dithering by employing a high resolution.

In 2023 things would be different. I had mostly prepared three submissions: pixel graphics, freestyle graphics, and animation.

Right before Evoke started, I was at the WeAreDevelopers World Congress in Berlin. I jumped on a train from Berlin to Cologne, and six hours later, I spilled, tired but excited, onto the Colognian shores of the river Rhine.

I had booked far ahead, registered for the demo party, and made travel arrangements. On the dates of Evoke 2023, the hotel prices in Cologne had gone completely haywire. There probably was a large convention or congress in town that drove them up. Initially, I had only managed to secure a hotel room for the second night and another night after that and I was planning to spend the night in a sleeping bag at the party location.

The event location AbenteuerHallenKalk has a skating hall attached. This year, the hall was open to demo party participants (partycipants, anyone?) to bring their sleeping bags and mats to sleep in the skating hall. There even were some bean bags and gymnastic mats available. My original plan was to make use of this hall.

The sleeping hall next to the main hall

A view of the newly renovated skating hall next to the AbenteuerHallenKalk after the main event was over. You can still see some of the portable beds and sleeping mats that some Evoke participants used.

Shortly before I arrived in Cologne, I changed my mind... out of cowardice. I felt that I was too old for this. Additionally, two weeks ago, I hurt my back (though it is getting better now). I booked a room at Motel One in nearby Düsseldorf at a fairly standard rate. I knew that I would spend the first evening in Cologne at Evoke, then take the train to Düsseldorf at around midnight, and then check in to the hotel in the wee hours of the morning. In hindsight, I consider this a mistake. I should have slept in the hall. It looked like fun, and the community feeling must have been fantastic!

Anyway, back to the main event. It was July 28th, the first day of Evoke. I made my way to the AbenteuerHallenKalk. This turned out to be super easy because I arrived at the station Messe Köln/Deutz. I grabbed a Tier electric scooter and slapped my carry-on on it and sped across Deutz to Kalk, making it there in no time like Sonic the Hedgehog. Well, that is... if Sonic reached top speeds of around 20km/h.

Marin at Evoke 2023

I was so happy to be at Evoke 2023

The AbenteuerHallenKalk had the same raw charm as last year (except for the newly renovated skating hall). The location feels decidedly punk - a red brick factory building situated in an old industrial area with battered shipping containers in the backyard. There is even a derelict car casually hoisted on top of one of the shipping containers with the matter of course of a modern art installation.

I was happy and relieved that my travel plans had worked out fine. It felt so great to be back at Evoke.

Upon entering the location, I met Harvey (hi, Holger!). He was the kind demo party veteran who had taken me in during last year's Evoke and showed me the ropes. Harvey is a volunteer who helps organize the event, and he also has a stand where he sells retro gear like joysticks and books. It is always a treat to get together with him.

I set up my little workstation at one of the free spots at a good table. I had brought my A500Mini with me and was keen to show off my setup with an Android tablet acting as a screen. My article on this portable A500Mini describes the setup in detail.

Then I diligently submitted my finished productions. Harvey looked at one of my pieces and suggested an excellent change (described below in the section on my freestyle graphics production).

Later in the evening, we watched the TIC80 ByteJam. Two scene developers live coded their demos for the fantasy console using Lua on stage. Then Dino's Derbe Demoshow started. This is a retrospective of curated demos from the past years from a wide variety of different platforms (and of course the Amiga!!!). We saw a beautiful selection of demos.

Finally, the Shader Jam between Eimink, TôBach, totetmatt, NuSan, and Alia started. Here is a recording of the live stream.

The screening of the competitions

All sights set on the stage during the screening of the productions submitted to the competitions.

My Submitted Productions

I had produced three submissions. The Evoke demo party uses a tool called Partymeister that is made available at party.evoke.eu during the event (and then closes after the event is over).

1. Pixel Graphics Compo: Teddy Bear Pillow Fight

My final pixel graphics submission of the Teddy Bear Pillow Fight

The final picture I submitted for the category Pixel Graphics.

This year, the mandated palette for the pixel graphics compo was actually really good. We still can only use eight colors, but there are two rather fine-looking color ramps. I decided I'd go for a cutesy picture. Teddy bears having a pillow fight. I'd not fall for my misconception from last year and would not go for a retro screen resolution but a full HD image.

Evoke 2023 Pixel Graphics Color Palette

The color palette for the pixel graphics competition at Evoke 2023.

I used ProCreate on my iPad Pro with an Apple Pencil; I sketched out my rough first draft of two teddy bear shapes slapping pillows into each others' faces.

Initial sketches of teddy bear pillow fight

The first two steps: Sketching and the first contours.

I then refined the lines on a separate layer to get a better definition of what I wanted.

The contours of the sketch

The third step: improving the contours.

Then I drew the contours with the ink pen and solidified the shape of the teddy bears. At this point, I did not yet know that I would not like the face of the left teddy bear.

The ink refinement of the drawing

The fourth step: refining and strenthening the contours.

I decided to work in grayscales because this would later allow me to convert the shades to color ramps. On a new layer, I filled in the gray. Then I made a new layer and set it as a mask. Now I started placing the shading and the highlights. Then I smeared them to make the transitions much softer and make the shading look organic.

Shading the drawing

The fifth step: shading the scene and correcting the face of the left bear.

Once the shading was done, I realized that I was not too happy with the face of the left teddy bear. It looked like a human child's face pasted onto a teddy bear's head. So I redrew it with a real bear snout and more cartoony eyes. I corrected the image and completed the shading.

I now needed to convert the image to the right amount of shades. At this stage, it was in 24-bit color depth. I needed to reduce the number of colors to four grayscales.

Photoshop has the option to export an image for the web as a GIF. The app allows you to define the number of colors and to choose which kind of dithering the image should use. I no longer had a paid license for Photoshop. My former employer paid for the Adobe CC a few years ago. On my Mac, I had since switched to Pixelmator Pro and Affinity Photo. These are otherwise delightful apps with all the features I need, but they are not as flexible when exporting GIFs. You can only choose between a pre-set number of colors, and the closest I got was six shades of gray. I downloaded a trial copy of Photoshop Elements. That gave me a few weeks to mess about with this terrible application that I didn't particularly want to use. I wanted to find a better, more sustainable option that I could use in the future.

On my MacBook Air, I used Homebrew to install ImageMagick. This is a command line tool with many image manipulation features. Surely, there must be a way to export four shades of gray and define the dithering as a grid of four by four.

I exported the high-res image from ProCreate and imported it to my Mac. After some experimentation, I found the following option in ImageMagick:

convert teddy-bears-bw1.png -colorspace Gray -ordered-dither o4x4,4 teddy-bears-dithered3.gif

The command takes the original file, converts it to grayscales (just to be safe), and then reduces the image to 4 colors and applies an ordered dither of 4x4 pixels.

I was happy with the result. So I made two copies of the image and imported them into the pixel graphics app Pixen on the iPad Pro. The cool thing about Pixen is that it is designed for hand-pixeled graphics with a fixed color palette. Once in Pixen, I could simply replace the four gray shades with the four brownish-ochre tones of the mandated palette. And then, in the other image, replace the four gray shades with the bluish tones of the palette. Then I overlayed the two images on two separate layers and deleted the areas with the wrong colors. The teddy bears would use brownish ochre tones, and the pillows would be colored in the blueish tones. Then I combined the two layers and exported them as a GIF.

The competition rules require a PNG file, so I converted the GIF into PNG, and I had my finished image. I double-checked that it only used the mandated colors and was happy with the results.

During the process, I had made screenshots of my individual steps as required by the compo rules. So now I had a set of six images - five steps of the incomplete image and the final picture.

I submitted the result on the Evoke party site. Once I had selected Pixel Graphics, the UI made an upload field available for the thumbnail (shown during voting), four fields available to upload the steps, and another field for the final file. I uploaded the respective images to the right fields and thought I was done with my submission. Submitted well ahead of the deadline.

Little did I know that I had made the fatal mistake of the missing ZIP file. This would come back to haunt me later.

Detailed shot of the dithering in the 8 color picture

In this detailed shot, you can see the dithering of the eight color picture and how it produces smooth shades.

2. 3D Animation: Logo Stamp-Out

My submission for the Animations category

For this Evoke demo party, I wanted to also submit a piece for the Animation competition. This is probably one of the easiest competitions because there are no real limitations imposed on it.

Making a quick animation of less than a minute using my favorite 3D software, Cheetah3D should be relatively easy. Inspired by 3D animations, I had seen of Twitter (now X) that show a simple Rube-Goldberg-like machine stamping out the logos of Facebook and Apple; I decided to do something similar with the Evoke logo.

A conveyor belt would move a blank disc and come to a halt. Then a hydraulic press would come down from above and press down on the disc. When the press retreats upwards, it should reveal the Evoke logo stamped into the disc. Then from the side, a mechanical arm comes in, grabs the disc, turns it around, and then places it back on the conveyor belt. The hydraulic press slams down again onto the blank side of the disc, and, this time, stamps the text logo of Evoke 2023 into it. Then I wanted the disc to fly into a head-on view and reveal both the graphical logo and the text logo of Evoke.

To kick of the work, I needed a 3D version of the Evoke's graphical logo. The image on the website was perfectly adequate for the web but I needed it at a higher resolution to be able to vectorize it and extrude it into a 3D object. I converted the web logo to a higher resolution using the nifty "super resolution" feature in Pixelmator Pro on MacOS. Then I converted the high-res image logo to a vector format using the Graphic app on MacOS and exported it as SVG.

Now I was ready to import the SVG into Cheetah3D. I extruded the Evoke logo into a 3D object. Now I could use it for the stamp. Additionally, I needed a text logo of Evoke 2023. I couldn't find the exact font used on the Evoke website, so I used an approximation and extruded the text. I hid the 3D logo of Evoke and the text logo inside the disc, ready to be revealed when the hydraulic press stamps down on the disc.

Working on my animation in Cheetah3d

Cheetah3D on MacOS with a view of the convezor belt, the disc with the Evoke loge and the mechanical grabby arm.

I modeled a conveyor belt out of multiple stretched cubes. Then I built a large hydraulic press and a simple mechanical grabby arm.

Once I had all the pieces, I animated the conveyor belt to carry a blank disc and the hydraulic press to stamp the Evoke logo into the disc. Essentially, at the lowest position of the press, its head covers the disc and I just moved the hidden logo upwards. And when the press moves upwards, the logo becomes visible.

Then I animated the mechanical grabby arm to move in and grab the disc and turn it around. I repeated the hydraulic press moving down, and this time, it stamped the text "Evoke 2023" into the blank disc.

At this point, I realized that the animation is over too quickly. I needed to add an introduction to lead into the logo stamping action. Therefore, I built a factory hall with a tower holding the hydraulic press and a vaguely functional machine holding the mechanical arm. I added a camera fly-over to the position of the already animated part. I had my introduction.

The flyover of the scene in Cheetah3d

Cheetah3D on MacOS with a view of the fly-over that introduces the animation.

At the end, I wanted to align the logos next to each other. The rendering time of the animation was already quite long. So I decided to have the logos float in a black void of space (or simply an un-romantically black background).

Finally, I rendered the 3D animation and exported the individual video files. Moving to my iPad Pro, I edited the final video using LumaFusion. This astounding video editing application is integrated with the StoryBlocks stock footage and music service. I added a song and a bunch of sound effects.

Little did I know there would be an unexpected turn of events in the animation competition.

3. Freestyle Graphics: Modern Talking v. Hasselhoff

My submitted work for the freestyle graphics compo: Modern Talking v. David Hasselhoff

The not-so-serious picture I submitted for the Freestyle Graphics competition.

As a bit of a joke, I wanted to make a quick picture of the two guys from the 1980s band Modern Talking (Thomas Anders and Dieter Bohlen) fighting their competitor David Hasselhoff. The freestyle graphics competition had no real restrictions, so I'd make this in high resolution with a lot of colors. Perhaps too many colors. Again I used Procreate on the iPad Pro and painted my freestyle graphics without much reference and research. This was the only piece I had not completely finished before arriving at the demo party.

In the picture, Modern Talking lead-singer Thomas Anders always wore a necklace with his girlfriend's name "Nora" adorning it in golden letters. Back in the 80s, this was such an identifiable part of Thomas Anders' look I knew that no matter how badly I drew Anders himself, people would recognize him. So I wanted something similar for David Hasselhoff and put the name "April" on his necklace named after the female mechanic in "Knight Rider" TV show.

The steps of painting Modern Talking v. David Hasselhoff

The steps showing the sketch and the shading of the Battle of the 80s.

When I showed the work-in-progress to Harvey, he suggested that I change the name on Hasselhoff's necklace. This was a great suggestion, and I followed suit and finished painting the picture in Procreate during the demo party. In Pixelmator on the iPad, I slapped Bokeh and vintage filters onto the image. This made the garish colors a bit more restrained, tying them together better than before.

I had recorded a video of the creation process. So I just went through the video, making screenshots of the four steps I needed for my submission. And finally, I submitted my work in Partymeister.

Here is the speed-painting walkthrough of the creation process:

A full walkthrough of the process of painting the picture.

Little did I know at the time, that this would be my only submission at the demo party that had no issues at all.

The first day of Evoke wrapped up really nicely. I had met a bunch of folks. I learned a lot about the Commodore PET a participant had brought along and saw an Amstrad CPC running a funky modern-looking operating system with windows, icons, and mouse-controlled pointer.

Tired but happy, I took the train to Düsseldorf late at night.

The Commodore PET

No Commodore PETs were harmed during this demo party.

Crisis of Missing ZIP Files

On the second day, I traveled back to Cologne with all my lugguage. Things started out great with a presentation on the remarkable cables.gl visual programming framework developed by the Undefined Development Studios.

There was a bit of a lull in the early afternoon with the next events only commencing at 4pm. I had to leave the demo party again to check into my new hotel in Cologne. It was a straightforward trip, just taking the subway from Kalk Post to Heumarkt. While I was checking in at the front desk of Motel One, the bad news struck.

I got a message from the organizers through the Party submission system that my pixel graphics entry was missing the ZIP file with the screenshots of the steps creating the graphic and that I should read the instructions properly and resubmit. I looked on the party website 2023.evoke.eu and there is literally no mention of a ZIP file. For the pixel graphics competition, the web interface of the Party submission app had separate upload fields for the individual steps. So I assumed that I had done everything right by using those to upload each step. I had not.

Since submission was closed for this competition, I rushed out of the hotel and hurried back to the party to seek out an organizer to amend my submission. My special appreciation goes to Luisa, who helped me sort this out. We amended my submission, and I rejoined the party with newfound peace of mind and determination. The crisis was averted. (Oddly enough, there was no issue whatsoever with my submitted production for the Freestyle Graphics, where I also only uploaded the steps in the respective form fields and did not include a ZIP file.)

Then I got another message from a different organizer that I was the only one to submit anything for the animations competition. So the animation competition was cancelled. What a pity! (My submission was also probably a bit boring and not very good.)

A Party of Whimsical Wonders

Evoke is just such an inspirational and magical event. I loved it this time as much as when I first came here last year. I learned and experienced so much that at one point my heart was overflowing with energy and affection. Here are some of the things that touched me.

The presentation of cables.gl in a breakout room

Pandur presenting cables.gl and outlineing its development.

Cables.gl Presentation by Undev

I was absolutely enchanted by the presentation about cables.gl. I am looking forward to taking some time to experiment with this visual programming framework. It is primarily designed for creating interactive graphics and animations in the browser. It enables artists, designers, and developers to create web-based visual content without the need for extensive coding, by connecting nodes in a visual way.

Cables.gl was developed by Undev Studios who are actually only two really smart developers who work on it as a side project. In their presentation, the Undev folks described the future development and asked for support by the community.

I totally fell in love with this framework. Here's what I learned.

What can cables.gl do?

  1. Real-time Rendering: Using WebGL, `cables.gl` can produce high-quality, real-time graphics, animations, and visualizations.
  2. Interactivity: You can integrate interactive elements like mouse movements, clicks, and other user inputs.
  3. Custom Shaders: For those with experience in GLSL, cables.gl offers a platform to write and integrate custom shaders.
  4. Integration with Other Web Technologies: It's possible to mix cables.gl with other web tech, such as CSS, JavaScript, and HTML.

How does cables.gl work?

The framework operates based on a node-based visual interface:

  • Nodes: Every function or operation is represented as a node. For example, you might have nodes for mathematical operations, texture sampling, color blending, etc.
  • Patching: You "wire" or "patch" these nodes together to create a flow of data and operations. This is reminiscent of patching in modular synthesizers, where one connects different modules with patch cables to create sound.
  • Real-time Feedback: As you connect and adjust nodes, cables.gl provides real-time feedback, showing the results immediately. This is especially beneficial for iterative and explorative design.
  • Export: Once the visual work is done, it can be exported and embedded in web pages or used in various other ways online.

In the magical realm of cables.gl, the tricky spells of WebGL and the puzzles of interactive graphics get transformed into a vibrant tapestry of nodes and patches. Imagine being an alchemist, combining colorful potions and watching the magic unfold in real-time. No need for lengthy chants (codes), just connect these magical nodes, and voilà! Your web potion is ready to sprinkle across the digital realm!

Evoke outdoors

The outer party area after a short but heavy spell of rain.

The Falcon has Landed

I would like to express my most heartfelt gratitude to Felix/Teki. He brought an extremely rare Atari Falcon030 (upgraded to a 060) to Evoke. This was the first time in my entire life that I had the chance to try one in person. Felix was kind enough to give me a tour, show me some of the graphics applications and alternative operating systems. He even let me work on it.

The Atari Falcon030, this mythical creature from the electronic renaissance. This device wasn't just a computer - it was a digital revelation. Hailing from the enchanted era of the early 90s, it emerged in the last years of Atari, sprinkled with stardust and possibilities.

Felix's Falcon was upgraded to the max. It not only had the original Motorola 68030 CPU but also a 68060 and a 68882 FPU. He and his friends had replaced the harddrive with CF card storage and removed the floppy in preparation for a floppy disk emulator (either with a USB thumbdrive or a MicroSD card). This device was more than a regular Falcon, Felix had turned it into a Falcon060!

This machine boasted an orchestra of colors on its display, with each pixel dancing to the whims of its user. And the sound? It sang like the most beautiful siren from the 16/32-bit era, with a symphony of synthesized tunes powered by its Digital Signals Processor (DSP) that would make even the most hard-hearted of machines tap their metallic toes.

A pimped up Atari Falcon060

The magnificent Atari Falcon060

It wasn't just its technical prowess that made captivated me. With a sleek design reminiscent of a futuristic artifact, it looked like it was plucked straight out of some future incarnation of Doctor Who's TARDIS. To say that it was ahead of its time would be an understatement. The Falcon060 wasn't just ahead of its time; it was on its own clock, ticking to the beats of a different, time and relative dimensions in space.

In a world full of generic gizmos and gadgets, the Atari Falcon060 was the unicorn – rare, magical, and a testament to the enchantment of innovation. Only few were made and even fewer found an owner before Atari went out of business nearly thirty years ago. Now that I found one, I could hold it close and embrace its multimedia glory, and for a moment I thought that it spoke to me, whispering the secrets of the tech fairytales of yore. I got to play a fantastic conversion of Quake, and painted with the magnificent ApexMedia and Grafx2. I nearly did not want to let go of the Atari mouse when my time with the Falcon was up.

I loved it! And without Felix, I would never have personally met the Falcon. If only these machines weren't so ridiculously expensive on eBay. Falcons in working condition command prices of more than 2,000 Euros.

The voting is on

On the left, you can see my A500Mini setup and on the right, my iPad Pro with the voting page open for the interactive category.

An Air of the Electric

Later this evening Evoke turned into an even greater delight. The pulsating heart of the party opened up before us: the demo screenings. Creativity and technology converged in a symphony of pixels and beats charged with electric energy on the large projection area.

Here, amidst a kaleidoscope of colors and symphonies of bleeps and bloops, these magicians showcase their crafted marvels, hoping to enchant their peers. And when the pixel dust settles, every partycipant gets to cast their vote. They decide which digital concoction dazzled the most. And with bated breath, we await the crowning of the supreme digital sorcerer! Alas, the results would only be revealed on the next day.

The production that I loved the most: Worms VBI

For me Worms VBI by AttentionWhore was the most impressive production. The creator used an Amiga 1200 to feed a Teletext signal into an old school TV. And he did not simply generate fake Teletext news pages, he ran the classic game Worms natively in the Teletext graphics mode. Amazing pixels the size of Borg cubes! This production ended up winning the Interactive compo.

An Amiga 1200 running the Teletext feed of the Worms game

The Amiga 1200 feeding a Teletext signal of Worms into the Teletext decoder of a CRT TV.

Then the DJ opened up the dance floor. As liquid courage fuels the soul, dancers become one with the chiptunes, moving to the rhythm of code-rendered artistry. Here, amidst strobes and screens, kindred spirits celebrate not just the magic of the moment, but the boundless power of imagination. It's a realm where code becomes color, and every dance step is a tribute to the alchemy of art and algorithm.

Cheers to the beauty of binary and the dance of digits! Still I had to pry myself away from the music and return to the hotel to get a good night's sleep.

Results

Sunday was the last day. In the morning, we listened to some music and chatted. Some folks were already leaving to take a train or drive home. Other folks were exhasted.

At noon, the competition results were announced. The exact listings can be found here: Evoke 2023 at Demozoo.

This is a a great Evoke 2023 party report video produced by Classic Videogames LIVE

In the end, my submissions for the graphics compos came in at rather mediocre ranks. My Teddy Bear Pillow Fight pixel graphic came in ninth of twenty submitted graphics. And my whacky Battle of the 80s between Modern Talking and David Hasselhoff was also ninth but of only twelve submitted productions.

As the final chiptunes faded and screens dimmed, a wave of euphoria engulfed us. Time has danced, memories are forged, and the line between technology and artistry has blurred. Awed by the union of code and creativity, I felt the buzz of inspiration. Friendships have deepened, ideas spark, and my heart now carries a piece of this unique magic.

Evoke may have ended, but the spirit of the demoscene lingers, an unyielding beacon of inspiration.


Tips for Demo Party Newbies

If you are joining a demo party for the first time then I am certain that you will love it. It is super fun if you stay curious and polite. There are no hard rules, except that you respect other participants and be kind. Apart from that you can't really so something wrong (despite the length of this section with the tips).

I can tell you from my own experience that attending a demo party can be an exhilarating experience, especially if you're a first-time visitor. You will learn a lot about technology and art. You will experience an enthusiastic community that has grown over the years. Please note that you do not need to create a production or participate in the competitions. It is cool if you come to watch, learn and chat with other participants. But please do vote for the entries in the compos.

The demoscene has a long tradition since the late 1980s. It is deeply rooted in computer art and coding. There are some really great introductions to the demoscene. I strongly recommend the work of the vigorous demoscene advocate PS (here are his Demozoo Profile and Youtube Channel. He has a video about learning to understand and join the demoscene.

Seminar Video: Teach Yourself Demoscene in 14 Days by PS (PSEnough)

PS also has a companion article on GitHub that is more in-depth. You can find it here: Teach yourself Demoscene in 14 Days. This guide strongly leans into the creation side of the demoscene. Again I can only emphasize that if you feel too intimidated to produce something, you can still have a great time and learn a lot like most other folks without creating and submitting a production.

Here is another introduction to the demoscene, this time from the Electromagnetic Field Camp 2022 by Crypt. The audio is a bit quiet but it is well worth watching.

Introduction to the Demoscene by Crypt at EMFCamp 2022

Even though this article is specifically about Evoke, if you are looking at more actionable guidance on creating your own demo productions, you might want to be on the lookout for demo parties that specialize in teaching demo making to newcomers. The one that I set my sights on is Graffathon in Helsinki, Finland. Graffathon is like a guided programming workshop specific to computer demos. I would love to go one day. Unfortunately, in 2023 it was held at the same time as Evoke.

Some demo parties like Revision have a newbie table where you can get seated and talk to mentors who will walk you through. At Evoke 2023 there was talk that something similar might be planned in future. I think that if you reach out to the organizers and just have a friendly chat, you will get to know your way round quite quickly. And they will get to know you.

I was very fortunate that I met Harveys literally in line at the entrance of my very first demo party in 2022. He was very kind and while we were waiting he showed me the ropes and described the general way things are. He also introduced me to others in the scene. And now I have a good friend that I always looked forward to meeting at Evoke and Revision.

And now I'd like to share some tips to help you make the most out of your first demo party:

1. Get the Formalities Right

The demoscene has a long tradition since the late 1980s. It is deeply rooted in computer art and coding. Like other demo parties, Evoke is not a commercial venture. It is not widely advertised outside of the demoscene. The date of a party is announced at Demoparty.net. The actual details of the party slowly emerge the closer you get to the event's date.

A party website is usually published a few months ahead of the event (e.g. 2023.evoke.eu). This provides more details. It might not yet be fully populated at launch. But around two months before the event you will have all the specifics about the competitions, rules, and a shop link to purchase tickets. I strongly suggest that you also read the schedule of the party to see the starting times of events, DJ sets and seminars but also to see when each competition has its deadline.

Try to arrive at the demo party well before the opening ceremony. This will give you time to register at the entrance. The organizers will give you your vote code, a unique code that will enable you to login to the party's voting site. You will also have time to orient yourself, get on the right Discord channel, and - most importantly - to find a nice seat at one of the tables. If you come too late then you might not find a good place. At Evoke you have another advantage if you arrive in the early afternoon instead of the evening: you can join the barbecue without having to wait too long in line for your delicious sausage.

If you want to submit a production please read and understand the submission guidelines well ahead of time. Then make sure not to wait until the last minute to submit. Particularly if it is your first demo party, make sure to submit well before the deadline. This will allow for time in case something goes wrong.

Leaving some time reserve when arriving or when meeting the deadline also shows respect to the organizers. They are volunteers out of enthusiasm and the kindness of their heart.

2. Be Open-Minded

Keep your mind open regarding the other participants and the productions. You will meet all sorts of people at Evoke. Some will share a lot of your opinions and lifestyle choices. Others might not. Please stay open minded.

In the best case, you will learn about a new perspective that you had not seen previously. In the worst case, you might be confronted with an opposing view that you do not agree with and find interesting grounds for a lively discussion as long as you do not feel insulted or try to desperately change someone else's mind.

Demos are not just animations or videos; they are programs that generate real-time visual art and sound. The art and music you'll encounter at a demo party can range from the conventional to the avant-garde. Keep an open mind and appreciate the diverse styles and techniques on display.

Even if you do not like the results, keep in mind that some folks have put in a lot of work in them. If you see productions that you like and that connect with you then show your admiration, appreciation and enthusiasm to the creators. If a production does not particularly impress you, then of couse you don't need to praise it falsely but you can show your respect to the creators for the effort they put in.

Always stay civil.

3. Engage with Partycipants

Most demosceners are usually friendly and passionate about their art. They appreciate if you reach out to them. Introduce yourself, ask questions in a respectful manner, and get to know the artists and coders. Sharing and discussing ideas can lead to inspiring conversations. You can learn a lot.

(Yay! I managed to organically sneek "partycipants" into the title of this item!)

4. Attend the Compo Screenings

At Evoke there are scheduled times for the screenings of the competition entries in various categories (e.g., 64k intro, 4k intro, music, graphics). Make sure to attend these sessions to see the demos in their intended setting. This will also give you a better idea who the creators are and who to vote for.

5. Vote at the Compos

You can vote for your favorite productions in each category. Make sure that you participate in the voting process. This shows your support for the works you appreciated most. And in the end they might win!

6. Be Prepared for Long Hours

Officially, Evoke starts on a Friday late afternoon and ends on Sunday early afternoon. Effectively, it is also two nights long. It can be a bit of a marathon, stretching late into the night. Bring essentials (like snacks, water, comfortable clothing) and be prepared to adjust your sleep schedule.

Also keep in mind that you are not forced to participate in everything. If you need a break, go out, enjoy Cologne and then come back refreshed. If you are not interested in dancing the night away, then get some sleep. I'm the first to admit that a demo party can be quite exhausting (though it is even more exhausting if you are one of the volunteers who organize the party).

7. Join the Seminars

There are usually two or three presentations, seminars or workshops at each Evoke. Their topics are coding, demo culture, graphics design, nifty new/old tech or music production. If available, then please do attend these to gain insights into the techniques used in demomaking or news in the demoscene.

In 2022 I loved the seminar on the preservation of disk mags, and this year, I was in awe at the presentation of Undev on their cables.gl visual programming framework.

Unless you join in, you will never know what might have captured your interest and imagination.

8. Stay Up-to-date

Sometimes there are announcements, schedule changes, or spontaneous events. Check Discord or listen for announcements. They might be about organizational matters like motor vehicles blocking the event location, or they might be some side event that was spontaneously organized.

9. Respect the Property of Other Participants

Enthusiasts in the demoscene have a deep appreciation for both modern and vintage hardware. Some participants set up elaborate workplaces at their tables with customized PCs, large music speakers, or hardware that was already old before you were even born. When you see these rare or custom machines at the party and are interested in them, the owners are sure to show them to you, explain the details and demo them.

Don't forget to always ask for their permission before touching their property. And respect their request if they'd rather you don't touch their hardware.

10. Capture the Moment

You will have a blast at Evoke. Feel free to document your experience, but always ask for permission before taking photos or recording, especially if people or their work spaces are involved. You will most likely get their approval.

11. Mind the Etiquette

Evoke is not only an event to chat and talk to others. It is also an event where new material is being presented. The times for the screenings are in the schedule.

When the submissions to a competition are being presented, it's customary to be quiet and respectful (though you will hear the occasional "Amiga" yell be shouted). Feel free to applaud something impressive during the screening but keep the majority of the applause for the end of a demo. The creators will always appreciate enthusiastic reactions to their work.

12. Safety First

I always felt safe at Evoke and other demo parties. But this is not a cause for carelessness.

Like any event, be aware of your surroundings, take note of the exits in the rare case of an emergency, and keep your belongings safe. I have a lot of trust in my fellow demoscene enthusiasts and have left my hardware setup at the location over night, but I nevertheless hesitate to leave any other valuables unattended.

13. Consider Creating a Production

I am sure that you will be awed and inspired by the creative work of the demoscene. Consider creating your own work. As suggested above, you could look at PS's very motivational tutorial Teach yourself demoscene in 14 days or you could talk to other newbies and veterans. You could even consider forming a team to create your own demo for a future party.

The demoscene is a fertile ground and always welcomes new talent.

14. Get an ID on Scene.org

If you want to secure your demoscene handle, your pseudonym, then register your ID at id.scene.org. This is the demoscene's own cross-platform authentication service. So you only register at scene.org and can use this Scene ID to login on other demoscene sites, like logging in on demozoo.org and many other sites related to the demoscene (see a more comprehensive list here on the Scene ID site).

Particularly, if you'd like to submit your production at a demo party, it is strongly advised that you use a scene ID. That way, your handle can be easily found and your production can be associated with you.

15. Prepare Your Productions Ahead Of Time

Don't make the mistake that I did thinking that I'd need to create my production during the demo party. This puts you in a crunch and might deprive you of other experiences. In the months leading up to the demo party, set aside some time to create your concept, implement your ideas and finish your production.

Then at the start of the demo party you might polish it a bit and submit it on time.

16. Mind Your ZIP Files When Submitting

When submitting your production in the party's competition system (usually Partymeister), then you will be prompted to submit files in addition to your production. You upload a thumbnail that will be displayed during voting. In some competitions (e.g. graphics and animation), you are required to provide screenshots of the steps of your creation process to prove that you are the originator. You are asked to provide a short description about your submission. Feel free to describe the tools you used or what the meaning behind your creation is. Perhaps you might want to add instructions on how to run it.

And then there is a field for the files. This is where you upload the actual production. As I've learned at Evoke, that you need to pack the production in a ZIP file together with the steps and upload the package in this field.


To quote Captain Barbosa from Pirates of the Carribean, these are more guidelines than hard rules. Please regard them as kind suggestions. As long as you show respect to your fellow demo party participants, you should be fine.

Remember, the main goal of a demo party is to have fun and maybe learn something while at it. Apart from that, go ahead and celebrate creativity, innovation, and the spirit of the demoscene community.

Soak in the atmosphere, engage with fellow enthusiasts, and most importantly, have a good time!


*  Not to be confused with Dylan Beattie's The Art of Code.

(And yes, I should stop trying to make partycipant happen.)