Upon her neck and breast was blood, and upon her throat were the marks of teeth having opened the vein:—to this the men pointed, crying, simultaneously struck with horror, “A Vampyre! a Vampyre!”

Polidori, John William The Vampyre; A Tale 1819.

A vampire attempts to capture enemy processes by placing a fang (JMP instruction) inside the opponent's code. The fang points to a trap routine which splits off useless processes to slow the opponent. Vampires were first suggested by John McLean and implemented by Robert Martin in 1985.

Self-Vamping Vampire

The simplest vampires are self-vamping. After the vampire has finished bombing it drops a fang onto its own code and jumps into the trap. The trap normally contains a simple, suicidal core-clear.

        step   equ -715           ; mod 5

inc     spl    #step,     <-step
vampire mov    fang,      @fang   ; fang dropped here
        sub    inc,       fang
        djn.f  vampire,   *fang

        for    5
        dat    0,0

trap    mov    bomb+1,    <vampire-9
        spl    trap
        jmp    trap+1
bomb    dat    <5334,     <2667

        for    3
        dat    0,0

fang    jmp    trap-vampire-step,<vampire+step

Scanning/Bombing Vampire

Some of the most successful vampires combine scanning and bombing in the same loop. Typically they bomb with one fang, drop another on scanned locations and switch to a core-clear for the endgame.

        step   equ 6192           ; mod 16

vampire add    inc,       fang
        mov    fang,      @fang
        jmz.f  vampire,   *fang
        mov    fang,      *fang
        mov.a  #0,        *fang
        jmz.f  vampire,   trap
        jmp    clear-1

fang    jmp    @step,     trap-step
inc     dat    step,      -step

        for    8
        dat    0,0

        gate   equ clear-4
        dec    equ 1500

bptr    dat    1,         11
dptr    spl    #dec,      13
clear   mov    *bptr,     >gate
        mov    *bptr,     >gate
        djn.f  clear,     }dptr

        for    73
        dat    0,0

trap    spl    #0,        {0
        spl    {0,        }0
        jmn.a  trap+1,    trap

Example Vampires

myVamp v3.7, Stepping Stone, myVamp5.4, Curse of the Undead and Carmilla are pure scanning/bombing vampires.

vamp 0.2b, vamps are back 0.2, Nosferatu, Bloodlust and Forgotten Lore II are hybrid scanning/bombing vampires.

One bite, Unpit and unpitQ are examples of bombing vampires with an airbag loop.

Request v2.0 is a self-vamping vampire.

White Mist pairs a self-vamping vampire with a binary launched imp.

Further Reading

  1. Kersten, Johannes. "Vamps are back!" Core Warrior 92 (16 May 2007).
  2. Kline, Paul. "Vampires! Bloodsucking Leeches. Snakes! Brrr. Let's talk pit-trappers." PUSH OFF 14 (16 Jun 1993).
  3. Kline, Paul. "Vampires — deadly opponents or patsies?" PUSH OFF 15 (22 Jun 1993).
  4. Lindensmith, Chris. "Pardon Me, But Your Teeth Are In My Neck." The Core War Newsletter 13 (Fall 1992): 5–8.
  5. Paulsson, Magnus. "myVamp 5.4." Core Warrior 38 (15 Jul 1996).
  6. Thomsen, Brant D. "HINTS and HELPS." The '94 Warrior 6 (18 Apr 1994).
  7. Wangsaw, Mintardjo. "Vampire Warriors." Intro to Art in '88: Paper — Stone — Scissors Trilogy KOTH.org, 1994.