All Around Dev

Sunday, April 30, 2006

Hobby: Games in C#

So I believe in my first post I mentioned I liked the C# programming language. I also mentioned that game development is my currently hobby activity. It only seems natural that they come together into a ball of happy-happy joy-joy goodness and that's what I did.

Some time ago, I purchase a book called "Beginning 3D Game Programming" by Tom Miller. It used Managed DirectX to build some simple games from a 3D point of view. It appears that I'm halfway through. I stopped reading it because the code the author was using was based on a version of the DirectX SDK (Software Development Kit) from a year and a half ago. Some of his code samples were broken because of it. Also, it seemed that I might have been beyond what I should be doing. The book seemed to give you the how but not the why of the games. I might return to the book someday.

Since then, I've only really done C# at work and with no graphics. So it's been kind of ho-hum. Though earlier this year, I ran across a set of video tutorials for a 2D game using C#. This game is pretty low key with only the bare minimum to be classified as a game. I just finished the last tutorial a few days ago. It was pretty useful. Each video came with the source code to compile what was done during the video. But since I have the source code, I've decided to try my hand at augmenting it.

So the first change I did was to produce a spread fireball. In the standard game, you shot a fireball up the screen. I managed to produce a firing where three fireballs come out in a spread fashion.

Beautiful, eh? So that didn't take to long to do up. There are a few things I want to add to it to see if I can. One is a menu. When you first start the game, it start playing it right away. That's a little annoying.

While I was working on the spread fireball thing, I was thinking of a weapon object and some sort of weapon select. I'm thinking of ways to do the weapon select currently. I know what I want it to do and how it should look, but I'm having issues with how to code it. I'm wondering if I can shoe horn it in or if the the game engine needs an overhaul to allow my idea in.

So that's where I am at right now. Fun times, I know. The weapon selector I want to do first as I can fudge the weapon objects. Ideally, I'll do it all. It's not hard, it just knowing how/where to start.

The working

So here's another spot in the blogspere that I'm using to speak my mind. Well, this is going to be more of what I'm doing while I'm wearing my developer hat. I keep on reading some good diaries of projects so I thought why not have one myself.

So I'll just get right down to it. Here's what I'm looking at right now.

I'm currently into C# programming. It's a good language to get things working quickly in a Windows environment. You can also get quick results in the console arena as well. The language features lots of constructs pre-made for you so you can spend more time doing the stuff you want to do and not the little details that all projects must have. I like it. I've been using Visual C# Express and wished I had a regular copy of Visual Studio. I had a chance to get one while working at Microsoft, but I never bothered to follow through. The express version is good enough for what I'm doing now. And what am I doing now?

I've created two groups of projects and times when I work on them. One group is career related projects that should help out my career path. I try to stick to these projects doing the weekdays. Currently this is good cause I'm not doing any dev work. Keeps my mind in some sort of shape. ^_^

The second group is the hobby related group. The hobby group consists mostly of game programming projects. I tend to keep the hobby stuff to the weekends as I have more time available to sink into it. Ideally, I'd sink all my time into these projects, but this whole "having a job to pay rent thing" gets in my way. Though really I've been interested in game development since high school. I've just never had the drive to make it any more than a hobby despite a couple of failed attempts and many, many more wannabe tries. So, I think it's a good idea to push my dream of getting a job in the game industry to the back burner.

So, you'll probably find those two types of posts here. I'll probably put up some other stuff like the tools I use and stuff. I have a goal in mind of posting on each group once a week. There could be more, but I think 1 each is good for the time being.

I guess the first post this week will be from the hobby group. I've got some ideas and I'm stuck, not surprisingly.

Well, I hope you'll become inspired by my work here. I love to hear about tricks from the masses as well.