top of page

KeySmash Studio Projects

Quick Contributions Video
Blast Off!
July 2019 to December 2019
Unity
Programmer
https://play.google.com/store/apps/details?id=com.KeySmash.BlastOff&hl=en_US
​​Hate being grounded?  Want to enjoy a journey into outer space?  Then Blast Off! is the game for you!  Blast Off! is all about trying to get further into the atmosphere than the previous run, through the purchasing and upgrading of a variety of rockets.  Each run provides a unique experience, as there is a variety of obstacles with different falling patterns that are randomly generated as you play.  Never have another dull day as you reach for the stars with Blast Off!.
My Contributions for this project consisted of the rocket and camera movement, the height handling, the launch mechanic, the achievement handling, the highscore handling, and the settings.  The rocket movement was simply just lerping the rocket to the x-position of a finger or mouse touch, and the camera movement consisted of some basic animations for launching and being hit as well as following the y-position of the rocket.  As for the height handling, I created a basic formula that took into account the current tier of the rocket and would multiply that by a predetermined interval to provide the rocket with its height per second. The launch mechanic takes the user’s accuracy on the button push and assigns a multiplier to the determined maximum height possible with the currently selected rocket.  The achievements and highscores are very similar in the way they sort their displays, but with the achievements I had to do many checks all throughout the code for specific states to see if things had been completed, whereas with highscores I just checked at the end state of a round. Settings consisted of volumes and toggling camera shaking and vibrations.
My main takeaways from this project were the importance of organization of documentation and constant communication.  This project had lots of documentation, as only one of the five of us was a rocket specialist, and so checking specifics was often needed while working on this project.  However, there were many times where information was in an intuitive place to one person, and it would quickly get confusing.  Although the game itself is extremely basic, this project was rather large, and the need for communication and updates daily become a necessity about a quarter through the project.  People were needing to know who had done what, who was going to be doing what, and who hadn’t done what, to clear up confusions and accidental code duplication.
BlastTile.jpg
BlastBuy.jpg
BlastCustom.jpg
BlastLaunch.jpg
BlastDamage.jpg
Gameplay
Game Jam Projects

Game Jam Projects

Quick Contributions Video
Homeward Bound: A Toy's Journey
Spring 2019
Unity
Programmer
https://keysmashstudios.itch.io/homeward-bound-a-toys-journey
 
When a young boy’s favorite toy gets lost, said toy must embark on a journey to find his way back home, to his toy box.  Homeward Bound: A Toy’s Journey guides you through a young boy’s home as a toy soldier.  Each room in the house has its own obstacles to maneuver around, but as the toy completes the puzzles, his happiness becomes more apparent in the surroundings.  By the end of the journey, it becomes clear that home is where you’re happiest.
My Contributions for this project consisted of creating zones for each room and then having the name of the room fade in and out upon entering.  I also tied the zones to the gray scale of the of the screen, and with this I used PostProcessingBehavior from the Unity store to change the saturation so that as the player got closer to the correct room, the screen would get more colorful.  I created a power up that would help the player complete specific rooms.  The power up consisted of making the player glow so they could see in a dark vent.  I also did the end state.
My main takeaway from this project was learning how a game jam functions, as this was my first.  I was quick to discover that even in this small time frame that documentation and planning was extremely important.
HomewardTitle.png
HomewardLivingRoom.png
HomewardVent.png
HomewardGarage.png
HomewardGameRoom.png
HomewardRoom.png
Full Playthrough
Quick Contributions Video
Anarchy
Fall 2019
Unity
Programmer
https://keysmashstudios.itch.io/anarchy
Anarchy is a bullet hell with three enemy types that are all throughout the map waiting for the player to try to raid their camps so they can attack.  The player will encounter the special attacks of enemies that consist of lasers, fire arrows, and mass healing.  After all, why have peace when you can have Anarchy.
My contributions for this project consisted of the movement handling for both the enemies and the player.  I made the inventory for the mana and health pickups, as well as having those potions affect the player.  I developed a camp system that consisted of three different difficulties.  I would have X number of camps instantiate within the range of the tilemap, and the difficult would be determined randomly.  The difficulty of the camp set the range from the camp at which enemies would spawn, how many enemies would instantiate within that specified range, and the types of enemies that would be created.  Each camp kept track of how many enemies it had still alive, and when all the enemies of a specific camp died, the camp would be destroyed and a new one would be instantiated on the tilemap.  I also had non-camp enemies that would instantiate within the range of the tilemap.  The amount of non-camp enemies alive was being checked, and when one would die, a new one would be instantiated within the tilemap’s range.  I had every enemy drop either a mana bottle or health bottle upon dying.  Both the enemies and the player had base attacks and special attacks.  There were three types of enemies, and each type did different amounts of damage, had different color base attacks, and had different special abilities.  These abilities consisted of healing, fire arrows, and lasers.
My main takeaways from this project were using procedural generation, specifically with tile maps, and how the use of inheritance and polymophism can help improve a game.  Procedural generation of the different camps and enemy spawns saved us the timely task of having to individual place objects all throughout the scene.  On top of this, allowed for each play of the game to be different for the player.  Learning how to do this over will be helpful for me in future projects, as more games are going towards generating their objects in.   As for inheritance and polymophism, I had been taught these concepts in class before, but didn't truly understand how beneficial they were until this game.  Using these concepts allowed for me to have numerous types of enemies and be able to call their different states all together.
AnarchyHeal.png
AnarchyArrow.png
AnarchyBomb.png
Gameplay
School Projects

School Projects

Quick Contributions Video
Silent Escape
Fall 2018
Unreal
Programmer, Art, Models
https://emmstr.itch.io/silent-escape
Silent Escape is about a man suffering from schizophrenia who has set puzzles all throughout his own home.  As he has no recollection of his past, he feels the need to escape the house he is in.  Luckily, he left notes about his creations all around the house that can help guide him through the traps that are of his own making.  However, the halls are guarded by his imagined family that fills his thoughts and drives him slowly closer to insanity.  Silent Escape takes escape rooms to a whole new level with the depth of background and variety of puzzle types.
My Contributions for this project consisted of coding the majority of the game and modeling and texturing around half of the models.  For programming, I did the inventory system, all the puzzles, picking up items, interacting with non-pickupable items, and the player movement.  The different puzzles were having a light flash off and on for Morse code, opening a safe, attaching a lever to an elevator, finding and opening a door with a key, opening a bookshelf by clicking the correct book order, collecting and placing statues in a specific order to open a door, interacting with a mirror to get a bell, using the bell to have a butler open a door, using a handler to open a music box, and using a black light to discover a code on posters.
My main takeaways from this project were the difficulties of learning a new engine, its scripting system, and being C++ focused in a semester.  Unreal is a beautiful engine with many great tools.  Kennesaw State University is very C# and Unity focused, but with this project, my group wanted to move away from what was expected and learn something new.  This proved to be interesting and challenging, and it taught me to start earlier and panic often.  It required many extra hours of research and tutorial watching, as well as trying different things until something finally worked.  However, because of all the extra time put into this project, it probably was one of my greatest I had done within a semester class.
MenuSE.png
Bookcase.png
Elevator.png
Statues.png
Poster.png
Full Playthrough
Quick Contributions Video
Rumblin' Roumbas
Spring 2019
Unity
Programmer
https://keysmashstudios.itch.io/rumblin-roumbas
In a dusty and debris filled world, the vacuum racer is king.  Rumblin’ Roumbas is about a variety of different racing robot vacuum cleaners trying to be the fastest!  Each track will offer new and exciting racing elements for our vacuums to overcome and clean.  As racers complete each level, they will move forward onto a new, much dirtier level to race across.  Along with races, the player can choose to fight other vacuums in arenas, through the power of electricity zapping.  The goal is to leave the entire town completely spotless and baffled by your racing prowess.
My contributions for this project consisted of creating the dirt functionality, such as picking it up, adjusting the character speed, and dropping the dirt.  I also did the time handling of races, the lap handling of races, the end state of both racing and battles, and the battle arena AI.  I also set up the GUI and added all the sounds.    I also added controller functionality.
My main takeaways from this project were the difficulty of creating racing games and decent AI.  Keeping track of the user and the AI positions relative to the race course turned out to be much more difficult than anticipated.  It required lots of checkpoints, lots of math, and lots of debugging.  As for AI, it become quickly clear how difficult that would become to make it even somewhat realistic.  I worked on the battle arena AI and spent lots of time trying to figure out the different states they needed and when the proper time to call upon those states would be.
Menu.png
Backyard.png
LivingRoom.png
Park.png
Full Playthrough
Quick Contributions Video
Space Cadets
Spring 2019
Unity
Programmer, Designer
https://emmstr.itch.io/space-cadets
When NASA discovers a way to colonize other planets, students must be tested in their abilities to survive and thrive in outer space.  Luckily, through the Space Cadets program, students can begin this journey.  The cadets must explore every planet in the inner section of the solar system. At each location, they will be faced with a series of puzzles and activities. Through repeated completion of these tasks, the cadets will become a “Graduate” from the academy, showing NASA that the student is ready for carrying the future into this unknown
My contributions for this project were all the functionality of Earth, some of Venus, and the base GUI setup of Space Cadets.  Earth was extremely simple and just consisted of adding colliders and touch screen capabilities.  I also added the visual tutorial to the help section of Earth.  Within Venus, I did the base functionality for handling correct and incorrect answers.  I set up the Hub scene and helped a bit with Mars.  My help with Mars consisted of figuring out how to determine if a user gave the correct constellation through drawing of lines.  I added in sounds to all scenes.  I added analytics and created an analytic event that says when a person completes a level and how long they spent on it.
My main takeaways from this project were mobile development and analytics.  I had never worked on mobile games before, and this project taught me about different considerations that are needed when diving into that field.  We had to be very conscious of our art and sound size, as well as the processing power needed for certain portions of the game.  Along with that, I learned different structures that Unity has in place for handling interaction with touch screens.  This was also the first project that I had discovered Unity’s analytics system.  I was quick to add some calls into the game so we could determine levels on which users were having issues.  Adding this service also provided us with information on total downloads and daily users.
SpaceTitle.jpg
SpaceLevel1.jpg
SpaceLevel4.jpg
SpaceMenu.jpg
SpaceLevel2.jpg
SpaceLevel3.jpg
Full Playthrough
Quick Contributions Video
Ant Muncher
Fall 2019
Unity
Programmer, Designer
https://keysmashstudios.itch.io/ant-muncher
Ant Muncher takes you through the life and struggles of a regular worker ant.  In order to survive and make top marks, you must create the shortest path to the queen ant by tunneling through the dirt.  However, there’s a catch.  An ant can only travel so far before needing food to replenish its energy.  This means that you must figure out the most efficient path to get to the queen ant without running your ant to starvation.  Ant Muncher is all about finding the balance between reaching the end quickly and having enough stamina to make it there.
My contributions for this game consisted of designing and developing the levels within hill three.  I coded the movements for both the enemies and the player.  In terms of the tile maps, I worked on the generation of darker dirt over the tile mapped lower dirts and the tunneling through the dark dirt.  I also did the energy of the ant and the food pick ups.  Finally, I coded A* for determining which was the quickest path from start to end and then checked the player’s total movements at the end to determine their stars earned.
My main takeaway from this project was learning Unity’s tilemap functionality.  I had never heard of Unity’s tilemap component, but came across it after doing some research into 2D tile based games.  This functionality was a huge time saver, and allowed us to do thirty levels instead of the required six for the project.
AntMuncherTitle.jpg
AntMuncherLevelEx1.jpg
AntMuncherLevels.jpg
AntMuncherLevelEx2.jpg
Full Playthrough
bottom of page