Tuesday, June 30, 2009

June Monthly Checkup

Yep, another month has come and gone. Sadly I still don't have a finished game, but I do have some cool demos to show off in upcoming posts. I'm up to chapter thirteen (of twenty-two) in Luna's Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach and am learning a lot, but it takes a while to work through the chapter exercises. I'm also in the process of taking Ian Schreiber's free online game design course. My portfolio website is nearly completed; I just need to find a better host before posting the link here on GDJ.

So it's been yet another busy month of learning and experimenting, all while prepping for our big move to NC in August. After we get settled I plan to join the Triangle IGDA chapter so I can get serious about that whole networking thing.

Monday, June 29, 2009

Speedrunning

The Escapist recently caught my attention with this article on speedrunning. If you're not familiar with the concept, some people spend WAY MORE time trying to master games than you or I do. In fact, they spend countless hours and thousands of lives (digital lives of course) trying to master game levels, determining the most efficient paths to complete a level - or in some cases the entire game - in the shortest time possible. There are plenty of other worthy examples on YouTube; just search for "speed run" after the title of your favorite video game.

Would you have the patience to master this??? I doubt I would.

First Day of Class

As mentioned some time ago, Ian Schreiber's Game Design Concepts course began today and I personally believe it's off to a great start. I love reading things that make me think in a new way or help me understand concepts with simple examples. For example, have you ever played a game called "three to fifteen"? I had never heard of it and bet most of you haven't either, but once you read that first lesson you'll realize you've probably played it many times!

I know this image is far below par in terms of graphical work typically posted on this blog, but it's actually a very rudimentary game design I created in a matter of two minutes! Ian describes how simple it can be to create a game, and honestly anyone can do it. I call my game "Rat Race", with the concept being that two rat tokens are placed at the start and their goal is to be the first to get to the cheese. Each player must roll the die and get the numbers in order to advance (e.g. roll a 1 to advance to place "1", then roll a 2 to advance to "2", etc.) sequentially all the way from space "1" to the goal at "5". If a player rolls a "6" they send their opponent back to the start position but also forfeit their turn. They do not advance if they roll a number out of turn (e.g. roll anything other than a 1 from the start position).

As Ian points out, mine isn't necessarily a good game, but it proves anyone can do it and I look forward to learning more about designing good games.

Monday, June 22, 2009

Game Development Process

I read the article How a Game Gets Made in the free online edition of Game Career Guide magazine some time ago. It's quite a good read for anyone interested in the process, and I believe it's important for me as a programmer to understand what role I will someday fill as a game developer. What follows is a transcription of notes I took while reading to summarize the process; note that not all possible roles are covered and the steps are not listed in sequential order.

  • Preproduction
    This is the phase where core game design decisions are made, game elements are prototyped, and the game story is developed. A basic prototype of the game is developed quickly and shown to the producer who either scraps the game or gives it the go-ahead to move into production.
    • Designers document objects, characters, levels, enemies, NPCs, etc. for the game
    • Artists work on character designs, level concept art, and storyboarding
    • Programmers work on tools, document technical specs, and perform risk assessment
    • Producer determines a production schedule and milestones

  • Production
    This is the phase where the game is fully developed based on preproduction planning and detailed design documents. Some experimentation is allowed as long as it improves the game. The development team follows a "production methodology" to keep track of and divvy up remaining work.
    • Must determine dependencies early to complete child tasks sooner and keep teams independent (max efficiency)
    • Artists get a head start creating/texturing character models and world props (cars, buildings, crates, etc.)
    • Animators generate animations for character models
    • Programmers work on core functionality and data manipulation
    • Level designers create rough sketches of all levels in the game
    • System designer plugs in characters and tweaks animations and gameplay
    • Sound designers work on effects, getting voice actors for character dialog, and music tracks
    • Team meets periodically to review overall progress of the game
    • At 2/3 of production timeline additional staff is brought in for QA testing; most features are implemented so it's time to squash bugs

  • Postproduction
    Postproduction is all about getting the game into the hands of consumers.
    • Final build of the game (the Gold Master Disc) is printed
    • Marketing publicizes the game to popular game websites, magazines, and as TV ads
    • Publisher handles game manual and box manufacturing, and has a distributor set up to deliver the game to retail stores
    • Developers may be tasked with creating donwloadable content (characters, costumes, levels, etc.) to update and extend the game

Sunday, May 31, 2009

May Monthly Checkup

This has been a busy and difficult month with some unexpected events that nearly derailed my resolve to continue this journey. Nonetheless, I press onward, but with the realization that I may not be able to post as frequently or accomplish goals as quickly as hoped. So this is a pretty informal checkup this month and I've decided not to restate previously completed goals in favor of highlighting tasks that still need work.

The foremost goal in my mind is to complete a full game. I've started reading a new book that I plan to review once I've completed it, and the exercises of chapter five have me working on a 2D space shooter. Following completion of this mini-project I will start work on a PONG clone; the physics of a ball in motion (including collision detection) are quite interesting to me and may require further study.

I have been playing more games lately but don't own a fancy new console yet; picked up three older games for the original XBox (only cost $20 for the set) and want to get a Nintendo Wii at some point. Meanwhile, I have updated my old resume and started a portfolio site that is still a work in progress.

So that's about it for progress updates this month. I think my main takeaway from this month is that it's not how quickly you run the race... just that you eventually finish... and Rome wasn't built in a day. Finally, for some fun reading, check out The Escapist online magazine. They've got some cool game-related articles and a pretty cool RSS feed. Check out my devious guide for help with RSS.

Friday, May 15, 2009

Serious Games... Seriously?

As I continue reading and learning more about games, there's one categorical phrase I see repeatedly that always stops me in my tracks: Serious Games.

Every time I see it I have to wonder, "What is a serious game?" To me, the concept of a GAME always implies (or at least makes an attempt at, though some fail miserably) a connection to... FUN! Despite my limited research, I've learned that the phrase describes the type of games intended for simulators and educational purposes. In other words, a flight similator used by the Air Force to train new pilots might be considered a member of this category.

Perhaps I'm making too big a deal over terminology, but I think educational programs of this type should simply be called "simulators." But then someone might argue that they enjoyed the simulator, and so to them it is a game! :) Nonetheless, the phrase just always hits me as an oxymoron.

Have you played any serious games lately? Would you say they were fun?

Thursday, May 14, 2009

Staying Busy

Father forgive me for I have sinned... it's been two weeks since my last post. Wait, two weeks?!? I know, it's terrible and I am ashamed (not terribly, but a little bit). Rest assured, despite my recent silence some good things are happening.

Firstly, I'm reading a new book titled Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach. As I learned last time, I'm going to avoid posting a book review until I've read it all the way through, but I will say that I'm on chapter six (of twenty-two) and learning some really cool things I plan to highlight in future posts.

Secondly, I've been playing some cool free online games over at Armor Games. One of my personal favorites is Crush the Castle and my wife, who loves hedgehogs, has been hooked on Hedgehog Launch. Check 'em out!

Finally, I've decided to create a clone of the classic Atari game Pong. For those who never played, you can play a version in your browser here using pop-up windows! Pong is a simple game that shouldn't require advanced concepts. I'm hoping to dress it up with some nice textures and add a twist or two.

So there's a few things keeping me busy. Stay tuned for Pong updates!