I am a software engineer who graduated from UNH back in 2005 with a BS in CS. By day I'm a software engineer working in C++, various scripting languages, and with the user and admin levels of Linux on distributed software that needs to run 24/7. By night (well, evening and weekends
![:)](http://public.gamedev.net/public/style_emoticons/<#EMO_DIR#>/smile.gif)
During my freshman year of college, my desire to learn how to create 3D games lead me to NeHe on this site and I have been predominately a lurker on the forums ever since. Back then I posted a few times under the handle Tricona, but never really did much with the account. I was surprised it actually still existed and that it was attached to my current email address when I went to sign up for a gdnet+. The main reason I want a gdnet+ account is to help support the site that I have learned a lot from.
After going through the OpenGL lessons on NeHe I tried to create some games on my own and never completed any of them. Knowing OpenGL helped me in several of my college courses, but knowing a graphics API and knowing how to create a game are two different things. Looking back on it, I bit off more than I could chew with those projects. Instead of starting with several simple projects and building up from there, my second or third project was creating a RTS/FPS hybrid. In that one project alone I transitioned the graphics rendering from immediate mode OpenGL to VBOs, and finally tried switching to Ogre. Graphics development aside, the game itself was too complex for my knowledge of game development.
Fast forwarding from college to present day, after doing several application projects in C# (each to practice different areas in the language), I am trying out game development in C#. For a few months now I have been playing with XNA 4.0. I started with a few simple programs to familiarize myself with the framework and to play with some simple rendering algorithms (per pixel lighting, normal mapping, skeletal animation). My current project (described in the last section of this entry) is to continue exploring XNA and to create a complete game.
[subheading]Purpose of this Dev Journal[/subheading]
I am doing a dev journal for two main reasons. The first is to provide a reference for solutions to issues I've encountered in case anyone else runs into them. An example of the type of issue I'm talking about is: when using XNA's Ray struct, the direction must be unit length or the intersection methods don't work correctly, which I will talk more about in another entry. I don't plan to do tutorials as there are already plenty out there, unless I hit something I can't find adequately covered elsewhere.
The second reason is to have somewhere to post progress on my projects, as I feel that a public posting of progress should help with motivation to continue the project (regardless of whether anyone reads it or not
![:)](http://public.gamedev.net/public/style_emoticons/<#EMO_DIR#>/smile.gif)
[subheading]Current Project[/subheading]
My current project is a simple tank game. The primary goals of this project are to explore the XNA framework more, and to (finally) create a complete game. I've been using html to keep a design doc for the game and have been updating it as the programming progresses. Especially at the start of the project, this doc has proven very useful for keeping me focused on what the game is to be and record the technical details (i.e. modeling requirements, level file format). The gameplay is not going to be anything fancy. The player controls a tank and can destroy enemy turrets and tanks, and the game will have multiple levels. Since XNA allows for developing games for the XBox 360 and Windows, I have been using a wired 360 controller on my PC for developing it and have been coding it to support split screen co-op play. I haven't done the menus yet (been concentrating on game play), so the mechanism to get extra players in the game is currently not implemented. I'm planning to take a break from developing it tomorrow to write more dev journal entries about some of the issues that have arisen so far in its development and in the earlier XNA programs.