Thursday, December 17, 2009

Welcome!



Hello, My name is Cullen McElroy, welcome to my temporary website! I will be using this page to tell you a little about myself and show everyone some of the projects I have worked on. I am currently attending DigiPen Institute of Technology and plan to graduate in April. If you are not familiar with DigiPen, it is a school specializing in video games development. Along with the basics, and essentials of programming, I have been given the opportunity to work on year long game projects every year of my college education. Thus, it gives me the opportunity to show off some of my work. On my posts I will give a little description of the project and what my responsibilities were.

Oh, and if you were wondering, that is a picture of me enjoying my time at a local pizza joint. Can't beat Massachusetts pizza!

Resume

My Resume


Here is my current resume.

Oh, and for future reference, when I say "Responsible for" I mean that I coded and completed that section.

AI Cover Algorithm



Here's a demo of an AI cover system I implemented with Michael Lobato. It's a simple grid based cover system that is computed with just the row and column of the enemy and player. We feel this simple cover system would work great for a handheld game such as "Killzone" for the PSP. For an actual in depth description of the algorithm with diagrams, see the paper I wrote for it below!

AI Cover System

Paper War First Playable!



Woo! We have reached First Playable, and ahead of schedule! Both my brother and I are happy with where the game is now. We have two more characters to add in (4 player support) and a lot of content and polish. I look forward to the completion of the project, as so far it has been great fun.

The project has been done in C# with the XNA framework. This is my first experience with both, and so far, I absolutely love them. Development has been quick and easy. My responsibilities on the game thus far have been: AI behaviors, All physics (movement, collision, etc), a lot of the game play code, weapon attacking behaviors, and some projectile management.

(The game may look a little choppy due to Fraps and data compression on the video. I assure you the game runs at 60 fps ;) )

Paper War Engine Proof



This is the engine proof stage of my senior project "Paper War". I'm working on a two man team with just my brother Michael. I'll post more information on this project on our next milestone.

Incoming!



This is my junior project titled "Incoming!". The goal of this game was to protect the core of your base from the attacking geometry army. If played as a first person shooter where the player had the choice of 4 powerful weapons. Two players can play cooperatively on a LAN connection. The object of the game is to survive and achieve a high score.

My role on the team was the designer. I was in charge of the game design document as well as game design decisions. As for my technical responsibilities, I was responsible for AI and most game play code. I implemented different steering behaviors for each entity. As you will notice in the video, the large blocks make jumps towards the base while launching any close light blue spheres towards the base on landing. The yellow spheres bounce towards base and the red ones try to dodge attacks while bouncing to the base. I also implemented the bullet and enemy spawn managers/pools to cut down on entity creation. Lastly I was responsible for game logic such as collision responses, dying, and winning.

I was happy with how the game turned out. I love to do AI and game play code, thus I had a great time working on it. Where our game suffers is the content category. We did not have an artist. "Incoming!" is all programmer art. Though, I should not have to mention that, it is pretty apparent.

Flux



This is "Flux", my sophomore game project. I worked with Marco de Masi, Michael Lobato, and Alex Miller. Flux is a top down brawler/shooter set in an underwater world.

Here's a quick summation of the game: The player dispatches enemies with three types of weapons. The more the player uses a certain weapon, the better it gets. But, each time a weapon is used, it takes some damage and shrinks. There is no HUD, all necessary information is on the player and weapon. The more bubbles the player has, the more health he has. The larger the weapons are, the more health and higher level they are.

This was our first experience with starting a game from scratch. It was done all in C++. My main responsibility was the enemy AI. For this is used a Finite State Machine. It was good experience and I like how everything came together, but it was not as flexible as I would have liked. What I did like was how the weapons turned out. I did a lot of work on the weapons along with the physics programmer Alex. They are all a lot of fun. Sophomore year involves taking 22+ credits for two semesters thus this project was a tough one to complete. I wish we could have got more content and polish in. But, we met every deadline and it's a fun little game that we're proud of.

(This is my first experience with Fraps and Windows Movie Maker. The game is running semi slowly in this video.)