Design Patterns in Game Development