XNA Projects
(The most recent projects are at the bottom)
As time goes by, I will more than likely port these to the XBOX 360 in addition to having PC versions available.
Also, the XNA framework is required to run most of these games. To download the XNA framework v. 3.1 click here.
Cannon
Cannon is a very basic arcade style shooter in which the player controls a ship at the bottom of the screen and shoots targets that come down in random directions from the top of the screen. When the player misses three targets, the game ends. This game provides a great introduction to XNA and the primary game loops.
Directed Acyclic Graph (DAG)This project is one that I'm particularly proud of. Throughout the courses presented at 3DBuzz.com, there were certain challenges called "Knowledge Reviews". This one was the seventh Knowledge Review. It entails the creation of a Directed Acyclic Graph (DAG) application which is meant to mimic Maya's representation of scene nodes and shapes & MEL. I have modified it from the presented version to catch more errors and make for a cleaner, easier to use interface.
In this application, through a custom command-line interface, one can create "spheres" and "lights". Each one is considered a "node" on a DAG, more specifically a "transform node" (to further the goal of mimicking Maya). Once created, a "shape node" is associated with each shape or light. From there, the nodes can be parented, unparented, grouped, renamed and deleted.
The resulting DAG can be displayed and is colored to make viewing the hierarchy easier.
This application is entirely object-oriented with multiple instances of inheritance and polymorphism making it easily extensible.
The XNA Framework is not necessary for this application.
PrecisionIn this application, through a custom command-line interface, one can create "spheres" and "lights". Each one is considered a "node" on a DAG, more specifically a "transform node" (to further the goal of mimicking Maya). Once created, a "shape node" is associated with each shape or light. From there, the nodes can be parented, unparented, grouped, renamed and deleted.
The resulting DAG can be displayed and is colored to make viewing the hierarchy easier.
This application is entirely object-oriented with multiple instances of inheritance and polymorphism making it easily extensible.
The XNA Framework is not necessary for this application.
Precision is a basic, but oddly addictive and challenging game. From the 3DBuzz official description:
"The gameplay involves controlling [a] small nanite probe around the inside of [an] alien’s brain. You’ll see [a life bar appear over certain cells] as they are attacked by [a] virus, and you must move over to those cells before they die. All the while, the alien’s antibodies, which are ineffective against the virus, will be randomly floating around, trying to destroy your nanoprobe! The longer you take, the more antibodies will appear on the screen!"
I modified the game to include keyboard controls, as the original version was only designed for use with an XBOX 360 controller.BattleBlocks is my version of a simple Breakout clone. It has one simple level, but puts into practice many principles of object-oriented programming and game development (i.e. finite-state machine).
Controls:
Controls:
Enter - starts the game
Left/Right arrow - player control
P - pause/unpause
Escape - exit
Left/Right arrow - player control
P - pause/unpause
Escape - exit
Laser Bikes (executable only)
Laser Bikes is inspired by the bike sequence from the classic film, "Tron". It involves 2 players, each of whom are riding a Laser Bike. This bike emits a laser wall behind it as it moves across the screen. The goal is to cause your opponent to collide with your wall or their own wall before you collide with one!
Key items of note in this game are the creation of a menu system which is displayed when the game first opens, and a particle system which is used to draw explosions when bikes collide!
NOTES:
For this project, I have uploaded both the full Visual Studio 2008 solution (with built executable) and a separate executable.
Key items of note in this game are the creation of a menu system which is displayed when the game first opens, and a particle system which is used to draw explosions when bikes collide!
NOTES:
For this project, I have uploaded both the full Visual Studio 2008 solution (with built executable) and a separate executable.
Tetris clone (full source)
This is exactly what it sounds like: a clone of the classic puzzle game, Tetris. Probably the most popular Russian export besides vodka.
I put this one together completely by myself - from soup to nuts - so I apologize ahead of time for the horrid graphics. But, then again, it is Tetris; there isn't much more that is necessary graphically assuming one can create a small square.
As far as gameplay goes, this version of Tetris is pretty straighforward:
Blocks are fully rotatable and can be dropped at a faster speed using the Down key. There is a scoring system and the speed of the game increases over time.
The controls are displayed on the game screen.
Tetris is always a game that I felt I should be able to program, but I never actually did. That is why I finally bit the bullet and whipped out my very own Tetris clone.
Mission accomplished.
I put this one together completely by myself - from soup to nuts - so I apologize ahead of time for the horrid graphics. But, then again, it is Tetris; there isn't much more that is necessary graphically assuming one can create a small square.
As far as gameplay goes, this version of Tetris is pretty straighforward:
Blocks are fully rotatable and can be dropped at a faster speed using the Down key. There is a scoring system and the speed of the game increases over time.
The controls are displayed on the game screen.
Tetris is always a game that I felt I should be able to program, but I never actually did. That is why I finally bit the bullet and whipped out my very own Tetris clone.
Mission accomplished.