This is exactly the trick one of my colleagues uses to teach Theory of Computation, a notoriously boring subject (for your average CS student). Instead of motivating reductions by blathering on about how knapsack and TSP are the same, let them choose a fun video game and show how it can be solved using integer programming or something. Students have way more fun and end up actually enjoying the proofy parts, because they have actual practical value.
Love it. I confess I learned how to build constrained ILP/MILP problems by solving equipment loadout optimality for the game Highfleet.