Dan Klufas

Host Teams: Jason Shifflet, Dr. Tom Masaryk, Mike Kovacina


Project - Microsoft XNA Studio

I decided to change my project. After seeing Jason's presentation, I now want to work with Microsoft XNA Studio to make a video game. I have a few ideas, but after looking through all the XNA stuff, working with 3D could be a little too much of a project. I wanted to recreate the Pong-esque 3D game I made in a group for Graphics last year, but if 3D is as painful as it seems in the tutorial, it may not be viable. Otherwise I think that I could make a simple scrolling game, or recreate breakout or asteroids. The tie in to a presentation is simple: Jason and graphics/games.

DWP RESPONSE: Add tangible milestones, select a specific game to implement and project is APPROVED

Milestone 1 - Go through Tutorials and Learn XNA; Choose a game

I went through a bunch of 2D sprite tutorials. It seems like drawing things to the screen is a lot more complicated than it really needs to be (especially dealing with 3D for a little bit). I think that I will try to create a game where the player shoots some sort of object at a set of targets in a top down view. I'm not sure what I want the theme to be yet, but that's the general idea of the game. I'm thinking of having a slingshot or cannon firing at some ironic target. If it's funny, it'll probably be more fun. I still need to think of power-ups or someway to make different levels interesting.

DWP RESPONSE: Sounds like you are moving along here. Are the 2D drawing conflicts surmountable? Can you include a screenshot from the tutorial and maybe give a little insight into the drawing difficulties?

Yeah the 2D drawing should be ok. It's starting to feel a little bit like Processing as far as the logic goes. The tutorials are at [http://www.xnadevelopment.com/index.shtml]. I'm not sure how the 3D effect of the shot object would go. I've kind of used the classes in that tutorial and tweaked them slightly.

Milestone 2 - Game Started

The game has been started. I've gone with a 1980s console look for the game. I have a start, but it's taking some time to come up with sprites to put in the game. (Sorry for the giant images. Apparently I can't resize png images. Once I have more finalized images, I will switch these and make them jpgs)

Here is the Title Screen. So far it transitions to the first level.


Here's the first level so far. I've added some targets to it, but I'm not sure what I want to use as a firing mechanism (whether it's a slingshot, cannon, or something ridiculous). The cannon would go in the bottom left corner and all the blank space will be filled up with game information (score, shots left, power ups, etc).

I feel like I have a solid start and once I have some sprites to work with, I'll be able to start working on the target movements (checking for collisions with the walls and making sure they don't go out - or at least not too far out for some harder levels).

Milestone 3 - Have something tangible in the game

I believe I have something tangible at this point. The targets move and I have been able to make a firing object (a ship) that rotates and bullets that shoot out of it from the angle that the ship is at. I feel like my code is fairly robust and it should not be hard to add other kinds of bullets or target motions. The most difficult part was getting the bullets to shoot at the angle that the ship is facing. After hours of tweaking (and seeing some weird and funny consequences of just changing things) I was able to get it to work. The problem was that my ship had a rotation of 0.0 but the angle of my ship shows to the upper right (so 45 degrees counter clockwise from the positive X). In XNA, this direction is negative so I figured I'd just need to subtract 45 degrees from the ship's rotation when I tried to get the X and Y of the bullet being shot. I forgot that everything dealing with movement in XNA has to be multiplied by the gametime's total seconds. Unfortunately, when doing this (as I eventually found out) I only needed to do it to the 45 degrees I was subtracting and not the whole rotation calculation. Here's a screenshot:

(Apparently sizes don't work for jpeg's either…)

The next thing on the agenda is collision detection. I have read about using colors for the collision detection so having everything that can be hit green was a very lucky and fortunate move on my part. If that doesn't work well, there are other options, but I am hoping that the colors method will be simple enough to implement for this project. After that will be the bells and whistles for the game like more levels, power-ups, scoring, etc.

DWP Response: (5/1/11)
Retro-look does seem to cover it. You seem to have made progress hitting both your milestones (2 & 3). I would like you to post a link to either the code or selected highlights of your code, so that I can see what you have done. From where you stand right now, do you feel that you are within striking distance of completion?

I feel like I'm within striking distance, but after making my first attempt at collision detection, I'm not as hopeful. I have to pass around a lot more information than I originally thought and I'm not sure if that is good or how that might effect other things within the game. I imagine implementing some kind of scoring system won't be bad, but it will take a good amount of time to add levels (esp the AI for some of the ideas I had for target movement). It really all depends on how fast I can get the collisions to work.

Milestone 4 - Game Completed or near completion

The concept of the game is completed. It is not perfect and obviously it can be coded in a much more optimized way, but for my first attempt at XNA I don't think it's too bad. I know what a lot of the tools are now and feel a lot more confident in actually designing and implementing a game. Maybe one day I'll be on XBOX Live Arcade. I sent the code in the drop box.