Welcome to Wizard-ASM

The Spell Slinging Programming Battle Game

Sign up below to get started





Game is in pre-alpha

Tutorial

Please read below to understand the game


Wizard-ASM is meant to get you thinking like a programmer


Plan ahead

In most games you would control your character in real time, moving out of the way when you see an attack coming at you, or shooting a fireball at your enemy when you see them in the open. However, in Wizard-ASM everything is planned before the battle even starts. Every action, every reaction must be considered before the battle even starts.

You must be specific

This is all determined through the battle program. The battle program is the meat of the game. It is a list of instructions that your wizard will follow exactly. This is supposed to mirror programming in real life, a programmer writes a program that a computer will execute exactly as its written. You are the programmer and the wizard is the computer. Computers (and wizards) will only do exactly as they're told. You have to be extremely specific if you want them to do what you want. If you want your wizard to shoot lightning, you have to tell it which direction. If you want your wizard to teleport, you have to tell it exactly where to teleport to.

Don't let your wizard run out of instructions

You also can't just let the wizard decide what to do if it runs out of instructions. You must ensure that your battle program loops in some way (you can learn how in the create tab) so that the wizard will always have an instruction from you to follow. Should the wizard run out of instructions, it will die. This is known as 'PTRDEATH'

Battle Program Example Step by Step


Battle Program in Detail

This simple program to the right will shoot lightning in 4 directions and repeat while keeping the right amount of mana (your mana starts at 100)

The text in grey would not be part of an actual battle program

All instructions and their arguments are explained in detail in the 'Create' tab

Example Program

  • RECHARGE 100 <- Recharge 100 mana to get mana to 200
  • LIGHTNING N <- Shoot lightning north
  • LIGHTNING S <- Shoot lightning south
  • RECHARGE 200 <- Recharge 200 mana
  • LIGHTNING E <- Shoot lightning east
  • LIGHTNING W <- Shoot lightning west
  • RECHARGE 200 <- Recharge 200 mana
  • JUMP -6 <- Jump back up to the 'LIGHTNING N'
  • The Arena


    One Big 16x16 Square

    The game takes place in a 16x16 grid where you and your opponent will receive random spawns

    The arena rows and columns start at the top left and end at the bottom right
    You will also notice that rows and columns start at zero, not one. Thats because computers in real life start counting at zero

    TL;DR

    • Eliminate the enemy before they eliminate you
    • Start at 100 mana
    • Plan all your spells and actions by making a battle program
    • Make sure your battle program loops in some way or you will die from 'PTRDEATH'
    • Manage your mana wisely or you will die from too much or not enough mana
    • The game will end if nobody dies after 2000 turns

    Log in or register, then head over to the 'Create' tab to learn about the spells available to you

    Get Started Today!

    Fret not! For your spells are all you need. With them you can summon lava, shoot lightning, teleport, and magically deduce the location of your opponent. Rely on your spells and you will be a victor in The Arena.


    Create a Battle Program

    After creating your program, head over to the 'Replays' tab to duel another player

    {{ msg }}

    Scroll Down For Instructions




    Game Instructions In Detail

    Example Template

    This is how all following instructions will be structured

    Instruction Name argument 1 argument 2 ...

    The name of the instruction will be listed, followed by a number of arguments that must be provided. Arguments take the form of a number or a single letter (or two).

    Mana Cost: X

    Spells and Actions

    Magma arg1 arg2

    Summons an explosion of magma in a 3x3 square centered on target location

    Arg 1: A number (0-15); The row you want to target

    Arg 2: A number (0-15); The column you want to target

    Alternatively, you can put -1 for both arguments to target a random location

    Mana Cost: 20

    Example Usage:
    MAGMA 1 5

    Acid arg1 arg2

    Summons a puddle of acid on target location. The puddle stays on the ground indefinitely

    Arg 1: A number (0-15); The row you want to target

    Arg 2: A number (0-15); The column you want to target

    Alternatively, you can put -1 for both arguments to target a random location

    Mana Cost: 10

    Example Usage:
    ACID 0 3

    Move arg1

    Move a single tile in the chosen direction

    Arg 1: Cardinal directions represented by the following: N NE NW S SE SW E W

    Mana Cost: 0

    Example Usage:
    MOVE NE

    Teleport arg1 arg2

    Teleport to target location

    Arg 1: A number (0-15); The row you want to target

    Arg 2: A number (0-15); The column you want to target

    Alternatively, you can put -1 for both arguments to teleport to a random location

    Mana Cost: 100

    Example Usage:
    TELEPORT 5 9

    Shield arg1

    Apply a magical shield to protect from certain damage types

    Arg 1: 1 for fire; 2 for lightning; 3 for acid

    Mana Cost: 10

    Example Usage:
    SHIELD 2

    Wait

    Simply wait and do nothing

    Mana Cost: 0

    Example Usage:
    WAIT

    Recharge arg1

    Recharge your mana by the chosen amount

    Arg 1: A number (0-200)

    Running out of mana while trying to cast a spell will result in a loss, however having too much mana will result in a loss due to mana overcharge. Think wisely about how much mana you actually need!

    Mana Cost: 0

    Example Usage:
    RECHARGE 200

    Divination arg1

    Hone in on the location of the enemy player

    Arg 1: a number (0-5)

    0 will give an exact location of the enemy, while each subsequent number will give a location with a margin of error equal to that number

    Divination will save the coordinates (row, column) in your crystal ball, which you can access with the CRYSTAL instruction

    Mana Cost:
    200 at level 0
    190 at level 1
    180 at level 2
    ...
    150 at level 5

    Example Usage:
    DIVINATION 0

    Crystal arg1

    Use on an instruction that takes a row, column coordinates such as MAGMA

    Crystal will take the numbers saved in your crystal ball and overwrite the arguments of the instruction that arg1 points to

    Arg 1: a number pointing to the instruction you want to modify

    Mana Cost: 0

    Example Usage:

    Lets say your crystal ball contains: 5, 8 and you have the following battle program:

    MAGMA 0 0
    CRYSTAL -1

    After the CRYSTAL instruction is run, MAGMA will now look like this:
    MAGMA 5 8

    Lightning arg1

    Shoot lightning in a straight line in the chosen direction

    Arg 1: Cardinal directions represented by the following: N NE NW S SE SW E W

    Mana Cost: 100

    Example Usage:
    LIGHTNING NE

    Logical Instructions

    Sloop arg1

    Start a loop that will run a specified number of times

    Arg 1: A number

    NOTE! Nested loops using Sloop and Eloop is not currently supported

    Mana Cost: 0

    Example Usage:
    SLOOP 10
    This will signify the start of a loop that will run 10 times

    Eloop

    Paired with an Sloop instruction. This will specify the end of your loop and will signal the program reader to go back up to your Sloop instruction

    Mana Cost: 0

    Example Usage:
    ELOOP

    Jump arg1

    This will tell the program reader to go back or forward a specified number of instructions in your program

    Arg 1: A number (positive or negative), the amount of instructions you would like to jump forward or backward

    Mana Cost: 0

    Example Usage:
    MAGMA 0 0
    RECHARGE 20
    JUMP -2

    `JUMP -2` tells the game to go back up to the MAGMA instruction which is two positions above the JUMP instruction in the battle program

    Jump is essential for a successful battle program. If you run out of instructions the game will try to read a non-existant instruction and you will die.
    This is know as a PTRDEATH. If you see this in your death messages it means you ran out of instructions to give the game
    Use jump to ensure the game doesn't run out of instructions to execute from your program

    Premium Spells

    PowerWordKill™

    Instantly kill your opponent

    Mana Cost: 1

    $9.99

    Thank you for your purchase. Please use this power responsibly.

    Wish™

    Get anything you wish for

    Mana Cost: 200

    $15.99

    Thank you for your purchase. Please use this power responsibly.

    Its time to duel

    Duel your friend or a random person


    Match Replay

    Turn: {{ frameToDisplay.Count }}

    {{ whoami }} vs {{ opp }}


    {{ cell }}

    Player: {{ frameToDisplay.PlayerName }}
    Action: {{ frameToDisplay.Action }} {{ frameToDisplay.Args }}
    Mana: {{ frameToDisplay.Mana }}

    Current Opponent: {{ opp }}


    User not found
    No username provided
    Error encountered with your username. Please try signing in again
    You have no Battle Program. Please go to the 'Create' tab and make one
    Enemy has no Battle Program. Please tell them to make one in the 'Create' tab


    Winner: {{ currentReplayInfoDisplay.Winner }}
    Loser: {{ currentReplayInfoDisplay.Loser }}
    Cause of Death: {{ currentReplayInfoDisplay.DeathMsg }}