Core War es un juego de programación en donde combaten entre sí programas escritos en un lenguaje similar al ensamblador con el objetivo de ocupar toda la memoria de la máquina eliminando así a los oponentes.
El primer sistema de este tipo se denominó Redcode así como el lenguaje empleado.
"Core" (núcleo, en inglés) hace referencia a la memoria de núcleos magnéticos que se utilizaba en los ordenadores antes de la aparición de la memoria RAM. Los programas en lucha, denominados guerreros son ensamblados y ejecutados en multitarea por un programa llamado Memory Array Redcode Simulator (o MARS).
El primer Core War fue idea de Victor Vyssotsky, Robert Morris Sr. que escribieron un programa llamado "Darwin" en 1960. En 1984, A. K. Dewdney y D. G. Jones de Scientific American retomaron la idea y la popularizaron en Core War Guidelines. Se formó la International Core War Society (ICWS) que fueron actualizando las reglas entre 1984 y 1988.
Los guerreros combinan 3 estrategias fundamentales que, por analogía con el juego chino, se les denomina Piedra, papel y tijeras , aunque los programadores tienen plena libertad de programarlos:
Esta estrategia vence a piedra pero pierde ante tijeras gracias a su gran capacidad de supervivencia aunque tienen una cierta tendencia al empate.
Esta estrategia vence a tijeras pero pierde ante papel.
Esta estrategia generalmente vence al papel y pierde contra piedra, puesto que pierde tiempo atacando las posiciones de memoria alteradas por este último.
Generalmente se combina con otras estrategias a fin de aumentar las posibilidades de supervivencia.