DirectX 9 vs. DirectX 10

November 1st, 2007

I just read an interesting article on Gamespot which compares rendering of the next-gen game Crysis on XP machines and on Vista machines. It shows a series of six screenshots, which you can view in the various modes. Check it out.

I think I am going to do my own experiments one of these days. I’ll let you know what I find.

Starcraft II

May 19th, 2007

So it is official, Starcraft II is the big surprise that Blizzard has had in store for us!

After seeing the final campaign video of Brood War, I remember making a big bet with someone that Starcraft II would come out and that it would be in 3D. Unfortunately, I can’t remember who it was. :(
Having been a big fan of Blizzard strategy games since 1994 when I got my copy of Warcraft I, I can’t help but feeling a sort of childish excitement about this project!

Game Development in Flash, a Good Warm-Up

May 17th, 2007

I’ve said before (many times, I think) that game programming is hard only if you don’t know how to do it.  This is true of C++, it is true of DirectX, it is true of designing artificial intelligence systems and it is also true of constructing your game engine.

In any game engine, there are hundreds of little techniques which are sometimes difficult to invent.  Things like scrolling the screen around a map in a 2D RPG, or moving troops in an RTS game are just a couple of examples.  They may seem easy at first glance, but when you really start to think about what it takes to pull something like that off, you usually suprise yourself.  If you are inexperienced, you usually suprise yourself into giving up!

The problem is, it is difficult to deal with C++, DirectX, and your game engine all at the same time, especially when you don’t have years of programming experience already.

If you are building games, and you want to develop some specific part of your engine but can’t figure out how to pull it off, try doing it in Flash.  This tool is great for practicing techniques you will need before building your more complex game engine.

Adobe.com has the free trial of Flash Professional, in case you don’t have the thousand or so dollars it takes to purchase it.  You’ll be able to practice well enough with this tool, even without the full version.

At Long Last, Game Development CD Now Available for Pre-Order

April 19th, 2007

This is it! The Game Development Tutorial CD is now available for pre-order! Order now and get 34% off the list price!

Here is what is included:

  • The entire website (an offline version).
  • The Game Development Tutorial!
  • Various (not-yet-released) supliment articles on constructing games.
  • The DirectXGlossary (will be available online shortly after release).
  • A full printer-friendly version, so you can read it like a book if you so desire.
  • Two (or three if I have time) mini games, complete with source code and graphics.

And what will the Game Development Tutorial cover?

  • How to use multiple source files and create your own header files.
  • How to organize your code across multiple files.
  • How to handle that annoying alt-tab bug! (if you don’t know what this is, alt-tab out of a DirectX program and back in again)
  • How to catch errors that can crash your game
  • How to establish a “logic” engine.
  • How to build a simple 2D game engine.
  • How to upgrade that game engine to 3D.

So anyhow, that’s what I’ve been working on for the last month and a half, and that’s why you still don’t see the DirectX 10 tutorial available. DirectX 10 could be my next project. However, I’ve also recieved requests for advanced gaming techniques (which this CD does not quite cover). It seems to be about fifty-fifty between DirectX 10 and Advanced Engine Techniques for DirectX 9, so I’m undecided as to what you all want. Only you can decide that now. Set your vote in the comments!

Game Development: A Book? A CD?

March 13th, 2007

I guess all the fun of having a blog comes with the responsibility of writing in it every once in a while.

Well, I’ve been writing a lot lately, so it shouldn’t be too difficult for me to come up with something to write about. To start, I’ll let you know what I’ve been writing.

Over the past six months I have probably received more than two-hundred requests asking me to write a book. Most of the requests didn’t mention any specific topic, but those that did seemed to be in favor of a book on game development, and how to turn DirectX into an actual game. Personally, I think this is a great idea.

But then there was the other, uncountable number of requests asking for a CD containing the tutorials, complete with game development lessons, sample graphics, a printable version, and more.

So what to do? Do I write a book? Make a CD?

Well, I decided I would do both!

I’m going to do the CD first, and it will probably be made available next month.

On the CD will be the entire tutorial, as mentioned above. There will also be the glossary, the game development lessons, a printer-friendly version, and other cool features.

Now what about the book?

Somewhat arbitrarily, I plan to make the whole tutorial available in dead-trees format. It will be easier to read and slightly cheaper than the CD.

After that, I think I’ll write a book on the entire process of game development from beginning to end, with detailed chapters covering every step of the way: its conception, its design, its media, its development, etc. This would, I think, even include chapters about testing the game, establishing a community to use for a beta test, and how to get your game played by many. I haven’t worked out the details of what I want in this book, but these are just a few ideas I’ve had in the last thirty seconds.

But for now I’m working only on the CD. Keep checking back, as I’ll give you a place to pre-order it shortly (probably this weekend).

Tutorials, Resolutions and Rambles

February 25th, 2007

Almost a year ago I started building a website called DirectTutorial.com to teach myself DirectX once and for all. I had started to learn it about three or four times before, but it was just too damn hard to learn (I was in high school at the time and was very new to C++ and programming).

The first time was way back in the days of DirectX 5.0. I can’t really say much about it, because I really don’t know much about it. I got as far as creating a black screen, gave up and went back to Visual Basic for a year or so.

Some time later, after I had practiced a little more C++, I decided to jump into DirectX again. This time was a little more successful, and I managed to produce a small 2D space-shooter called Gates of Orion. It never was completed to full playability, but the basic graphics engine was there.

Part of the problem was that while I knew enough C++ to understand my own code an hour after writing it, I still wasn’t good enough to implement any serious object-orientation, and so the program flopped under its own weight and horrible architecture. (I laugh when I look at the source code now, it was basically one .cpp file packed with about fifty huge functions and a bunch of global variables at the top).

I gave up again for the time (I was using DirectX 7.0) and when I came back to make a third attempt DirectX 9.0c had come out (I don’t really understand why they didn’t just call it DirectX 9.3).

Anyhow, this third attempt was a little bit more successful. I happened to stumble upon a decent tutorial called DrunkenHyena that got me over enough bumps to draw a simple triangle in 3D, but I still had trouble getting things to work (it literally took me weeks to finally figure out that my camera was pointing backwards!)

I decided that the best way to really learn DirectX would be to build my own documentation of it. This worked for me as long as there were Drunken Hyena articles to go by, but once they ran out, I was kinda stuck. So I decided to make a tutorial of my own and see if it just flowed into the rest of DirectX (I had actually worded it like that in my mind).

Suprisingly though, it worked, and worked well. I discovered that if it was taught correctly, DirectX wasn’t actually difficult at all. All the information was there, but it was never just in one spot and in the correct order so that someone like me could come along and learn it. I constantly had to shift between the documentation and about five other tutorials, each of which had little bits of information which, when put together, worked fine. The problem was going and finding it all.

Eventually (almost a year ago) I took the tutorials I had written, and with a little bit of editing, posted them online at DirectTutorial.com. I added some new ones as I learned more and more, but eventually stopped again.

No, it wasn’t because it was too hard. I’m over that now. There were other, less relevant reasons for stopping.

Or shall I say, pausing.

Because I’ve started up again now. I made a resolution at the end of last year to pick up DirectTutorial again. I decided some time ago that I would change the name to DirectXTutorial.com, upgrade it to ASP.NET, add a few more gadgets and clean up the code.

It’s quite a New Years resolution, considering that it’s possibly the only New Years resolution I’ve ever followed through with. :P
Just recently though, I’ve decided (on a whim, actually), that I will try my hand at blogging. I don’t know if I have what it takes to continue posting until the end of time, but for the next few months I’ll post articles on various things having to do with game programming.

I’m calling the blog Codename Ramblog. “Ramblog” is a combination of ramble and blog. I invented the word, and then I Googled it and found it had already been invented by 529 other people. Rats. Anyway, it is “Codename” because I can’t think of anything else to call it right now, and calling the blog Codename Ramblog has more of a ring to it than “Name: Ramblog”.

But keep checking back, or get the RSS.  I’m not sure how often I’ll be posting, so I won’t promise any specific interval just now.

See you soon.