An exploration of anamorphisms and catamorphisms that implements a game engine