The focus of implementing a 3d version of Tetris was to get used to dealing with coordinates in 3d space, using OpenGL and adding different shadding schemes. The graphical user interface has an ambient/diffuse/specular component that the user can change in my implementation. One of the trickier aspects I found while implementing 3d Tetris was not only dealing with compound rotations of a single piece around the x-axis, y-axis and z-axis but also properly animating those rotations.
In terms of gameplay, adding a 3rd dimension to Tetris takes away more from the game than it does add to it. The game becomes frustratingly complex and regardless of how you position the camera, putting pieces where you want them to be becomes an extremely difficult affair. It’s also ridiculously hard to clear 4 planes at once!