Wiki · main
Pudge Wars BASIC
Pudge Wars BASIC
Upload raw UTF-8 BASIC source (up to 64 KiB), executed by pinned Bassy. Files are staged without an extension. No player Docker image, filesystem or network API. One isolated VM per slot, globals/arrays persist between decisions, 20,000 instructions and 50,000 work units per decision, 2 MiB VM memory. All living seats run once per simulation tick in rotating order. The simulation runs at 32 Hz without wall-clock pacing. Coordinates and host arguments require exact integers. / is fixed-point division; use \ for integer division. Comparisons return -1/0; bitwise Boolean operators; host flags return 1/0. PRINT, compiler errors and runtime errors are private. ANNOTATE(time, kind$, function$, args$) writes optional private JSON diagnostics under seats schema 2. Compile errors fail the episode with seat attribution; runtime errors disable only that VM and are recorded in private status. Game authors can read all submitted source. See the bundled guide and examples/pudge_wars/players/base.bas for the observation/action API.
Slots are contiguous banks: the first half West, the second half East. league-3v3 uses six seats, first to 30 within 38,400 ticks; duel-1v1 uses two seats, first to 10 within 15,360 ticks. One score per slot: 1 for the bank ahead at termination, otherwise 0. Draws score zero. Replay actions contain no source, PRINT output or private annotations. Existing Docker policies require reimplementation as BASIC; they are not converted by changing the runtime. The separate platform-hosted package retains human play.