Game6: Physics
In Game6 you must build a game that uses physics, interpreted rather broadly.
Your goal is to start with a fork of the game6 base code and develop a new game that includes multiple dynamic objects that move in a continuous space along non-kinematic paths and interact to create emergent, gameplay-relevant complexity.
Physics introduces (at least) two challenges to your game. First, emergent behaviors are hard to tune because the things you are tuning (e.g., accelerations) have indirect effects on the overall gameplay. Second, chaotic systems are sensitive to small perturbations, so if you strive for a uniform gameplay experience across platforms, pay attention to sources of small perturbations (e.g., use a fixed update step for your physics).
What You Need To Do
- [1pt] Tell me what you are making (due before class, Thursday, October 1st) -- use this google form.
- [2pt] Turn in what you made (due before class, Tuesday, October 6th) -- use this google form.
(More on game scoring.)
How To Do It
The challenge of this assignment is understanding two new and complex libraries and integrating them with the game code.
- Fork the base6 code as a starting point.
- Develop and tune a physics.
- Fill in the missing sections in
README.mdto document your project; replacescreenshot.pngwith a screenshot of your game. (The base code is already set up to capture a screenshot whenever you press thePrintScreenkey.) - Turn in the game using the form linked above.
Extra Credit
I will award extra credit if your physics are: deterministic (+0.5pts) -- the same sequence of inputs always results in the same game state, on every platform; and/or rewindable (+0.5pts) -- players can roll back time to explore alternative sequences of inputs. To receive this credit, you must document in your README.md how I can verify these properties.