Using Box2D
As previously said, Box2D is a physics engine. It has a lot of features, but the most important for the project are the following (taken from the Box2D documentation):
- Collision: This functionality is very interesting as it allows our tetrimino to interact with each other
- Continuous collision detection
- Rigid bodies (convex polygons and circles)
- Multiple shapes per body
- Physics: This functionality will allow a piece to fall down and more
- Continuous physics with the time of impact solver
- Joint limits, motors, and friction
- Fairly accurate reaction forces/impulses
As you can see, Box2D provides all that we need in order to build our game. There are a lot of other features usable with this engine, but they don't interest us right now so I will not describe them in detail. However, if you are interested, you can take a look at the official website for more details on the Box2D features (http://box2d.org/about/).
It's important to note that Box2D uses meters, kilograms, seconds, and...