This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
user:smalik3:start [2022/05/01 05:26] – Added headers to Pro Strategies section smalik3 | user:smalik3:start [2022/05/15 04:10] (current) – Added link to award-based section. smalik3 | ||
---|---|---|---|
Line 4: | Line 4: | ||
CollecTRIS is a TETRIS-inspired game made to run on the NES((Nintendo Entertainment System)). The goal of the game is simple: collect points and try not to lose them! If you lose five points, you lose the game! | CollecTRIS is a TETRIS-inspired game made to run on the NES((Nintendo Entertainment System)). The goal of the game is simple: collect points and try not to lose them! If you lose five points, you lose the game! | ||
+ | |||
+ | Winner of [[https:// | ||
{{: | {{: | ||
Line 22: | Line 24: | ||
====Walkthrough (Images)==== | ====Walkthrough (Images)==== | ||
- | {{: | + | {{: |
- | {{: | + | {{: |
- | {{: | + | {{: |
- | {{: | + | {{: |
... from here you repeat the process starting at image one! | ... from here you repeat the process starting at image one! | ||
Line 39: | Line 41: | ||
=====Pro Strategies===== | =====Pro Strategies===== | ||
+ | |||
+ | CollecTRIS has a couple of professional strategies that can be utilized to speed up gameplay and even help avoid the red block! Some of these strategies may be hard, while others easier. | ||
====Bottom-Corner Tuck (BCT)==== | ====Bottom-Corner Tuck (BCT)==== | ||
+ | {{: | ||
+ | {{: | ||
- | ====Top-Corner Tuck (TCT)==== | + | When a blue block (or technically red block as well, but you would not want to collect that) is placed on the top left or right corner of another already-placed tetromino you have the chance to perform what I have coined as a // |
+ | If you are interested in seeing this move in action, it is performed in the [[https:// | ||
+ | |||
+ | ====Top-Corner Tuck (TCT)==== | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | When a blue block (or technically red block as well, but you would not want to collect that) is placed on the bottom left or right corner of another already-placed tetromino you have the chance to perform what I have coined as a // | ||
+ | |||
+ | If you are interested in seeing this move in action, it is performed in the [[https:// | ||
=====Underlying Game Mechanics==== | =====Underlying Game Mechanics==== | ||
Line 55: | Line 70: | ||
Similar to other NES games, CollecTRIS uses a background in order to display more static graphics and sprites to display dynamic graphics. The background of CollecTRIS is simple and will be shown below. The nametable((One screen full of background characters, made up of 960 bytes, stored in NES Virtual RAM.)) is what creates the background. In the case of games like TETRIS, and CollecTRIS, a lot of nametable manipulation occurs in order to store tetromino blocks when they are placed. Since the NES has a sprite limit of 64 sprites on-screen at once, it is unrealistic to have all tetromino blocks on the playfield as sprites. Rather, they begin as sprites but once placed are then put into the background. | Similar to other NES games, CollecTRIS uses a background in order to display more static graphics and sprites to display dynamic graphics. The background of CollecTRIS is simple and will be shown below. The nametable((One screen full of background characters, made up of 960 bytes, stored in NES Virtual RAM.)) is what creates the background. In the case of games like TETRIS, and CollecTRIS, a lot of nametable manipulation occurs in order to store tetromino blocks when they are placed. Since the NES has a sprite limit of 64 sprites on-screen at once, it is unrealistic to have all tetromino blocks on the playfield as sprites. Rather, they begin as sprites but once placed are then put into the background. | ||
- | When using emulators such as [[https:// | + | When using emulators such as [[https:// |
{{: | {{: | ||
Line 66: | Line 81: | ||
If you watch carefully, you will notice how certain elements that are on the left screen (actual game) are not on the right screen. As described before the right screen is solely the nametable (background), | If you watch carefully, you will notice how certain elements that are on the left screen (actual game) are not on the right screen. As described before the right screen is solely the nametable (background), | ||
- | {{: | + | {{: |
When it comes to placing the tetromino inside of the playfield section of the nametable, every three ticks the game will check for a placement to be done. The [[https:// | When it comes to placing the tetromino inside of the playfield section of the nametable, every three ticks the game will check for a placement to be done. The [[https:// | ||
Line 77: | Line 92: | ||
The tick layout of the game is centered around its movement, so for every three ticks the game will check if a tetromino needs to be placed into the background... for example. Why every three ticks though? Why not every four ticks? The reason is simpler when said: if the placement of a tetromino and movement check of a tetromino occur at the same time, the movement check will lag behind. The reasoning for this is because when a tetromino is placed it skips checking for any movement (tetromino is placed so it is unnecessary), | The tick layout of the game is centered around its movement, so for every three ticks the game will check if a tetromino needs to be placed into the background... for example. Why every three ticks though? Why not every four ticks? The reason is simpler when said: if the placement of a tetromino and movement check of a tetromino occur at the same time, the movement check will lag behind. The reasoning for this is because when a tetromino is placed it skips checking for any movement (tetromino is placed so it is unnecessary), | ||
- | |||
====Movement Randomization (Blue/Red Blocks)==== | ====Movement Randomization (Blue/Red Blocks)==== | ||
Line 83: | Line 97: | ||
The blue and red blocks are moved every time a single one is collected. When a blue block is collected then both the blue and red blocks move. When a red block is collected then only the red block moves. How is that determined? Clearly, the movement is random, although at the start of the game the position is always the same. The game makes two seeds at random tick intervals, these two seeds are used as the starting point for randomly generating the positions for the red and blue blocks. | The blue and red blocks are moved every time a single one is collected. When a blue block is collected then both the blue and red blocks move. When a red block is collected then only the red block moves. How is that determined? Clearly, the movement is random, although at the start of the game the position is always the same. The game makes two seeds at random tick intervals, these two seeds are used as the starting point for randomly generating the positions for the red and blue blocks. | ||
- | The seeds for randomization are based on where the tetromino is, //and//, the number of ticks that have currently passed by (0-255). The seeds are also created at uneven tick intervals, therefore they are essentially created randomly whenever the game pleases. These factors put together result in a fairly random placement of the blue and red blocks. As stated previously, the seeds for randomization are generated based on the placement of the tetromino. This figure shows how tetromino position effects blue/red block placement: {{: | + | The seeds for randomization are based on where the tetromino is, //and//, the number of ticks that have currently passed by (0-255). The seeds are also created at uneven tick intervals, therefore they are essentially created randomly whenever the game pleases. These factors put together result in a fairly random placement of the blue and red blocks. As stated previously, the seeds for randomization are generated based on the placement of the tetromino. This figure shows how tetromino position effects blue/red block placement: {{: |
The position of the left-bottom block near the tetromino and the bottom-left block is what affects randomness. This means that alongside the computer-based randomization, | The position of the left-bottom block near the tetromino and the bottom-left block is what affects randomness. This means that alongside the computer-based randomization, | ||
Line 93: | Line 107: | ||
The score and hearts used to indicate points and lives, respectively, | The score and hearts used to indicate points and lives, respectively, | ||
+ | =====2022 Student Expo STEM Award: Best Use of Technology===== | ||
+ | |||
+ | The CollecTRIS project is proud to have won the 2022 Student Expo STEM Best Use of Technology award! This award was received as acknowledgement of technology in an incredibly useful or productive manner. | ||
+ | |||
+ | Please check out [[https:// | ||
+ | |||
+ | CollecTRIS Poster:\\ | ||
+ | {{: | ||
+ | |||
+ | If you would love to see more from CollecTRIS or its creator, please check out the [[https:// | ||
+ | |||
+ | =====Resources and Downloads==== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ====QR Codes==== | ||
+ | |||
+ | Want to check out other great games made by Computer Science students?\\ | ||
+ | {{: | ||
+ | Want a QR code that links to this page?\\ | ||
+ | {{: | ||