For Shoot-N-Stack, we wanted to combine our favorite retro game, Tetris, with a hardcore arcade classic, Missile Command. We’ve remixed and revamped these two classic games to produce a retro-style game that is true to these games’ roots but provides a new and refreshing modern twist. The gameplay consists of the puzzle elements of Tetris combined with the precise, timing-based, and fast-paced action of missile command, a game where you have to destroy missiles by using precision accuracy to prevent them from wreaking havoc upon your city. We specifically chose these two games as we thought that replacing the classic moving and rotation controls from Tetris with precision and timing-based controls (as well as a new mechanic to destroy pieces) would be a fun new aspect to the game and make it much more enjoyable and challenging.
What It Does:
We borrowed some features from Tetris and Missile Command to make Shoot-N-Stack. The concept is simple: try to stack the falling Tetrominos in rows to clear the row and prevent them from stacking all the way to the top. The hard part is the way in which you manipulate the Tetrominos. Unlike regular Tetris, the pieces cannot be selected and translated, or rotated. Instead, we borrowed a concept from Missile Command, being the use of a projectile that must be timed and placed perfectly for the piece to move. For example, if you want to move a piece to the right, you must select the “move” ammunition to load into your turret, and then use the left turret to launch a missile in the direction of the falling Tetromino. If you time it just right, you will be able to make contact, causing the piece to move to the right (using the right turret will cause the piece to move to the left). The same idea is used to rotate the pieces, but like classic Tetris, they can only be rotated clockwise, regardless of which turret they are shot from. In addition, you are able to use the standard missile ammunition to destroy a square of a Tetromino, but be careful, there is a cooldown for missile shots, so time them well and make the most out of every shot! Once a piece reaches the floor, it can no longer be hit by any type of missile, as it will simply phase right through. Pro tip: if your aim is good enough, you can hit in between two squares to destroy both or apply the missile effect (translate or rotate) twice! Try to stay alive as long as possible and try to reach a high score by clearing as many pieces as you can before they hit the top!
How we made it:
- Unity Game Engine
- HTML 5, CSS 3, Bootstrap, Sass for the website
- Google Firebase for hosting the website
- Domain.com for our domain name (shootnstack.tech)
- Photoshop for all graphics
We created Shoot-N-Stack with the Unity game engine and used code written in C#. First, we designed the game and pointed out the key aspects of Tetris and Missile Command that we wanted to borrow and implement into our own game, which we then implemented in Unity. Our assets were split up into 4 major categories: imports, prefabs, scenes, and scripts with each of these elements having its own categories within them that we could work with. Imports were any and all assets that we did not make within the Unity game engine and contained a variety of assets such as sound files and images. Prefabs were game objects premade for use within the game and were usually made to be duplicated. The scenes category consisted of the Unity scenes that contained all of the elements that made the game functional in the first place. Things such as the turrets and tetrominoes were all put into scenes to create the game. Finally, the scripts, code that holds all of the pieces together and is the most crucial part of any game, are required to be done in C# and are intended to be used with other scripts in mind; for example, each piece can have its own script but is worthless if it cannot interact with other scripts associated with different pieces.
Challenges we ran into:
When creating games it’s very easy to get stumped on the implementation of certain functions and getting all the game objects to work with each other and we experienced our fair share of that when creating Shoot-N-Stack. One time when implementation was difficult was when we had to figure out how to stack the pieces on top of each other, now that sounds very easy but a couple of things made it very hard. Each individual block had to be separate for each tetromino as it had to be able to be destroyed. This caused an issue for grounding a tetromino that was half destroyed as all the pieces were separated. Another issue we ran into was time management as we had a pretty big scope for the game so we had to get a lot of scripts, sprites, and other assets done fairly quickly.
Accomplishments that we're proud of:
All of our members are relatively new to hackathons, and for two of us, this was a first. Given this, we are very proud of how we worked together and managed our time to complete a game in such a short period that is not only functional but is also very fun to play and is a finished product. We were able to brainstorm and piggyback off each other’s ideas to come up with a concept that we were all excited about. We set our expectations very high with Shoot-N-Stack going into this hackathon, and we believe that our game has met and even surpassed them. Things did not always go as planned, but through all the challenges we faced we managed to stay motivated and worked together to surpass them. We are not very experienced in web development, and we have never used Bootstrap or Sass before, so being able to implement it into our code for the website which we wrote from scratch was definitely another accomplishment that we are proud of.
What's next for Shoot-N-Stack:
We had a blast working on Shoot-N-Stack, and had even more fun testing and playing it! We truly believe that we struck gold with our idea and were successful in making a game that people will genuinely enjoy. The gameplay is challenging and unique, and thus we believe that the users will find joy in the challenge of mastering this new spin on their favorite retro games. We plan on continuing to work on Shoot-N-Stack after this hackathon, as we are all very proud of the work we have accomplished in only 2 days, and are excited to see what we can come up with given a longer work period. We also plan to continue to host and update Shoot-N-Stack’s website (shootnstack.tech) to ensure that it can be found and enjoyed by as many people as possible.