Image from the game Minecraft

Final Projects

These are videos of the final projects for CMSC 425, Spring 2016. The ordering is random.


Unity Skate
by Greg Rubenstein


Unity Skate took major inspiration from the Tony Hawk Pro Skater series. Tony Hawk's smooth physics and engaging combo system allows the player to play creatively with a high skill ceiling. Mastering the combo system is extremely rewarding and I aimed to capture the arcade style of Tony Hawk. Creating the core gameplay elements revolved around developing custom physics to make performing combos feel natural and fun for the player. This proved to be a major challenge but I found success, especially in my grind system that was modular and easily scalable for the entire environment. Currently there is one level playable and it's already a blast to play and try and beat your previous high score. Each level has a set of objectives for the player to accomplish in a set time of two minutes that range from getting a high score to gathering certain objects.


Emottie: The Emotional Witch
by Jacqueline Chen


Emottie, the emotional witch, is a game about a young witch mastering her emotions. You play as Emottie in this first-person 3D game. By controlling your emotions, you can manipulate the environment and solve puzzles to complete levels. Each level has a different trick to it, and many require multiple emotions to solve. Sometimes the effects on the environment won't be entirely obvious. The game focuses on exploration and problem-solving in order to reach the peace star at the end of each stage, helping yourself find inner peace.


Spaceo Kart
by Seth Abrams and Andrew Dallas


Spaceo Kart is a racing game inspired by Mario Kart, an all-time classic. The game currently features two levels, one flat and with a few turns, and one in a figure-eight shape. Spaceo Kart employs a hovercraft as the vehicle, and uses some clever AI to make the game fun and competitive. Both the main player and the NPCs can navigate through the course, pick up powerups (both speed boosts and throwable watermelons), and use those powerups to try to gain an advantage. The NPCs employ a navigation system that involves some random error; however, they do travel faster than the player, so you have to be on top of your game to win.


The Friendly UFO
by Claire Chang


The Friendly UFO is an endless 2D side-scroller game where the player is the UFO. The goal is to collect as many specimens as possible while fighting government aircraft. Each specimen collected will increase the player's score. As the score increases, the number and variety of enemies will also increase. Special specimens such as unicorns and dinosaurs should be collected to gain health and other power-ups. The unicorn will give the player a shield while the dinosaur will increase the player's fire rate and damage. Try to stay alive as long as you can!


Meteor Madness
by Joshua Berge


A two-dimensional tower defense styled game, Meteor Madness pits the player against endless waves of relentless meteors. Armed with glowing lasers, the player not only has to protect his own life, but the very earth he walks on. In order to support its infinite wave design, I have coded algorithms to handle the particulars of each incoming wave, including the spawn positions, times, and number. So the real question is not if you can stave off the storm, but for how long. Visual assets were created entirely by myself in Photoshop Creative Cloud, with other necessary game assets developed with C# scripts and the Unity Engine.


Caravan Heroes
by Joseph Brosnihan


Caravan Heroes is a single-player dungeon exploration, turn-based strategy game for Android. The player is a merchant that commanding a team of heroes to explore dungeons and plunder treasure. The team travels across the lands between random procedurally generated dungeons in a caravan. Within each dungeon, the team of heroes move between rooms filled with monsters, traps, and treasure. The main attractions of the game are its art style and randomly generated content.

This game is written in Java using Android's native OpenGLES bindings. The biggest development challenges have been implementing the game's graphics natively on Android's platform (dealing with resource constraints and platform quirks) and randomly generating rooms well. The next steps are to allow heroes to travel between dungeons and to implement an inventory system.


Deja Boom
by James Collins


Deja Boom is a 3D puzzle game in which you create clones to help you defuse a bomb within a certain time limit. You must avoid and/or deactivate walls of lightning while maneuvering around the play space to reach your end goal.


Lost in Space
by Daniel Cha, Enoch Hsiao, and Hae Lee


Lost in Space revolves around the player controlling an astronaut wandering in space. The astronaut is controller by the arrow keys and it is based on a rotating function and thrust to go forward. The objective is to survive as long a possible and collect fuel pick ups in order to continue moving. If you run out of fuel or hit asteroid until you lose health you lose the game and die. All the assets were created by ourselves.


There's No Sound in Space
by Charlie Parker and Ivan Petrov


There's No Sound in Space is a space-themed tower defense game, where the objective is to kill all enemies before they reach the end of the path, marked by a red line. The player is given an initial amount of money to use for purchasing towers, and earns more as he/she kills enemies.

There are 4 types of towers, each with 3 upgrade levels. The green/blue planet-shaped towers shoot a high-damage bullet, but not very often. The gray moon-shaped towers shoot a low-damage bullet, at a high rate. The blue/purple galaxy-shaped towers create a smoke effect that damages all enemies within a certain radius. The yellow/orange sun-shaped towers shoot a bullet that slows down all areas within a certain radius for some time. Each tower can be upgraded to a second and third level. An upgraded tower is simply a better version of the current tower: more damage, faster rate of fire, or longer lasting effect.

There are 6 enemies. The small yellow ones have low health, but fast speed. The blue ones have average health and average speed. The white ones have a lot of health, but low speed. The red one is a healer: it will periodically heal enemies within a certain radius. The black one is a speeder: it will periodically speed up enemies within a certain radius. The green one is a splitter: when it dies, it spawns 2 small enemies.


Hero's Test
by Michael Ip


Hero's Test is a side-scrolling 2D game. The character attempts to achieve a high score by punching poop off of the arena stage. The character can jump, double-jump and fire projectiles in a straight direction in order to achieve his objective. The poop will chase the player and attempt to push him off the stage, killing him and resetting his score. Built-in cheats include: M to increase punch strength, N to decrease, P to turn on/off the poop spawner.


Chipotle Keyboard
by Michael Younkin and Philip Romano


In this game, the player controls the actions of a Chipotle worker by quickly and correctly typing English words. It is more difficult than one might expect because the vocabulary includes all known English words, including zingers like "superhepradic" and "ornithopter"! This will throw the sharpest keyboardist for a loop!

The game features a fully-animated Chipotle employee along with a selection of ingredients straight from your favorite burrito supplier!

Another feature is a scaling difficulty system, where players must complete a number of words within a time limit that gets shorter on each level. This makes sure players of all typing prowess are challenged!


TurnAround
by Xue Li


TurnAround is a spherical maze game built in a 3D platform. In this game, the player is required to start from a point of the sphere, walk along the sphere surface, avoid the walls of the maze, and reach the destination on the other side of the sphere. Four maze maps with different complexity are randomly generated and provided to users. During the maze solving, users can use arrow keys to move forward, backward, left and right relatively to the camera. Try your best to solve the mazes as soon as possible!


Cat Cannon
by Thomas Lee, Maria Furman, and Joan Zhang


Inspired by cute cats from all around the world, Cat Cannon is a simple side-scrolling platformer where you (surprise!) get to jump from platform to platform in the form of a cute, cuddly cat. The goal of the game is to get the magical bowl of catnip, which is unfortunately located out of the poor cats reach (the horror)! The game consists of three levels (as we had limited development time), although ideally it would have more. The first two levels are basic training levels that don't contain all possible items and enemies, while the third level is more full-fledged and complex than the other two. The game contains three different types of items, each with differing effects. The watermelon slice puts the cat into a powered up state, the yarn distracts the cat and prevents it from moving, and the catnip allows the player to successfully win the game and continue on to the next level (if there is one).

In addition to these items, the game contains two different types of enemies. The first one is a black blob with spikes that extend and contract as it floats up and down on the game screen (you may recognize this character if you're familiar with Studio Ghibli films!), and the second one is a simple green slime that moves back and forth across a single platform. When the cat touches either one of these enemies, it loses HP, and if the cat loses all of its HP, the game will be lost. It is also possible to lose the game by falling off one of the platforms. The player can destroy the enemies by shooting at them using a cat projectile (hence the name, Cat Cannon).

All of the sprites, backgrounds, and images in the game were drawn by hand. Technical challenges included properly creating and timing the animations and state transitions, ensuring the cat behaved as realistically as possible (each of the feet has circle colliders for the purpose of having a more natural movement pattern), and dealing with various camera movement issues.


Alien Escape
by Kyle Velez


Alien Escape is a simple 2D platformer where you play as a robot trying to escape an alien invasion. The main tool the player has is a set of jet boots with a limited fuel supply that allow the player to scale tall obstacles and prevent themselves from falling off the level. Try to make it through and escape from the aliens, but watch your step. Not all of the platforms are as sturdy as they may seem.


Stay Frosty
by Joseph Wu


Stay Frosty is a top down "dungeon crawler" type video game. The player attempts to navigate to the end of the level while battling and maneuvering around enemy units. With the clever use of obstacles as cover, the player can avoid enemy fire or choose to fire back with his snowballs. Laid out across the level are also pick ups to help the player recover his frost. The game features appealing art work with an emphasis on sprite animation. Animation was built with Unity's animation interface. Projectile physics, collision interactions, and targeting AI was coded in C#. This game was built in Unity 5.3.


Physball
by Austin Weed


Physball is a sandbox physics simulator game that uses small ball shaped objects to represent elements. Each element has its own properties and reacts with other elements in unique ways. Experiment with different combinations to get different reactions.


Out Of Time
by Andrew Cleary and George Cleary


Top-down 2-d adventure game. Unique mechanic that allows the player to queue up actions/inputs in a paused game state then after the input period the character executes the actions popping them off a stack. This mechanic is a type of a turn-based system which allows the player to buffer some moves per Input Turn and on Move Turn advance the game-state the specified amount of turns, executing the actions of the player, executing the actions of the enemy's AI, and advancing any non-player elements ahead in their cycles (fireballs). Grid-Based map with enemies with predictable AI's that you fight so that you can anticipate their movements/actions and queue up a set of actions that will defeat them.

Kill all the enemies and go down the ladder to advance to the next level, where it starts again, only now its harder with more enemies. How deep can you make it?


Chaser
by Shyam Patel, Maximilian Tatiefo, and Eric Shiang


The objective of the game is for the player to chase the horse. The horse runs much faster than the player but pauses from time to time. The player must use strategy with the map and powerups to get to the horse. The player must stand next to the horse for 5 seconds to win.


M-Fighters
by Dachen Zhao


M-Fighters is a basic 2d platform fighting game. It's a 2 player game where the main objective is to knock the opponent off of the stage. There is the basic movement and jump for each character and 3 attacks you can do, a short attack, a long attack, and shield. These 3 moves are sort of like rock paper scissors in that they counter each other. Shield stuns a player using long attack. Long attack out-ranges short attack. Short attack goes through the shield. Each time a player is hit, their counter goes up and the knock-back of attacks against them increases making it easier to knock them off the stage.


GraviT Block
by Andres Toro


GraviT Block is a puzzle game which follows a cuboid player. This player is presented with two win conditions within the levels he's trapped in. Either find all orbs in the level or reach the end of the level to hopefully move closer to the end of his journey.


Mice Maze
by Ezra Schwartz


Mice Maze is a 2D puzzle game programmed with Unity. In the game, there are two mice, colored red and green, that need to navigate the maze so they can both reach the cheese. The maze consists of a grid of colored squares. However, each mouse can only walk on the squares that match his color. To help the mice out, there are buttons scattered throughout the maze, and when a mouse steps on these buttons, some of the squares on the grid change color.

The user playing the game can switch back and forth between the two mice at any point. There are currently three levels.


Echo
by Alexander Measday


Welcome to "Echo", a proof-of-concept project designed to produce a fully-realized, explorable environment. Tread lightly as you descend into the lighthouse, for a cave of various puzzles awaits you! After solving each puzzle, a door will unlock in the center of the cave, allowing you to complete your adventure.


The Adventures of Li'l Dot
by Adeseye Afe, Brandon Weber, and Vickie Wong


Help Li'l Dot progress through the various stages in hopes of returning back to her former self!! Teleporting throughout levels! Hovering over obstacles! Shooting at all the enemies! Watching out for the spikes! Can Li'l Dot make it to the end alive?


Subway Supervisor
by Joel Samelson


Experience the trials and thrills of urban planning with Subway Supervisor! Subway Supervisor is a single-player top-down strategy game simulating the development of a mass transit system. You, as the planner, have to create and maintain a system to handle the ever-growing number of passengers. The goal is to keep your system running for as long as possible, delivering the greatest number of passengers to their destinations. You lose when enough passengers complain, thereby dropping your satisfaction rate, so that the city shuts you down.

This game was created in Unity 5.3. It features detailed interactions between actors in the scenes, various time mechanics to control passenger satisfaction and spawn rate, and a path-finding algorithm for passengers to determine the best train route to their destinations.


#Jump
by Daniel McLaughlin


#Jump is a game where the player traverses a randomly plotted platforming experience, which uses Twitter to instantiate the experience. The player can pick up "Tweets" and read them as they play the very same level that was created by these social media articles. The game uses the python twitter library, along with Unity, to deliver the full experience.


Cell Defense
by Joseph Homick


Cell Defense is a short RTS experience on the microscopic level. You take control of a single cell that can split into more cells to help clear the tasks on each stage. Eat smaller cells, take down larger ones with your antibiotics, and earn the gold medal on each stage!

Cell Defense was written in Unity using only the default Unity components and sprites made from scratch using Paint.NET.

A step-by-step tutorial will teach players to consume food to provide their cells with energy, which can then be used to split into more cells or launch antibiotics. Players can command their cells to move to particular locations in which to plan out attacks against larger cells, or instead just let their cells wander around randomly in a microscopic clump.

Players can beat the game by defeating the boss cell, and then go for completion by collecting the gold medal times on each stage. There are also silver and bronze medal times as well.


Breeze Battles
by Will Beckman


Breeze Battles is a local multiplayer shooter in which the objective of the game is to shoot the other player off of the map. Instead of using bullets like in traditional FPSs, characters in Breeze Battles shoot "wind" forces at their enemies, blowing them away. The game ends once one of the players loses all of their lives. Respawn points are distributed evenly around the map and are chosen based on proximity from the enemy player and some random chance.

Breeze Battles was made with Unity3d, and the character model was made, rigged, and animated using Blender. The game uses two Xbox360 controllers as input.


PuzzleTown
by Justin Miller


PuzzleTown is a first person shooter in which the player solves some very simple puzzles by throwing balls at targets, other balls, and monkeys. The player can move around by blinking, which teleports them a short distance. Blinking and shooting are both necessary to complete the game. There are four levels. This game is inspired by Portal, which is also a first person puzzle game.


BounceVR
by Matthew Demers


BounceVR is a virtual reality game developed using Unity3D which immerses the user by combining head tracking, hand tracking, and accurately spatialized audio. The game requires a Leap Motion controller mounted on a head mounted display to track the user's hands. It uses the Realspace3D audio engine to make the audio realistically reflect off the walls and spatialize so the user can pinpoint exactly where the sound came from.

In the game, the player must stop the balls from hitting their shield. They can move a paddle by pointing with their right hand, and attract the balls to the paddle by making a fist with their left hand. The player gains points whenever the ball destroys a block, and loses points when the ball hits their shield. If the ball hits a green block, it will spawn a new ball.


Super Minigolf Extravaganza!
by Eric Lyness


Super Minigolf Extravaganza is a 3D game of mini golf. Up to 4 players can play a couple of holes of fun, relaxing, and enjoyable mini golf. Work your way the course to see if you can have the lowest number of strokes!

The game was made entirely in the Unity engine with some of the assets being imported from the Unity store. There are several obstacles that can impede the path of the player such as fire, mud, and of course the classic windmill. Features of interest include the camera that is able to rotate around the ball and when the player goes to shoot, a force is applied in the direction it is facing. In addition, the camera transitions between players in a smooth manner allowing the game to feel nice and seamless. Managing the various states in which the game is in (waiting for first click, swinging the meter, ball is in motion, and transitioning the camera) made for a particularly daunting challenge in designing the game.


Robbery: The Card Game
by Ryan Dorson


Robbery is a card game I learned via word of mouth. My friend, who taught the game to me 5 years ago, learned it from another friend who learned to play it in Pakistan. Playing the game is fairly easy. You start the game with 4 cards. On your turn, you draw from the deck so that you have 5 cards in your hand. If any of your hand cards have the same value as cards on the board or in the opponent's vault, then you can put all of those cards into your vault. You then draw so that you have 5 cards again and repeat. You may discard 1 card from your hand to end your turn. Once the deck runs out, you do not draw during your turn. The game ends once both players have no cards in their hands. You then count up your points: 5 points for cards with value 2-7, 10 points for cards with value 8-K, and 20 points for Aces.


Rogue with Friends
by Kevin Harrison, Nirmal Patel, and Brendan Rowan


Rogue with Friends is a 2D, real-time, multiplayer rogue-like.

The game world is a series of procedurally generated floors, rendered as a 2D scrolling field of square tiles with sprite-based objects on them. The objects consist of entities (including both players controlled by humans and enemies controlled by AI) and structures (such as health and damage powerups).

The goal of the game is to cooperatively reach the bottom floor of the dungeon to acquire the Amulet of Yendor. Along the way, players encounter ferocious monsters and helpful items. They will level up and increase their skills. Players play alone or together in the same dungeon in groups of 2-4. This is innovative in that real-time, multiplayer rogue-likes are either rare or nonexistent.


TIC atTACk
by Joseph Dong


A 3D survival game where you try to score the highest amount of points possible. There are four types of enemies: the orange (low), the blue (mid), the red (high), and the white (impossible). And each type of enemy gives you a certain amount of points. The enemies will follow you, but will not actually catch up to you unless you stand still for a long period of time. However, there will constantly be 100 enemies on the map all moving towards you. When you kill an enemy, another one randomly spawns on the map. Ideally, if you last long enough, you will be chased by 100 impossible to kill enemies.


Card Auction
by Bryan Toth


Card Auction is a 2D card game which combines standard card game concepts with the idea of an auction and bidding. Instead of drawing your cards, you bid on them individually, seeing lots of five cards at a time. With a small deck of 20 (Tens, Jacks, Queens, Kings, and Aces of each suit), the game is over quickly, but there can be quite a lot of strategy involved.

Each card you buy provides you points, from a measly one point to an amazing 42 points, based on how it contributes to X-of-a-Kind and Straights. In addition, every six coins is worth one point, so be careful the bid is worth it!

You play against the computer, and the bids on each card are displayed at the end of the round along with the winners. The game shows your score and coins on hand while also allowing you to check the cards you and your opponent have bought so far. If you've forgotten the rules, just pause and check them out.

The rules were created, play-tested, modified, and balanced by Bryan Toth, and this is the first time that the game has gone from being run by a human to being run by a computer. In the future, the full rule-set including a full deck of cards and extra mechanics will be added, alongside networking for multiplayer capability, but those are still in the working.


The Restless
by Dustin Fries


The Restless is a turn based strategy game that pits a team of humans against a horde of zombies. The humans can move further in a turn,attack more often, and attack from range. However they must spend stamina to do so and perform worse when out of stamina. Additionally, you can choose where to shoot the zombie tactically. Shooting for the head is hard to hit, but an instant kill, or shooting a zombie in the leg will additionally slow it down. The zombie traits include greater numbers and they can additionally convert defeated humans into zombies. You beat a level by killing all zombies on the map.


Wilderness
by Pramath Pancholi


In Wilderness, you are a person stranded on an island with absolutely nothing in your possession. In order to survive, you must collect resources to help you build tools, which in turn can be used to hunt animals.

In order to stay alive, you must monitor your hunger status. As the game goes on, your hunger decreases from 100 to 0. Eventually, this will start affecting your health, and the lower your hunger gets, the faster your health will decrease. Eat apples to reduce hunger.

There is no final objective or goal in Wilderness. The main "goal" is to just explore the map, collect tools, and most importantly, survive!


Pale Moon
by Hsu De Franco


The idea for the game was inspired by Super Metroid and Zelda II. I wanted the elements of exploration and progression found in Super Metroid and the 2D combat of Zelda II. There were planned to be three weapons for the player: sword, boomerang, and hammer. The sword was to be the default weapon for the player and the other two were to be found later in the imagined full game. Aside from the technical differences, the boomerang and hammer also allow the player to get through obstacles previously impenetrable.

The combat in the game was to be complex with progressively harder enemies. The enemies would start off simple but eventually be smart enough to block and counter the player's attacks.

The game would interleave sections of focused combat and focused platforming with some areas mixing elements of both.


Falling Marbles
by Andrew Kee


Falling marbles is about a game where the user is supposed to control the platform by using either the arrow or WASD keys. These keys will change the rotation of the platform which allows the ball to move around. Your goal is to make the marble fall into one of the goals. In level 1, your goal is to simply put the ball inside the one goal. In level 2, you're supposed to put the colored balls in the corresponding goal (which is the right color). In level 3, you are supposed to play a modified version of Simon Say's and use the light as a guide to place the balls. You get three lives and lose a life if you incorrectly put the ball in the wrong place. The lives reset after each level. The goal of the third level is to try to get as many points as possible before running out of lives.


  Return to CMSC 425 Home