For the purposes of this repository, a game is something that you can win or lose, while a toy is something that you can play with until you are bored. These games and toys were made with SAGE.
1. Hand-coded 2D Physics
The following toys and games use hand-coded (bespoke) physics code.
-
8-ball Pool End Game: Exact circle-to-circle and circle-to-axis collision detection and response.
-
Shapes Library: A fast and sloppy collision detection and response library for moving circles.
-
Collision Math Toy: A toy for experimenting with the Shapes Library.
-
Pinball Game: A rudimentary pinball game using the Shapes Library.
-
Ball and Spring Toy: Verlet integration for easy spring and stick implementation.
2. 2D Physics With Box2D
The following games and toys require you to install Box2D, an open-source 2D physics library.
-
Box2D Render Library: A renderer for Box2D bodies.
-
Box2D Bouncy Things Toy: Balls and boxes bouncing around without sound.
-
Box2D Joint Toy: Examples of Box2D joints without sound.
-
Box2D Cannon Game: Knock down crates with a cannon using a kludged method to play collision sounds.
-
Box2D Cannon Game with Stars: Now using collision manifolds to play sounds and generate stars at collision points.
-
Box2D Blank Game: This game really is blank, but you can use it as the basis for your own Box2D game.
-
Stroop Test Game: A game based on the Stroop test.
-
Binary Counter Toy: A gravity-fed ripple-carry counter using Physics.
-
Cannon Lullaby Toy: Cannonballs hit emitters to play a tune regardless of the cannon's position.
3. 3D Physics With Bullet Physics
The following toy requires you to install Bullet Physics, an open-source 3D physics library.
-
Bullet Physics Block Toy: Knock some blocks and other objects off the edge of a finite plane.