Conway’s game of Life may be mathematically interesting, but it is not what most people would consider a real game. So let’s take a look at another product of the 70’s, the arcade game Snake. This post walks through a complete, compile time implementation of a Snake game using C++ template metaprogramming. We’ll start by implementing a basic list and grid, before moving on to encode the game rules