Download the pdf here
With productions like Craft and Phasor, 28-year old Linus "lft" Akesson demonstrated impressively how skills in engineering, programming and composing can form a masterpiece on custom-built hardware. Akesson, who lives in Lund, a city with around 70,000 inhabitants north-east of MalmÃ¶, is an only child. His parents were very supportive when Akesson's interest in computers awoke and when he started experimenting with hardware. He had strict limits for how much time he could spend in front of the computer per day though. At that time, Akesson's skills in electronics were very limited, and he was mostly sitting in front of his Amiga, playing games, watching demos, writing code, listening to and making music, and communicating with friends via modem.
|"I GUESS I'M A CODER BY PROFESSION AND A MUSICIAN IN MY SPARE TIME"|
His musical skills were honed early. At the age of six he started playing the piano, and percussions when he was ten. Both of Akesson's parents are music teachers, so it was a natural inheritance. And it also explains where Akesson, nicknamed lft, got his talents from. After regular school, Akesson graduated from the Lund Institute of Technology with a master's degree in computer science. "So I guess I'm a coder by profession and a musician in my spare time, although I enjoy both and try to mix them together when I can," explains Akesson. And as the demoscene has witnessed, he sure can mix them together.
But how did everything come together? When Akesson bought his first Amiga (A1200), it was second hand, and included in the deal were lots and lots of floppy disks. Most contained games, but some contained demos. Little did he know that the latter would be a box of secrets that would give him endless inspiration and motivation into the present day. As he started communicating with the rest of the Amiga world, through local dial-up BBS's, he found more and more demos. He tried making some productions on his own, but at the time he wasn't "very good at writing optimized code", as he admits himself when looking back, and he was too young to understand the math behind 3D graphics.
"I went to my first demo party in 1997 (Hype), when I must have been 15 years old," tells Akesson, adding with a laugh: "I remember that my parents didn't want me to sleep at the party place, so they had to pick me up every night. Anyway, I grew up and my skills matured. Meanwhile, demo parties disappeared or turned into gamer LAN-parties. The internet revolution came. At some point I realized that the demoscene still existed, so I started going to parties again, and I gradually discovered that I could actually compete now, and have a fair chance of winning! Perhaps not with really big productions, but with music, 4k intros, surprise compos like 'useless utility', and so on."
lft sketches the diagram behind Phasor
Before Akesson won competitions, there were also some less successful productions that are now lying in the archives of the demoscene. "I remember, back in my Amiga days, making a platform-war demo," Akesson laughs. It wasn't particularly advanced, because my coding skills were limited at the time, but there was a storyline about how great Amiga was and how much PC sucked. Well, during the compo, the demo crashed right at the end and produced a nice, big guru meditation error for everyone to laugh at. My first serious scene production was a 4k intro called '4096 bytes'. There was no music in it, and the audience didn't like that. It was kind of embarrassing when people shouted 'fix the sound' to the crew during the compo. That's when I learned to leave plenty of room for music, even when working with a tight size limit.
To get more specific required skills, Akesson had been playing around with logic gates, and actually built a small CPU out of gates at one point. It was natural to him to then progress to microcontrollers. Meanwhile, he was looking into play routines on the C64, and the details of how the SID chip worked. Somehow he got the idea to try to write a chip tune for an AVR microcontroller. It turned out to be timing critical, so he had to learn AVR assembly language and count clock cycles. But then Akesson sort of got the feeling that maybe it was possible to generate not just audio, but even video in realtime. After studying how VGA works, he started playing around with it, and the rest is history. He won the console / real wild competitions with Craft (2008) and Turbulence (2009) and scored 2nd place at Breakpoint 2010 with his production Phasor. He also won the Scene.org Award in the category "Breakthrough Performance" for his work on Craft.
The opening of Turbulence
Akesson is active in various fields: the creation of 4k intros, music and the custom built devices to write demos on. But where are his strengths in particular? "I'm quite sure that the music is my strength in a competition, even though the coding is what I spend the most time and effort on," Akesson explains. "Good coding on its own rarely produces demos that amaze people. The music stimulates the audience, and when the audience is in a happy mood they will open their eyes to the rest of the demo and appreciate the coding skills. I'm also interested in the whole art direction thing, which has a similar effect on the audience, but I can't say I've mastered it yet." His strengths also are where his biggest passions lie. "It also works the other way: When you put passion into something, it becomes stronger."
|"GOOD CODING ON ITS OWN RARELY PRODUCES DEMOS THAT AMAZE PEOPLE"|
When talking to Akesson or browsing his website, it becomes very apparent that he continually seeks limitations. Be it the retro aspect of his hardware, or the creation of 4k intros earlier on. "Limitation is the key to creativity," elaborates Akesson. "Since I'm a technical person, I like technical limitations, and I specifically like minimalistic systems because the limitations are so tight that you have to invent clever solutions all the time. Of course, there are also limits when people write PC demos, but those limits aren't necessarily technical. Form, aesthetics, keeping the audience interested, and completing the production before the deadline; these are all limitations that help people create. But to me, those limitations are not as fun as the challenges of a small 8-bit platform."
Finding a start
Phasor and Craft were developed more or less with these limitations in mind. "They both started with the idea to try to generate video output from a microcontroller," the Swede explains. "Composite video is so different from VGA that I though of it as a completely new idea. Once I had coded the general framework and had a stable image, I started writing effects. Then, when the flash was about half full, I composed the music. The budget for the music (in both Craft and Phasor) was approximately 25% of the flash space (2.5 kB), because I knew that the music would be an important part of how people would perceive the demo."
The hardware that powers Phasor
"With the music in place, I started mapping out the effects to different parts of the music. Then I added some new effects to fill any gaps. At this time the flash was completely filled up, but I still wanted to change lots of things. In order to change or add some detail, I would sit and optimize the old code and try to free up some bytes, in order to fit the new code. Sometimes I would remove existing effects to make room for new stuff. Eventually I found myself in the equilibrium where the cost (in work time, or loss of other effects) to make room for any change at all was greater than the benefit of making the change, and that's when the demo was finished."
Inspiration comes from everywhere: Other scene productions mostly, of course, but also various projects that people do and document on the web serve as inspiration. Conversations with friends. Music that he listens to. The limitations of the platform.
The biggest challenge of both Phasor and Craft was to get the first stable image. "The easy part is to set up a timer to generate interrupts, but then there's variable interrupt latency, so one has to sync the interrupt handler with the timer," he explains. "After that, every instruction inside the interrupt handler executes under strict timing conditions. If there is a branch, both alternative execution paths must take exactly the same amount of clock cycles, and so on. Then one has to generate all the sync signals according to specifications that are more or less clear. I don't have an oscilloscope, so if there is no image on the screen, I have to find the bugs manually by looking at the code and thinking. Actually, at one point I remember I connected a slower crystal to Craft, to make it run at a lower speed, and then I connected the slowed-down video signal to a speaker and compared the tone to some recorded music in a known key. That way I could establish that the vertical sync frequency was correct. But apart from that, all debugging of the video signal was done in my head."
Building the hardware for Craft
The road ahead
As for why Akesson is primarily working on his own, he replies: "There are probably several reasons. While I enjoy socializing with other people, and the occasional party-coding with my good friends in Kryo, I also enjoy spending time alone by my computer. That's how I grew up, so that's where I feel at home. I have people around me all day at work, so I have a strong need to be on my own during my spare time. But I can't just sit there and consume entertainment like most people; I want to spend that time doing creative things."
|"I THINK THE CRAFT SOUNDTRACK IS ONE OF MY BETTER PIECES OF MUSIC"|
It's not decided yet, what these 'things' will be in the future. Akesson doesn't have a specific long-term goal at this point. He is working on several short-term projects though. The production that made him most proud was Craft because of the reaction it got. "Looking back I've realized that it was really quite new and extraordinary," he adds. "I also think the soundtrack is one of my better pieces of music, because it still sticks."
Go back to articlelist