User Tools

Site Tools


user:smalik3:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user:smalik3:start [2022/05/01 06:16] – Fixed minor details in Playfield and image size smalik3user: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://lab46.g7n.org/user/smalik3/start#student_expo_stem_awardbest_use_of_technology|2022 Student Expo STEM Best Use of Technology]] award!
  
 {{:user:smalik3:collectris.gif|}} {{:user:smalik3:collectris.gif|}}
Line 59: Line 61:
   
 If you are interested in seeing this move in action, it is performed in the [[https://lab46.g7n.org/user/smalik3/start#sample_gameplay|sample gameplay]] at 01:48. If you are interested in seeing this move in action, it is performed in the [[https://lab46.g7n.org/user/smalik3/start#sample_gameplay|sample gameplay]] at 01:48.
 +
 =====Underlying Game Mechanics==== =====Underlying Game Mechanics====
  
Line 89: 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), this means that when the next movement check comes around it may be a tick too early or tick too late resulting in some lag from the player's perspective. 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), this means that when the next movement check comes around it may be a tick too early or tick too late resulting in some lag from the player's perspective.
- 
  
 ====Movement Randomization (Blue/Red Blocks)==== ====Movement Randomization (Blue/Red Blocks)====
Line 95: 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: {{:user:smalik3:collectris_redblueblocks_randomization_determinant.jpg|}}+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: {{:user:smalik3:collectris_redblueblocks_randomization_determinant.jpg?600|}}
  
 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 player also contributes towards the randomness of the blue and red block placements seen in-game! 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 player also contributes towards the randomness of the blue and red block placements seen in-game!
Line 105: Line 107:
 The score and hearts used to indicate points and lives, respectively, are made from sprites. Since the sprite limit was not even close to being met for CollecTRIS, sprites were used in lieu of nametable (background) tiles in order to make working with them easier. Every tick, the score and hearts are reflected accordingly to match the point and life counters. The score and hearts used to indicate points and lives, respectively, are made from sprites. Since the sprite limit was not even close to being met for CollecTRIS, sprites were used in lieu of nametable (background) tiles in order to make working with them easier. Every tick, the score and hearts are reflected accordingly to match the point and life counters.
  
 +=====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://anchor.fm/michael-clarke5/episodes/Student-Expo-Awards-Best-Use-of-Technology-Sponsored-by-the-STEM-Division-e1i7j34/a-a7ssvcf|The Baron Interviews - Interview with Creator of CollecTRIS]] for additional coverage about CollecTRIS from its creator.
 +
 +CollecTRIS Poster:\\
 +{{:user:smalik3:collectris_poster.jpg?600|}}
 +
 +If you would love to see more from CollecTRIS or its creator, please check out the [[https://lab46.g7n.org/user/smalik3/start#resources_and_downloads|Resources and Downloads]] section.
 +
 +=====Resources and Downloads====
 +
 +[[https://lab46.g7n.org/~wedge/NES/collectris.html|Play CollecTRIS Online!]]
 +
 +[[https://lab46.g7n.org/~wedge/NES_ROMs/collectris.nes|Download CollecTRIS]]
 +
 +[[https://github.com/SockNastre/CollecTRIS|GitHub Repo]]
 +
 +[[https://www.youtube.com/watch?v=OZwwC5VfyNM|Final Project Video]]
 +
 +[[https://lab46.g7n.org/journal/spring2022/smalik3/start#nesasm_project|Project Start Timeline (Account Required)]]
 +
 +[[https://lab46.g7n.org/haas/games#class_game_projects|Other Class Game Projects]]
 +
 +[[https://erikdemaine.org/fonts/tetris/|TETRIS Font Creator]]
 +
 +====QR Codes====
 +
 +Want to check out other great games made by Computer Science students?\\
 +{{:user:smalik3:haas_games_qrcode.png?400|}}
  
 +Want a QR code that links to this page?\\
 +{{:user:smalik3:collectris_wiki_qrcode.png?400|}}
  
user/smalik3/start.1651385807.txt.gz · Last modified: 2022/05/01 06:16 by smalik3