Video Game Design Foundations