• Corewars

    From BELKY@2:341/202 to All on Monday, August 10, 2026 13:41:14
    Hello warriors,
    VampireBBS (FidoNet 2:341/202, Madrid) is running a fully featured browser-based CoreWar arena. No client, no install ? just a browser.
    https://bbs.vampirebbs.org ? GAMES ? COREWAR

    THE SIMULATOR
    Custom Node.js MARS, written from scratch (not pMARS, not corewar.js, not any existing wrapper). Full ICWS-94 plus P-Space extensions.
    Core size: 8,000 cells
    Max cycles: 80,000 per battle
    Max processes: 8,000 per warrior
    P-Space: 500 cells per warrior (persistent across rounds)
    INSTRUCTION SET ? 19 opcodes:
    DAT MOV ADD SUB MUL DIV MOD
    JMP JMZ JMN DJN
    SEQ SNE SLT CMP
    SPL NOP
    LDP STP
    MUL, DIV, MOD, SNE and the full P-Space pair (LDP/STP) are all
    implemented. If your warriors were written for ICWS-88, they will run
    as-is, but you now have a lot more to work with.
    MODIFIERS (7): .A .B .AB .BA .F .X .I
    ADDRESSING (8): # $ * @ { < } >
    (A/B predecrement, A/B postincrement all supported)
    Parser handles labels, EQU, ORG, END, arithmetic expressions.
    Default modifiers inferred per ICWS-94 spec when omitted.
    Limit: 100 instructions per warrior.
    QUICK EXAMPLES:
    ; Imp ? one instruction, still surprisingly effective
    MOV.I $0, $1
    ; Dwarf ? classic step-5 bomber
    STEP EQU 5
    start: ADD.AB #STEP, $target
    MOV.I $target, @target
    JMP $start
    target: DAT #0, #0
    ; Multithreader ? 3 SPLs then 8-thread bombardment
    STEP EQU 13
    SPL $1
    SPL $1
    SPL $1
    start: ADD.AB #STEP, $target
    MOV.I $target, @target
    JMP $start
    target: DAT #0, #0
    ; Scanner ? detect and bomb with precision
    SCAN EQU 23
    start: SEQ.I @ptr, $ref
    MOV.I $bomb, @ptr
    ADD.AB #SCAN, $ptr
    JMP $start
    ptr: DAT.F #0, #SCAN
    ref: DAT.F #0, #0
    bomb: DAT.F #0, #0
    ; P-Space Warrior ? adapts strategy based on previous round results
    start: LDP.B $res, #0
    JMZ $lost, $res
    JMP $attack
    lost: ADD.AB #1, $step
    attack: ADD.AB @step, $target
    MOV.AB #0, @target
    JMP $attack
    target: DAT #0, #0
    step: DAT #0, #5
    res: DAT #0, #0

    GAME MODES
    Free battle ? fight any warrior on the hill
    Training ? 8 built-in AI opponents across 4 difficulty levels:
    EASY: Imp (MOV.I $0, $1 and nothing else)
    NORMAL: Dwarf (step-5 bomber)
    HARD: Multithreader (SPL x3 + 8-thread carpet bomb)
    EXPERT: Scanner (locates and bombs with surgical precision)
    + 3 bonus opponents: Coprime Dwarf (step 7), Vampire
    (injects SPL traps into rival code), Cascade (SPL
    carpet, step 11)
    Multi-round ? up to 5 rounds per match; random warrior placement
    each round with guaranteed minimum separation of 100
    cells. P-Space persists between rounds, so LDP/STP
    warriors can actually remember what happened.

    THE HILL
    Top 20 warriors ranked by Elo. Every battle updates the score live.
    Submit your warrior, fight the hill, claim a spot.

    VISUALIZATION
    Battles render cell-by-cell in real time ? you watch your warrior expand, see the collision fronts, track SPL branches spreading across the core. Frame data at 150-tick intervals; smooth enough to follow, not so smooth it hides anything.
    Warriors from the 90s KotH, Planar, or the old FidoNet CoreWar echoes will run here without modification. If you have code sitting on a backup disk somewhere, dust it off.

    FidoNet: 2:341/202 (BinkP, 24h)
    Telnet: bbs.vampirebbs.org port 23

    See you in the core.

    ---
    Saludos,
    Belky

    ---
    * Origin: VampireBBS, Madrid (2:341/202)
    --- ENiGMA 1/2 v0.5.0-beta (linux; x64; 22.23.2)
    * Origin: VampireBBS (2:341/202)