Skip to content

Kalms

Mikael Kalms, demo coder for The Black Lotus and graphics programmer at DICE

Kalms is the Swedish programmer Mikael Kalms, one of the coders behind The Black Lotus's run of Amiga competition wins from 2001, including Ocean Machine and Starstruck. He published a collection of chunky-to-planar routines for Amiga programmers, worked on games from Motorhead to Battlefield 3 at DICE, and in 2017 co-founded the Stockholm studio Fall Damage.

In April 2005 The Black Lotus spent the Breakpoint party weekend in a hotel room in Bingen, Germany, finishing an Amiga demo. “Code is written, objects are modelled, scenes are synchronized to the audio,” Kalms wrote afterwards in the notes to Ocean Machine. They stopped after more than 30 hours because of “a savage bug” that could crash the demo at any moment, entered it anyway, and won the Amiga demo competition at Breakpoint. Kalms, whose handle is simply his surname, was one of its two coders. His first credit on a commercial game was seven years older.

Fast facts

  • Name: Mikael Kalms, from Sweden. Earlier handle: Scout.
  • Groups: The Black Lotus (TBL), Ozone and Nah-Kolor; earlier Appendix, Artwork, C-Lous, Network, Phenomena, Puzzle and Scoopex, according to the scene database Demozoo.
  • Demos: code for TBL’s Perfect Circle (2001), Little Nell (2002), Magia (2003), Silkcut (2004), Ocean Machine (2005), Starstruck (2006) and Eon (2019).
  • Games: Motorhead (1998), Soul Reaver 2 (2001), RalliSport Challenge (2002) and the Battlefield series at DICE.
  • Studio: co-founder of Fall Damage, Stockholm (2017).

Amiga demos

Demozoo lists Kalms’s releases from 1995: Masque, a demo for the AGA Amigas, and Murel, a 64K intro for the PC. Through the late 1990s he released Amiga demos, intros and contributions to disk magazines with several groups, before his name appears on TBL’s demos.

TBL had won the Amiga demo competition at The Gathering in 1996 and 1997, and then gone quiet. The next run of wins was built by Rubberduck and Kalms as coders, with the artists Louie and Tudor. The organisers’ results give TBL first place in the Amiga demo competition at Mekka & Symposium with Perfect Circle in 2001 and Little Nell in 2002, and at Breakpoint with Magia in 2003, Silkcut in 2004 and Ocean Machine in 2005.

His notes for Ocean Machine show how a demo for a 68060-equipped Amiga was built in 2005. Kalms thanked the authors of VBCC, VASM and VLINK, a C compiler, assembler and linker for the 68000 family, which the group had compiled into its own cross-development tools, so that the code could be built on a modern computer and run on the Amiga.

The next year TBL’s Starstruck, with code by Rubberduck, Kalms, Erique and ReJ, won the main demo competition at Assembly in Helsinki against the PC entries. The group never released a final Amiga version at the time. Before Revision 2018, according to Kalms and Emoon’s release notes, the demoscener Britelite persuaded Kalms to go back to the source code, which was “lying around in Dropbox”. The final version came out on 11 April 2018. “12 years is not exactly quick,” the notes admit, “but yes, this is the final version.”

TBL’s Eon, which won the Amiga demo competition at Revision in 2019, went the other way. It was written for the original Amiga chipset and asks for a modest machine: 512K of chip memory and 512K of fast memory, or 1 MB of chip memory. Its notes credit Kalms with “3d scenes code, opts, system”: the 3D scenes, optimisation and system code.

Chunky to planar

The Amiga’s display hardware reads each picture as separate bitplanes, one bit of every pixel’s colour in each plane. That suits scrolling and blitting, but a 3D renderer or texture mapper naturally produces “chunky” pixels, one byte per pixel. Converting chunky pixels to planar ones fast enough to do it every frame is called chunky-to-planar conversion, or c2p, and the speed of that conversion limited how fast such a program could run. Kalms published a collection of c2p routines for the 68020 to 68060 processors, “almost one routine for every occasion” in his words, including converters for the AGA chipset’s HAM8 mode. He released them into the public domain: “Anyone can do as they please with the code, feel free to use it for non-commercial as well as commercial purposes.”

Games

Kalms’s first game credit, according to Demozoo, is Motorhead (1998), a PC racing game by Digital Illusions, the company that became DICE. His credits go on through Legacy of Kain: Soul Reaver 2 (2001), RalliSport Challenge (2002), Battlefield 2: Modern Combat (2005) and Battlefield 2142 (2006) to Battlefield: Bad Company 2 and Battlefield 3. In 2013 he gave a guest lecture on real-time graphics at the KTH Royal Institute of Technology in Stockholm, introduced as coming “from the games company EA Dice”. His published lecture notes run from 2004 to 2014 and cover subjects such as real-time graphics, floating-point arithmetic, CUDA programming and writing robust code.

In April 2017 four DICE veterans announced a new Stockholm studio, Fall Damage: Markus Nyström, a co-founder of DICE, Anders Gyllenberg, Dan Vaderlind and Kalms. The four had worked together at DICE on Battlefield 3, Battlefield 4 and Star Wars Battlefront (2015). In October 2023 the Swedish Fragbite Group agreed to buy Fall Damage for 20 million kronor, while the studio was developing a free-to-play shooter, Alara Prime.

Kalms kept writing for old machines alongside his day job. Demozoo lists Atari Falcon productions from 1999 and Atari ST productions from 2009, among them the music disk HIPSid (2017).

Released source code

Kalms’s chunky-to-planar routine collection is public and in the public domain, in the “kalms-c2p” repository on GitHub.

Sources

See also

Checked. Verified against primary sources and signed off by a person.