Draft:Kamatayan sa Lahat

From Esolanging
Jump to navigationJump to search

Kamatayan sa Lahat (Filipino/Tagalog for "Death for All") is a programming game and an esoteric programming language by User:AnalysisOfVariance in 2026.

Overview

There is a two-dimensional grid called the battlefield. At startup, the battlefield is initialized to zero and the factions are loaded in.

A faction is a group of fighters on the battlefield. A faction dissolves when all of the fighters belonging to it have died.

On initialization, all factions are spawned on the battlefield at a random distance of at least 1,000 cells away from each other.

Fighters are programs belonging to factions, or they can go solo if they prefer. When factions are spawned, their fighters are spawned close to their factions' spawn points. Solo fighters are spawned 1,000 cells away from other factions. The fighter programs themselves are two-dimensional and reside in a separate space from the battlefield, but can be damaged by other fighters.

When a fighter dies, its body (program) is left sitting there.

Fighter execution

A fighter has its own two-dimensional program space called its body, an instruction pointer or IP, and a stack of IEEE 754 double-precision floating-point numbers. When a fighter starts up, its IP is placed in the first non-armor non-space position facing right.

Instruction Name Description
# Armor Provides resistance to the fighter's code. However, adding more armor makes the fighter slower.
V Spike If another fighter touches this fighter and touches this spike, that fighter will be damaged.
Control flow
^ Go up Makes the fighter's IP go up.
v Go down Makes the fighter's IP go down.
< Go left Makes the fighter's IP go left.
> Go right Makes the fighter's IP go right.
x Suicide The fighter kills itself.
Fighter control
U Go up Makes the fighter go up one cell in the battlefield. This is not instantaneous; this depends on the fighter's body weight.
D Go down Makes the fighter go down one cell in the battlefield. This is not instantaneous; this depends on the fighter's body weight.
L Go left Makes the fighter go left one cell in the battlefield. This is not instantaneous; this depends on the fighter's body weight.
R Go right Makes the fighter go down one cell in the battlefield. This is not instantaneous; this depends on the fighter's body weight.
Sensing
P Position Retrieves the position of the fighter on the battlefield.
! Query point Queries the "status" of the point on the battlefield. More positive values mean an ally is near that point and more negative values mean an enemy is near that point. This fighter itself is included. Zero means neutral.

Example fighters

Target Dummy

This "fighter" can be used to bait enemies. The problem is, this needs your faction to have lots of them in order for this to be a viable strategy.

###
#O#
###

Punching Bag

This "fighter" is an iteration on the Target Dummy. This can be good for attracting lots of weak enemies to kill them in one ambush. However, it costs way more resources than the Target Dummy.

x#########
##########
##########
##########

See also