Friday, February 29, 2008

Yet Another Book

I got my new "Essential Mathematics for Games and Interactive Applications" book today. I have a feeling I'm going to wear it out as time goes on. It seems like it will be a really great asset for any of my graphics needs.
As time goes on, I'm going to force myself to learn how to use this darned blogger. I've always just trusted it as text entry and nothing more, but I'm sure it can do more. Thus, the nice photo of the book I just bought.

OpenGL SuperBible: Chapter 1

I read through the introduction and chapter 1 of the OpenGL SuperBible. It was 100% review, but it's well written, so I just went with it. I remember enjoying reading my OpenGL book in college, and I really enjoy the author of this book as well. There's something about graphics programmers, I guess. They're not 100% engineer. They know how to put graphics together, and I guess that bleeds over into other less technical tasks, like arranging words on a page. Come to think of it, my OpenGL teacher was pretty entertaining, too. He looked like the neighbor dad from Honey, I Shrunk the Kids, and that amused me.

Thursday, February 28, 2008

New Books

I got some new books from Amazon today, the 3ds Max 2008 Bible, and the even more blasphemous OpenGL SUPERBible. I'm excited to start reading. There just isn't enough time. I'm gonna have to put together some sort of schedule. So far I've just been promising myself to work on SOMETHING everyday (XNA, website, graphics, math, etc). It's getting to a point where I'm gonna have to start consciously dividing my time. It will get worse tomorrow when I get yet Another book...

Dreamweaver and my new webpage

I've never really used Dreamweaver before. Every time I started with it, I'd get frustrated and just end up using Microsoft FrontPage. For basic text, it makes more sense. I mention this because I forced myself to figure out Dreamweaver for my latest webpage. And I'm glad I did, because it also forced me to finally figure out CSS and the the importance of div.

I actually went to this page while I was building this page. I just couldn't figure out how to add the divider! But it's not my fault I couldn't find the command, it the fault of the UI designer :D. And by the way, I'd like to mention that my new apartment has a stove that looks like this. I'm very proud of this fact.

Wednesday, February 27, 2008

Updating the Wizard

Well, I felt bad about saying that the wizard tutorial didn't end well, so I've modified it a bit to work like I would expect. You can get the original project here. My updated project is available here. The main modification is to throw out a lot of the state related code. The original list of states is:

//The various states the Wizard can be in
protected enum WizardState
{
Standing,
Walking,
Magicking,
Ducking,
Jumping
}//End enum WizardState

I've replace them with

//The various states the Wizard can be in
protected enum WizardState
{
Normal,
Ducking,
Jumping
}//End enum WizardState

In the original project, the code only allows for one state at a time, so you end up not being able to walk when jumping, or magick while walking or jumping. So i took the actions i wanted to be able to do during all times, specifically walking and magicking, and moved those out of the state enum. They shouldn't be treated as states. They're just actions the wizard can take. Then I realized there needed to be some sort of base state, so I added the Normal state, which is just the default.

The other big change is in the UpdateKeyboard function. Instead of an if..else if...else if chain of code, I changed it to a series of if statements so the UpdateKeyboard function will respond to all keys being pressed at once, rather than responding to one and returning.

One final minor change I made was to pull out the crouch animation when the wizard lands. I didn't like it. I've avoided posting code in here until I know how to get it formatted correctly... another action item, I suppose.

The end result, if you build my version of the project, is a wizard that can move and magick while jumping. It feels much more responsive, and makes me feel like I have a lot more control over the wizard.

There. I feel better now.

Tuesday, February 26, 2008

Catching Up

I should have started this blog a while ago, because it helps your brain remember things if you flesh it out on paper.

I recently went through a tutorial called The Wizard. I think i can safely say that I didn't like it. The design of the project starts out nicely. You've got your game, which has a wizard, which extends the Sprite class. Got it. They even go into spritesheets, of which the implementation details are new and useful to me. They talk about game states, and they are required for game design.

The code after that is... poor. What you end up with is a sprite you can move around on the screen, but which can only respond to a single command at a time. It's like those old games, like Dragon Warrior, where you'd press a button and the character would move, during which you couldn't do anything else. I don't think any new code should result in something like that. Even the most basic tutorials on the XNA site don't result in something like that. Then again, i bet this type of implementation would work well for a board game.

XNA Game Studio

I'm spending what free time i have studying XNA game studio 2.0. I didn't realize until recently that how wonderful XNA GSE is. I don't care what anyone says, I like Microsoft products, and this is no exception. The amount of online support for XNA is awesome, it's easy to get started, AND you can publish stuff to your Xbox (that's where it will cost you money, but it's only ~100/year). Very cool.

My First Post

Welcome to Luke Rymarz's blog. It's pretty boring here right now, but I'll have some more stuff later this week. My plan for this blog is to recount things I've learned in my software engineering career, so I can better lock them into my brain.