We had a Core War tournament in a high school programming class, about 1990, running on classic Macintosh computers. That was when I first saw how loop unrolling could speed up a program (used in the winning program).
I remember we had an LCD projector that was literally a monochrome LCD in a frame without a back that the instructor put on top of a standard overhead projector.
C-robots was another programmable game that was lots of fun, but the simulation was not as visceral as watching the programs in Core War fight inside the memory of a virtual machine.