The Blog of Ryan Foss

It's a start!
Archive for September, 2009

Asteroids and Relfection


I added an asteroids class to the game and got them working. You can shoot them now too and they disappear and your bullets bounce away. I’m having some problems with the reflection vector, where the reflection appears to be mirrored. It’s late though, and I just want to post a picture.

Asteroid Apocalypse Template


I spent the better part of the evening yesterday getting this project running. It’s an empty shell really, but it has some art assets from Blender (via a slightly modified FBX python exporter), rotating earth and asteroids too. It allowed me to get the scene setup with a configuration I like. I’m using a tight FOV (XNA uses the horizontal to define their FOV setting which is new to me) so the 3D models are subtle and feel smaller.

Combine Dodge, aka Henry Rain


I took the modified RockRain XNA game project I’ve been working on and deployed it on my Xbox 360. Pretty neat. Henry made me change it from Aidan’s face to his face. Plenty fun though none the less.

XN-Yay!

Well, it isn’t the best but the basics are there to demonstrate the concept.
Essentially you are looking at XNAMentor’s Space Invaders project modified with our game concept in mind. I also got the Blender to XNA FBX pipeline working so I’m feeling pretty confident we can pull this off.

Additionally, I’ve been reading Beginning XNA 3.0 Game Programming and I’ve got one of the “games” working. It’s originally a meteor dodger game where meteors fall and you have to avoid them. I modified the art so instead of a spaceship, you are combine harvester that dodges my son Aidan’s face. This was a big hit with my son Nate.

GSP, XNA, and SVN Oh My

I bet I’m not going to get any readers based on that title, but I don’t know a better way to sum this up.

My first week of GSP-360, Applied Development Project, ended Sunday and it was a roller coaster ride. First off, the class is more focused on documentation than development and strongly suggested we do a “mod” instead of a “from scratch” project. I was very disappointment but with the professors approval, I recruited a team to make a game from scratch using the XNA Game Studio framework.

The week started off rough, being that our communication needed to be ironed out. That, and I was somewhat stressed because I’m new to C# (the programming language) and XNA (Microsoft’s branding for game related software and development stuff). I didn’t really know what I was getting into. However, after we got together and chatted using Google Talk, we settled on a concept.


I suggested a game and the team was willing and eager. The concept is a simple arcade style shooter, similar to asteroids in design but instead of trying to blow up asteroids, you shoot them to change their course and steer them away. I put the concept art above together to help communicate the idea and I think that helped.

Additionally, I set up a SVN repository for us to work in. This is especially important for programmers. For those who don’t know, SVN (aka, Subversion) is a Version Control System and that means that we can work on projects together, but a master repository holds all our stuff. If we make changes to something, we check it in and others will get the changes. It should help us work together easier because it mandates document control. An easy way to imagine it is if your team had to work on a letter together. Most teams divide out the sections and then put it together, which can work fine. But having one document that we all work in and change, almost like a shared file system, makes it so we all can contribute to every section.

I plan on writing up an SVN tutorial in the next couple days to explain what I did and how.

Onward to Education

I got my grade for GSP-410 (Software Engineering for Game Programming) today. Was excited to see I got an A.

I’m a week into my other classes now and things are going well. I’m taking a career development class, CARD 405. That is a real snooze so far. All about interviewing and the job market. Which would be good, if I didn’t have a job.

The other class is GSP-360, Applied Development Project. The intent of the class to my dismay isn’t to develop in the sense of software, its to develop a mod with focus on the documentation. The concept, game design, technical design, project design, etc. documentation. They suggested using Torque, which I was not a fan of modding to. We had to form teams, so I recruited 3 others to work an XNA project. I’m the lead. We’ll see where we go.

Our first assignment, the Concept Document, is due on Sunday and we haven’t decided what we are going to make yet.

XNA C# Gotcha #1

Thought I would post a problem I encountered and the solution I figured out.

Given:

A class, mySpriteClass, with method:

public Vector2 position { get; set; } // Sprite position on screen

And trying to update position in the game update loop with the following line:

mySprite1.position.X += 1;

Gives the error:

Cannot modify the return value of ‘mySpriteClass.position’ because it is not a variable

Change

mySprite1.position.X += 1;

to

Vector2 Position = new Vector2(mySprite1.position.X + 1, mySprite1.position.Y);
mySprite1.position = Position;

I thought I knew what is going on here, but when I tried to explain it, it got out of hand. Its something to do with value types vs. reference types.

XNA, GSP and Me

My new classes have started for Session B this semester. My GSP-360, Applied Development Project is shaping up to be interesting. It’s designed more to be a modding class, but I don’t want to use Torque (suggested) or mod a different game. So I proposed a XNA project. I managed to find 3 other people willing to give it a shot, with me as leader.

Hopefully we can pull it off. I tried to recruit capable programmers, but thus far they have been pretty unresponsive beyond expressing interest. Though, it is only day 2 of class. I’m just uber excited. Given that, I’ve already jumped into some XNA projects. Hopefully I’ll have something worth sharing in a day or so.