This section contains some of the game prototypes that I made at RIT. In several instances, the game represents a specific course in the Game Design and Development curriculum where the prototype was the capstone assignment. In other instances, the game prototype was one of many smaller projects.
Journey to Atgaderum
Journey to Atgaderum was a game made for a class called 2D Graphics Programming. The game was conceived as a way to combine two different genres of games, one being platforming, and the other being puzzle/resource managing games. The game is a co-op puzzle platformer where each of the two players has a different set of abilities that represents those genres respectively. One player can run and jump and interact with the world. This player must also collect resources from the game world. The other player has a severely limited ability to physically interact with the game world, but instead can build contraptions with the collected resources and can use these contraptions to influence the world indirectly. The two players together can then use their mutually exclusive abilities to accomplish all the tasks the game demands from them cooperatively.
This project was made over the course of a 10-week quarter at RIT. This was a team-based project and my role on the team was team lead. My role involved organizing the programming and art teams, as well as partaking in the game's design and programming.
This game had several technical challenges. The most prevalent challenge was that the design of the game implies a lot of physical interaction between game elements, so a physics engine needed to be implemented. I developed some tools to help the rest of the team create physics objects and group them together to form the level terrain and interactive objects. This was combined with an XML parser and physics wrapper class that I wrote to read in the data that was generated by these editing tools.
More info, media, and details on the game team can be found at the Atgaderum website (link below).
ColorBound is a game concept that was created for a class called Fundamentals of Game Design and Development. Each student pitched a game concept to the class, and my concept for ColorBound was one of only two games from the class to actually be created.
ColorBound is a platforming game, where players control a ball that can run, jump, bounce and launch itself around the game world. The unique feature that sets ColorBound apart though is that player can control to color of the world. Many of the objects in the world are a colored according to one of the three primary colors. The player controls a color wheel, which can be rotated at any time to match different on-screen platforms. If the player matches the color of the wheel to the color of a platform, they will be able to stand on the platform, but if a platform's color doesn't match the color wheel, the player will pass through the platform. This constant color swapping introduces some new potential to platforming-style gameplay.
This project was made over the course of a 10-week quarter at RIT. This was a team-based project and my role on the team was team lead. My role involved pitching the game concept to the class and organizing a programming team to finish implementing the game.
This was one of the first game prototypes that I made at RIT, so some of the technical challenges were things that I was encountering for the first time. This game was really the first time that I got to get my hands on all the different elements of game programming from some pretty complicated game logic, to HUD and menu programming, to doing some of my own ball-bouncing physics.
Click to enlarge:
Sonar
Sonar is a game prototype created for a class called Intro to Gameplay Programming. The assignment was to create an original concept for a game mechanic, and then to build the mechanic into a functioning prototype. My concept was to create a competitive game where players can only see each other by creating waves in the same way a submarine uses sonar. In this particular prototype, the two players play a game of tag against each other. However, the prototype is meant to be more of a proof of concept for other possible games as well.
This project was made during the last couple weeks of the Intro to Gameplay Programming class. The team for this project was a small team of 3 game students. For this game, I pitched the game concept, wrote the code that generated the 'wave' effect, and wrote some of the networking code.
The most confounding technical difficulty on this project was getting the two games networked, because that was something that I had not done for a real-time game before. This was necessary of course, because a stealth game is not very interesting when you and your opponent are playing on the same screen. However, the most interesting challenge was creating the wave effect that the players use to 'ping' each other. This was accomplished by creating a wave simulation with cellular automata. A simple algorithm was used to govern the behavior of the waves, and then modified to allow walls and moving characters.
Click to enlarge:
Empyrean Sky
Empyrean Sky is a game prototype that was created for 3D graphics programming. This game prototype was my first attempt at working with DirectX 10. The design goals were simply to create an air combat game where the player would pilot a plane and shoot missiles at other planes.
This project was made over the course of a 10-week quarter at RIT. This was a team-based project and my role on the team was team lead. My role involved organizing the programming team, as well as partaking in the game's design and programming.
This game involved some new technical challenges including terrain generation, integration into the DirectX 10 environment and lots of 3D math (camera manipulation, transforms with scene graphs, AI steering, collision detection).
Click to enlarge:
Tank Derby
This was the final project for Interactive Digital Media. The assignment was to create any kind of game using Flash. I chose to make a 2D tank battle game where the player controls a tank that can shoot using the turret and machine guns. The game features both a tutorial section where the player can practice on stationary targets, as well as the main game mode where the player fights against other tanks. This project was one of the few game prototypes that I've made that was not a team project.
When making this game, I found that Flash doesn't have a built-in collision detection system that was robust enough for what I needed. I decided to write my own 2D hit detection, which is used for when the tanks run into each other or get hit by projectiles. Because this game is single player, I had to write an AI algorithm that could govern the behavior of the enemy tanks. The enemies follow a simple set of rules, such as moving toward the player and shooting if they are facing the right direction.
The sound for this game was one of my first attempts at sound in Flash. I took some loops from a techno song that has an increasing tempo, so as the player advances in the game, the tempo of the music increases.
This pinball table was a project for Fundamentals of Game Design and Development. The objective was to design a table, while using ideas we learned about video game level design. This was a project done individually during the first couple weeks of the course.
I was inspired by the movie, 300. I created this table, which uses several assets from the movie including sounds and screen shots. There are also other visual elements that are consistent with the motifs from the movie that I added, like the blood splatters.
This project was built with a shareware program called Future Pinball, which is also required to play the table.
'Perdition' is a board game with a dark sense of humor that was created as part of a group project for Fundamentals of Game Design and Development. The goal of the project was to create a game that expressed some form of values.
The team quickly decided at the beginning of the project that we wanted to look at the theme of 'values' from a bit of a different perspective. We decided the objective of the game would be for the player to be the first to descend through the 9 circles of hell (as described in the Divine Comedy). To accomplish this, players must use different sin and virtue cards to gain the advantage. There are also some other game elements that mix up the gameplay, like the 'Jesus Knows' cards that function similarly to the chance cards in Monopoly and feature a parody Jesus/Uncle Sam hybrid character.
For this project, I helped conceptualize the game and the major themes behind the game's design and visual aesthetic. I also designed the sin/virtue cards, as well as several elements of the game board.