Life through High School
I grew up in Albuquerque, New Mexico, and decided as early as second grade that I wanted to become a video game designer/programmer. My parents pushed me along the programmer route, largely because Computer Science would open more doors for me.
I graduated in the top 10% of my High School class, one of at least five hundred other students. I excelled in Math, Science and History courses. I took a number of Advanced Placement courses, including Calculus, Computer Science and Physics. I also started studying Japanese as a foreign language.
In my youth, I participated in several Computer Camps, and volunteered for a Youth Leadership Organization, Talking Talons. At Talking Talons, volunteers learned public speaking and teaching skills while simultaneously caring for and learning about Birds of Prey and other wild animals that could not be released into the wild. I began playing the Alto Saxophone in Middle School, and participated in Concert and Marching Bands through my first year of College.
Undergraduate Education at Colorado State University
In 2003, I was accepted into Colorado State University’s College of Natural Sciences, where I pursued a Bachelors of Science in Computer Science and a minor in Japanese. For computer science I studied basic computer programming in Java and C++, Algorithms and Data Structures, System Architecture and assembly level programming, Foundations of Computer Science Theory, Operating Systems, Computer Graphics, Networking and Artificial Intelligence. In my pursuit of Computer Science, I also picked up a minor in Mathematics along the way. I was a member of the University’s Honors Program, and was the only student in my year and degree to graduate with Honors Recognition. I achieved a GPA of 3.54.
I also participated in the activities of the Colorado State University Anime Club, Ramnime. I was one of the first members of the organization, and was Treasurer of the organization my Sophomore years and President for my Junior and Senior years. Under my leadership, the club expanded from a 20-30 person a week affair to a 80+ person a week meeting, with non-standard get togethers occuring at a regular basis. I cannot claim all the success of the club for myself, I had a number of wonderful people helping me, but it cannot be overlooked that the current leadership of the organization still comes to me for advice from time to time.
Graduate Education at University of Central Florida
In 2008, I was accepted into the 5th Cohort of the University of Central Florida’s Florida Interactive Entertainment Academy (FIEA) program, as a member of the Programming Track of their Masters of Arts in Interactive Entertainment. Because of my excellent undergraduate performance, I was offered and accepted the Provost Fellowship.
Classes at FIEA were geared towards preparing a programmer for a job within the Video Game Industry.
In my first semester, I took Rapid Prototyping, where I learned Flash Actionscript 3.0, Panda3D with Python, and Torque Gamebuilder in order to create four game prototypes as the lone programmer on a team with artists and producers. The first three projects each took two weeks to complete, and the final project was initially a two week project which our team took to another round for three weeks of polish.
Also in my first semester, I learned the basics of solving problems for games, using 68000 Assembly, C and C++. Among the projects done in this class was creating a simple 2d Arcade style game in OpenGL and then porting it to the original X-Box. For my project, my partner and I created a cooperative version of Galaga, Galagamania, where two players would assist each other in fighting off a swarm of aliens. Like in Galaga, two ships could combine to form double guns; however, instead of having to let an enemy capture your ship, the two players could combine and decombine their ships at will. The ship that activated the combination would become the pilot, and the other player would become the gunner. We also took some inspiration from Gyruss, and allowed the players to travel around four edges of the arena, rather than be bound to just one side. In order to make full benefit from the combine mechanic, I also implemented a charged shot mechanic, which had good synergy with the combine mechanic. The instructor for this class was Tom Carbone, an industry veteran who has been a lead programmer for EA Tiburon and has been programming for games since the SEGA Genesis.
For our spring and summer semester, I worked on larger teams for capstone projects with the rest of FIEA Cohort 5. My first project, Chain Game, was a third person cooperative platformer where two players were connected by a length of chain. The project served to ramp me up on a third party engine, Gamebryo 2.6, and also gave me the valuable experience of seeing a project I was working on get canceled. Upon being canceled, I took the energy and knowledge I had earned from my first project and applied it to a new project, Sultans of Scratch.
Sultans of Scratch was a multiplayer hip-hop themed rhythm party game, where four players would break off in to two teams, forming Dancer-DJ pairs. Because of the influence of Hip-Hop, we wanted to create a game that emphasized Freestyling rather than explicitly telling the player what to do. We also wanted to emphasize team work with the mechanics, and in order to draw attention to the art and characters we wanted to make the user interface 3D models within the environment.
My work as one of five programmers on the project supported all of these ideas. As a gameplay programmer, I implemented a fighting game inspired combo system, which could be easily iterated by a designer and augmented the freestyle gameplay by rewarding certain input sequences with a cool animation or sound effect and higher score values. To support this system I created a tool in C# for the designers to use. I worked with another programmer on our custom input system, which cooked raw input into our game specific input. As part of this, I helped integrate a custom DJ Turntable peripheral created by UCF Engineering Grad Students and third party Dance Dance Revolution game pads, as well as handled input from keyboard, mouse and x-box 360 gamepads. I upgraded our existing audio system to match with a new design paradigm we had switched to. I also worked on the scoring system and how it was presented to the player through the 3D environmental User Interface, using Gamebryo’s scene graph managing API to swap textures on pieces of geometry to display a variety of values. In between all these features, I also acted as support for the other programmers systems, and became adept at navigating a large code base and correcting other programmers code.
Sultans of Scratch was a very successful project overall. It turned heads and drew the attention of Industry Professionals at SIGGRAPH 2009 in New Orleans, and was praised by FIEA Faculty as the best Capstone Project to date. For my contributions, I received praise from my lead programmer, our programming manager, and project lead for my positive, can-do attitude, my strong work ethic, and my team-oriented mentality.
Also in my spring and summer semesters was my Game Engines class, taught by Dr. Michael Gourlay of Electronic Arts. In these classes, we were tasked with creating a Data Driven, Event-based Game Engine architecture from scratch in C++. To accomplish this, we created our own container classes, a data class whose data type could be defined at run time, a table class to collect our typeless data into the notion of an entity, actions for entities to perform, a message system to pass data around between subscribers, reactions for script based entities to handle messages, and an XML-based scripting language to represent the entities in a human-readable format. At the end of the spring semester, each member of the class worked on an individual component to help create a final project to give the engine its first test of functionality. I implemented text rendering in DirectX for my part of the engine, and also proposed to the team the project that we work on: Street Fighter ASCII Edition, which applied a street fighter wrapper to Rock Paper Scissors and displayed the game through ASCII art. In addition to assisting with gameplay scripting for this idea, I created a tool to easily convert ASCII art into lines for our scripting language so that it could easily be inserted into our project. The project was highly successful, and even got featured on [Kotaku].
For the summer semester, I studied math pertaining to graphics and physics for our game engine, and implemented an Inpulse Based Physics Engine in to the game engine, while others in the class worked on graphics engines. At the end of the semester, we again formed teams to create a game, a networked remake of the Atari 2600 game BallBlazer called Murderball 8000.
In addition to these tech-heavy classes, I also participated in Production classes, learning about game design, creative thinking, management and leadership, and starting a small business. I participated in class discussions, and also joined in the process of pitching games to the class for what we would work on as our capstone projects.
Goals, Dreams and Ambitions
My personal goals are of self advancement, both in knowledge and in status. However, in a field such as game programming, personal goals are and should be secondary to team goals, and when I am on a team, the success of the team is always my top priority, and achieving my personal goals are merely a means to that end.
I am interested in almost every area of game programming, such as Graphics, Physics, UI, AI, Gameplay, Audio. In addition, my near to medium term goals are to become a lead programmer on a major title. Because of this, I am looking for a company that will allow me to expand my horizons on all these fronts, and work towards advancement. Within the next 5 to 10 years, I wish to start a video game company, one that will produce major works that can compete with the best published works of the time.
Where am I now?
Currently I am working on a practicum project for FIEA to expand my knowledge in relevant ways as I look for a job in the industry. I am learning Gamebryo Lightspeed, and gaining experience with LUA integration and systems management through my project. I am, however, immediately available and am willing to relocate anywhere, even outside of the United States. Any work I perform within the industry will count towards my graduation, which will occur this December.