CoreWar is definitely one of ideal programming games (since I like assembly coding).
Not many games like it these days, unfortunately, perhaps the closest one is Zachtronics' TIS-100.
The whole project started as an attempt just to teach assembler, and the game was actually zero choice game like Snakes And Ladders, you have 5 instructions per turn, but on certain places you have to roll a dice and follow the branch: https://punkx.org/overflow/build/snakes-and-ladders.pdf
But then after watching WarGames I thought I can make something where you can just write on top of your opponent's memory.
CoreWar has very different dynamics and I think anyone who has not tried it is missing out.
At some point I thought to actually make the game real-time, as in you can move as your opponent moves, (SMP instead of time sharing like it is now, where you get context switched out in 10 moves), but it was too chaotic. Maybe with the esp32 helper it can be done and be fun.
[0] https://en.wikipedia.org/wiki/Core_War