  We encode arbitrary finite impartial combinatorial games in terms of lattice
points in rational convex polyhedra. Encodings provided by these \emph{lattice
games} can be made particularly efficient for octal games, which we generalize
to \emph{squarefree games}. These additionally encompass all heap games in a
natural setting, in which the Sprague-Grundy theorem for normal play manifests
itself geometrically. We provide an algorithm to compute normal play
strategies.
  The setting of lattice games naturally allows for mis`ere play, where 0 is
declared a losing position. Lattice games also allow situations where larger
finite sets of positions are declared losing. Generating functions for sets of
winning positions provide data structures for strategies of lattice games. We
conjecture that every lattice game has a \emph{rational strategy}: a rational
generating function for its winning positions. Additionally, we conjecture that
every lattice game has an \emph{affine stratification}: a partition of its set
of winning positions into a finite disjoint union of finitely generated modules
for affine semigroups.
