A paper/imp launches imps rings from a paper to create a defensive warrior which can be difficult to beat. They tend to tie against most opponents but only claim a small number of wins. The first paper/imp was created by Paul Kline in August 1995.

Paper with Embedded Launch

Diehard-style paper/imp contains a simple imp launcher and is the earliest example of a paper/imp, created by Paul Kline in August 1995. The paper spawns off new copies leaving behind a trail of continuous imp launchers.

        step1  equ 4072
        step2  equ 3144
        istep  equ 2667           ; (CORESIZE+1)/3

        spl    1                  ; 8 parallel processes
        spl    1
        spl    1

papera  spl    @0,         {step1
        mov    }papera,    >papera
paperb  spl    step2,      {papera
        mov    }papera,    }paperb

        spl    0                  ; launcher
        spl    imp+istep
        spl    imp+istep*2
imp     mov.i  #1,         istep

Jedimp-style paper/imps embed a standard vortex imp launcher in a paper. The paper spawns new copies leaving a trail of vortex launchers. The first example was created by John K Wilkinson in July 1996.

        step1  equ 1848
        step2  equ 3024
        istep  equ 1143           ; (CORESIZE+1)/7

        spl    1                  ; 8 parallel processes
        spl    1
        spl    1

papera  spl    step1
        mov    >papera,    }papera
paperb  spl    @0,         >step2
        mov    }paperb,    >paperb

        spl    0                  ; vortex launcher
        add.x  imp,        launch
launch  djn.f  imp-istep*8,<7723

imp     mov.i  #3,         istep

Binary-Launched Paper/Imp

A binary paper/imp launches a number of papers spaced evenly in memory. These work together to form imp rings. The first example of a binary-launched paper/imp was demonstrated by Magnus Paulsson in October 1995.

        step1  equ 3205
        step2  equ 375
        istep  equ 2667           ; (CORESIZE+1)/3

        spl    2                  ; 6 parallel processes
        spl    1
        spl    1
        spl    boot

        mov    {boot,    {ptr1
ptr1    jmp    papera-istep+6

boot    mov    papera+6, {ptr2
ptr2    spl    papera+istep+6

papera  spl    @0,       }step1
        mov    }papera,  >papera
paperb  spl    step2,    {papera
        mov    }papera,  }paperb
        mov.i  #1,       {1       ; anti a-field imp bomb
imp     mov.i  #863,     istep

Spiral-Forming Steps

A paper with spiral-forming steps spawns new copies at distances calculated to form imp rings by spacing some of the copies evenly in memory. An example of spiral forming steps was first published by Paul Kline in February 1996.

        step1  equ 435
        step2  equ 845
        step3  equ istep+1        ; (alternative step3 equ step2-istep) 
        istep  equ 2667           ; (CORESIZE+1)/3

        spl    1                  ; 8 parallel processes
        spl    1
        spl    1

papera  spl    @0,       }step1
        mov    }papera,  >papera
paperb  spl    @0,       }step2
        mov    }paperb,  >paperb
paperc  spl    @0,       }step3
        mov    }paperc,  >paperc
        mov.i  #1,       {1       ; anti a-field imp bomb
imp     mov.i  #2502,    istep

Silk-Imps

A paper with silk-imps passes imp-like instructions of the form mov.i #-step*2,}step to other copies of the paper spaced step cells apart. Paul Kline posted the first example of silk-imps in June 1996.

        step1  equ -888
        step2  equ -1136
        step3  equ 1488

        spl    1                  ; 8 parallel processes
        spl    1
        spl    1

papera  spl    step1
        mov    >papera,  }papera
paperb  spl    step2
        mov    >paperb,  }paperb
paperc  spl    step3
        mov    >paperc,  }paperc

        mov.i  #-step1*2,}step1
        mov.i  #-step2*2,}step2
        mov.i  #-step3*2,}step3 

Example Paper/Imps

Firestorm, Maelstrom, For John, Dawn, Dawn 2, Devilstick, Mascafe and Burning Metal pair a paper/imp with an embedded vortex launch and a standard paper.

Return of the Jedimp and Chainlock v02a are paper/imps with an embedded vortex launch.

theMystery1.5, Night Train, Safety in Numbers, Blowrag, Silkworm, tiny Blowrag and Night Terrors are examples of a binary-launched paper/imp.

The Fugitive, Return of the Fugitive, Decoy Signal and Toxic use spiral-forming steps.

unheard-of and SilKing pair a paper/imp with spiral-forming steps and a standard paper.

Die Hard is a paper/imp with a simple embedded imp launcher.

Defensive pairs a paper/imp with an embedded vortex launch and a paper/imp with silk-imps and spiral-forming steps.

Cinammon is a binary-launched paper/imp which also has silk-imps and spiral-forming steps.

Golden Eye is a paper with a satellite launched stone and vortex launch.

Kosmos is a paper which alternates between two satellites: a stone and an imp launcher with spiral-forming steps.

RetroQ, Fixed, Stylized Euphoria, pdQscan, Simplicity and Mercenary are examples of paper with silk-imps.

Further Reading

  1. Espiritu, Ken. "Fixed." Core Warrior 71 (8 Mar 1999).
  2. Espiritu, Ken. "Safety In Numbers." Core Warrior 76 (12 Dec 1999).
  3. Kline, Paul. "On QScans and CoreWar Strategy." Core Warrior 54 (20 Jan 1997).
  4. Metcalf, John. "Cinammon." Core Warrior 77 (13 Apr 2000).
  5. Moore, David. "The Fugitive." Core Warrior 68 (9 Jun 1998).
  6. Paulsson, Magnus. "theMystery1.5." Core Warrior 2 (23 Oct 1995).
  7. Schmidt, Christian. "unheard-of." Core Warrior 87 (3 Jul 2003).