I want to create a game similar to a variant of tetris called Not Tetris that requires the user to create rows of matching different shaped blocks that increments their score and removes a row when it is completed. It allows the user to rotate the orientation of these blocks to fit them in various locations to help acheive a full row. If the blocks pile up till the top of the screen then the game is over and the user is given the score they got and the time it took. I have played tetris before on my phone and have always found it to be a fun and interesting game that requires strategy and quick thinking. Being able to replicate this same game would give me something to do on my own and help grow my skills in understanding what it takes to build a game that I have played before.
For this project I would need to implment a physics library and the cinder openGl library to create the blocks and other elements necessary for the game to look and function well with special blocks that have varying functionalities. For this I would potentially utilize the box2d library that would help with the gravity elements of each individual block. As well as potentially incorporating sqlite to store leaderboard information and timer information that displays the leaderboard across multiple players.
The timeline for this project would start by initialy creating the board for the game and the various shaped blocks and specialty blocks with different functionality. By the second week I would implement the functionality for the physics of the block and the actual logic behind how the game works. Such as, making the rows disappear when they are full or making sure the blocks align into the correct position when it falls down. By the third week, I would implement the leaderboard and timer method making sure that the sqlite database is correctly set up and displays all the scores and times of all the players. If I finish the project early, I would try to implement a variety of game modes such as trying to get as many points in a certain amount of time or having only a single block type as the only block and trying to get as many points with that.