The Game
Since this is a game programming course, the goal is to build all required structures (State Machine, Sprite, Timer, Collision) to make a "game" by collecting and trading resources (Variable, Function, Array, Class) which are common coding entities. The first player to construct all structures wins the game.
Turn Phases
- Draw Phase:
- Draw one card from the deck.
- If you draw a resource card, add it to your hand.
- If you draw a setback card (e.g., “Bug”), follow its effects (e.g., lose half your resources or destroy your State Machine structure).
- Action Phase:
- Build: If you have enough resources for a structure, you can spend them to construct it. Spent resources go into the discard pile.
- Trade (if you have a trade card): Trade different resources with another player and discard the card.
- Steal (if you have a steal card): Take a structure from another player, but you skip your next turn and discard the card.
- End Phase:
- Check if you’ve built all the structures (if so, you win).
- If the deck is empty, shuffle the discard pile and use it as the new deck.
Card Types
- Resources:
- Variable < >: Used to build Sprite and Timer.
- Function (): Used to build State Machine and Collision.
- Array []: Used to build Sprite and Timer.
- Class { }: Used to build State Machine and Collision.
- Setbacks:
- Bug: Lose half your resources or destroy your State Machine.
- Alpha Male: Lose half your resources or destroy your Sprite.
- Procrastination: Lose half your resources or destroy your Timer.
- Self-Collision: Lose half your resources or destroy your Collision.
- Actions:
- Trade Cards: Allows players to exchange different resources with one another. Discard after use.
- Steal Cards: Take a structure from another player, but lose your next turn. Discard after use.
- Nope Cards: Stop any action from any player in any phase. This could be someone stealing from you, two other players trading, or if you draw a setback that you don't want to deal with. Discard after use.
Seeding Trade/Steal Cards via Feedback
- Peer Feedback: Before playing, students provide feedback on peer code. Based on the quality of feedback (assessed via the code review taxonomy), players are awarded trade and steal cards.
- High-quality feedback results in more trade cards.
- Excellent feedback may grant a steal card.
This ties the gameplay to their code review skills, reinforcing the importance of good feedback.
Icons from https://remixicon.com under https://github.com/Remix-Design/remixicon/blob/master/License
Short Rules
Objective
Build all four structures (State Machine, Sprite, Timer, Collision) to win.
Setup
- Shuffle the resource and setback cards (NOT the structure or special cards) into a single deck, and place it in the middle.
- Place the 4 structure piles, one for each structure, in the middle.
- Each player draws 3 resource cards from the deck. If you draw a setback, shuffle it back into the deck.
- Each player draws the special cards outlined on the right.
Turn Phases
- Actions: Take as many actions as you want each turn. Options:
- Use the resources from your hand to build a structure. Place the structure in front of you and discard the resources.
- Use a trade card to exchange resources with another player. Discard after use.
- Use a steal card to take a structure from another player. Discard after use, and skip your next turn.
- End Turn: Draw one card from the deck to end your turn. If the card is a:
- Resource: Add it to your hand.
- Setback: Resolve it immediately, or use a nope card to cancel it. If hand size is odd, halve and round down.
At any point in the game, any player may use a nope card to stop any action (build structure, steal, trade, or setback). Discard after use. If noping a build, the builder must discard the resources they would have used to build the structure.