Portfolio

During my time in the game industry, a little over three years thus far, I have accumulated two published games, one completed yet unpublished game, an unpublished / incomplete game, a published Facebook application, architecting a test automation application, and several other projects.

The two published games are an online MMO called Pocketville®, which I created a minigame for and modified the existing game engine code, and a game entitled Nova Fire for the Sony Mylo® handheld, touch screen device.

Below are the two links for these games.

Sony Mylo® "Nova Fire" Game:

The Direct Link: http://mylo.mylolabs.com/DNLOAD/games/NovaFire_for_PC.swf

The Official Site: http://mylo.mylolabs.com/

Pocketville® "Waterfall Ride" Minigame:

The Official Site: http://www.inmypocket.com/

The published Facebook application I worked on while at Gaikai Inc. Several iterations and the evolving Facebook SDK allowed for the team to grow and the application became more robust with my collaboration with fellow employees at Gaikai Inc.

Below is a link to the Facebook application:

Real Games on Gaikai on Facebook:

The Official Site: http://apps.facebook.com/gaikai-games

I am currently working for Gaikai Inc, Gaikai - a Sony Computer Entertainment company.

Through my years working on my Bachelor of Science degree in Game Software Development at Westwood College, I have had the opportunity to participated in two Westwood College Game Development Competitions.

These competitions put an emphasis on Flash® coding and tend to gravitate toward the various challenges in designing games for Flash®.

The first competition that I competed in was in 2008, where I helped program the game "Steel Rain". "Steel Rain" was one of the first game projects that I completed, and the game received an "Honorable Mention" in the competition. An interesting side note is that our team was informed, rather late in the game, that ActionScript 2.0 has great limitations when compared to ActionScript 3.0. Due to this fact, I told the team I would try and port our current, nearly completed code and see what comes of the game. It took less than a week to learn the basic similarities between ActionScript 2.0 and 3.0, and am happy to say that the game was successfully ported to make the completion date and an overall more efficient game application.

The next competition, in 2009, was even more exciting when I was Lead Programmer on the game "Catch A Wav" while also helping out the team who developed the "You Call Yourself a Superhero?" game. "Catch A Wav" really tested my skills in both programming and properly working within a team environment. This was mainly due to the fact that I had many responsibilities when taking on the position of Lead Programmer on a team. The game received a trophy for Adobe Software's choice for the Most Innovative Use of Flash®. This was and is a major accomplishment for our team and myself and is one of my favorite accomplishments in developing games that I have received thus far.

Below is the link for the "Catch A Wav" game:

"Catch A Wav" Flash® Game :

Direct Link: http://landing.westwood.edu/gaming-public/assets/multimedia/CatchAWav/catchAWav-HTML.html

Below is a more in depth look at my best programs that I accomplished during my studies at Westwood College and while working at Say Design. I have plenty more, but feel these are some of the cream of the crop.

3D "Rain Collision"

Test Application

Figure 1: Full View of 3D World

In this application I wanted to create a three-dimensional world that was snowing while at the same time keep track and display, on screen, how many snow particles hit the constantly rotating brick box. The camera utilizes the up, down arrow keys to move forward and backward, while the left and right arrow keys turn the camera left and right. The interesting thing is that I added the useful feature of strafing left-to-right. If the player presses the 'a' keyboard key then the player will then be able to move the camera horizontally left. If the player presses the 'd' keyboard key then the camera will move horizontally right and 'a' doing doing the opposite. This gives the player the ability to not only move forward, backward, or turning left, and right, but to also give the feeling of moving sideways or directionally. This feature allowing the player to have more freedom and control of the positioning of the camera and overall view of the three-dimensional world. The feature of strafing was a real accomplishment for me since I wrote it myself by just researching a little into the feature. Tables 2 and 3, shown below, are screen shots that show the strafing and moving functionality that was applied to the camera. Figure 1 shows the full view of the world that I designed for this program.

Figure 2: Strafing Left and Strafing Right

"Stranded"

3D Game Application

Figure 3: "Stranded" Level #2

"Stranded" is a game application where it shows my first venture into working with a three-dimensional game engine and also dabbling into the Milkshape3D program. Figure 3. shown above, displays the original 3D modeling that I did using the Milkshape3D application. The 3D models contain very basic boxes and textures, yet Milkshape3D and the 3D engine I used allowed ease of use when incorporating the 3D models. The engine did this by using an XML-type parsing structure which I started to learn, through my studies, as being one of the more efficient and useful ways to create games. For this game, I took the original idea that was proposed during my 3D Game Engine course at Westwood College, but decided to expand on what my course curriculum suggested. I decided to make a type of pinball application where the player can move a white ball around these building obstacles with the goal of collecting all of the Mario coins throughout two levels. The levels where designed by myself utilizing the engine and the game also runs off of a generic PC gamepad controller for movement.

"Super Earthworm Jim"

2D Game Application

Figure 4: "Super Earthworm Jim" Main Menu

"Super Earthworm Jim" is an application where I combined two of my most favorite, nostalgic games, Earthworm Jim and Super Mario World. This game application was also my very first venture into coding a two-dimensional games using DirectX and C++. The concept is very simple and revolved around the player moving Earthworm Jim, the worm in the white space suit, left to right with the goal of shooting the enemies above and collecting the cherries they emitted after they were defeated. All the while, enemies would be charging at the player on the ground level, taking away points if they collided with the player. Figure 5 is a screen shot of sample gameplay. The game went through five levels, changing the backgrounds and adding one more charging, ground enemies at level three and above. There is a scrolling credits screen at the end of level five, and there is also a menu type structure. Figure 4 displays the menu's options. The player could view the controls, credits, exit the game, or play the game from the Main Menu screen.

Figure 5: "Super Earthworm Jim" Sample Gameplay

Sony Mylo® "Nova Fire"

Flash® Game

"Nova Fire" was my first published title. I was an intern at the time and was given this gem of a game as a test project. My jaw hit the floor when I found out it was being developed for Sony and their handheld, touch screen device. The game was coded all in ActionScript 2.0 and was a great challenge. The challenge behind the game was dealing with the Sony Mylo's memory constraints. At the time, I was relatively new to Flash® and had to research into optimizing the game to perform well on a device with little processing power and memory. During this project I was under a great producer who taught me a great deal about design and work ethic. This project was a perfect and memorable venture into the game industry. Near the culmination of the Sony Mylo® project, I was also put onto another project for the online MMO Pocketville®. This was one of the first of many encounters in which I had to practice multitasking amongst several tasks and projects.

Pocketville® "Waterslide"

Flash® Minigame

Figure 8: Pocketville® "Waterfall Ride" Gameplay

While I was working with Say Design, I worked on a rather big project with Meg Toys to create a mini game within their online virtual world called Pocketville®. With the "Waterfall Ride" mini game, I was able to work with Say Design's working engine and retrieve the player's global information, and make correct function calls in order to update the player's proper server information. This gave me some time to start studying and understanding how to properly work with the server side of things and to also modify contents within the database that Pocketville® was utilizing. The major lesson was that this MMO introduced me to the complexity of online virtual worlds and how much of a team effort it is.

Figure 9: Pocketville® "Waterfall Ride" Extended Play

"Gnome Adventures: Part One"

Senior Project

Figure 10: Using imported video in Flash®

As I concluded my senior year at Westwood College, I really wanted to practice a programming technique that I felt and feel is a necessary tool in any programmer's tool belt. Object-oriented programming is a subject that I felt I needed to practice before I head out into any programming field especially in the video game industry. As the development process lingered, I consulted with a very knowledgeable, to say the least, professor which helped me start to understand my process for which to code in an object-oriented fashion. This project wasn't so much about the bells and whistles of video game design as it was a testament and diary of how I was and am attempting and accomplishing my goal of growing as a programmer. The project took around two months and the knowledge and interaction I gained from my teacher's guidance helped shaped the way I approach projects today. This might not have been the most flashy game, but I feel I did start the important process of getting the ball rolling on how to properly object-orient my code. Yet there is always still more to learn and I can't wait...

Figure 11: Creating Particles when colliding with stars

Figure 12: 3D "How to Play" Menu