Saturday, November 15, 2008

Back To Design Mode

Well, I now have our player sub firing shots forward...there's a little tweeking to do since the shot spawns at 0,0 on the sub, which is around the area of the tip of the rear tail. But it's a first step. Again, the method I'm using with the overall game design is to get the basic game working and build with experimentation. It's sort of like painting, start with the a rough sketch or basic underpainting and work up the details as you progress while trying not to get to focused on any one point along the way.

Now I turn back to more familiar territory, for me at least, and that's the design of the ships, pickups and UI. I've got some initial thumbnail sketches of vehicles and I like the way a couple of them are shaping up.

First Screens and Flow

I put together some initial screens for the logo splash screen (no pun entended), title screen and game screen. While they're only for position only (FPO) they served their purpose of confirming loading in graphics, some including alpha channels, and having a visible flow from the splash screen, to the title screen (after hitting "A"), and entering the game (skipping the menu interface).

Here's a first look. It's not terribly exciting, but it's a start.

And I do have very crude control over the sub strictly for testing user input.

You can see some scaling problems I'm having with variable aspect ratios of standard and HD TVs.





Wednesday, November 12, 2008

Game Summary - "Phase 1"

So for phase 1 of the game here is our checklist of objectives.
1. Basic game flow which includes: logo screen, splash/title screen, how to play pop-up window, game screen, game over screen.
2. Game play will be a left-to-right, ship side scroller. Player movement will be limited to predetermined area of the screen. There will be only one 'layer' of scrolling background.
3. Player has a single fire weapon which fires in the direction the ship is facing.
4. There will be one type of enemy and it will spawn at random heights on the right side of the screen and move to the left.
5. Play time will be limited by an 'air supply' that the player's ship has. The game is over when the player runs out of air.
6. The only player pickup will be tanks of air that spawn at random intervals and move along with the background.

So, not the most original of games, but it's a start and one that can be expanded on once the basics are laid out.

Tuesday, November 11, 2008

Quick Start

In an effort to get things rolling as quickly as possible I put together rough concept art for the background and ship. It would be my version of "programmer art". The idea here is to get something playable as soon as possible so I can really start toying around with possibilities and testing what works and what doesn't work in terms of game play.

So I've got a nice simple underwater background and a single seat submarine for the player. I create a new Windows project in Visual Studio C# 2005 and begin to import my basic assets. I'm using XNA Studio 2.0 even though version 3.0 was recently released simply because it's already proven and established.

It only took an hour or so to get the background and the ship drawn on the screen with a basic control scheme to move the sub around. The rest of the time I spent concepting the story and actual vehicle designs.

Torque X

I just ran across the fact that Garage Games has partnered with Microsoft and XNA to provide it's Torque X engine to all XNA Premium members. I jumped on the opportunity and downloaded the engine.

However, for the time being, I'm going to continue with development of the underwater game as planned and most likely hit up the Torque engine for a later project.

Initial Ideas

Since I'm not looking to dive straight into the deep end of the pool, the main thing I'm trying to focus on is developing a game concept that can be built upon in little pieces.

After a couple of hours of brainstorming, (it's a 45 minute commute with no traffic to and from work), I've decided my first XNA game will be a 2D side-scrolling arcade style game. I'm also conceding that this first game will very much be a 'throw away' game. It should be fun enough to play with the kids here at the house, but I have no hopes of this ever making it past the XNA peer review.

Even being a 'throw away' there are a number of core things I'm looking to accomplish here.

1) Get a hands on basic understanding of C# and XNA as a tool set
2) Spot any inconsistencies between the Windows development and the 360 development (and learn how to deal with them)
3) Start to set up a basic pipeline for production (for 2d games)
4) Establish some basic game mechanics (game state management, player movement, scoring etc)
5) Build the game in a modular approach so that new elements/mechanics can be built onto the basic game as we go

As far as the theme/concept goes, it can be just about anything. I've always liked the ocean and aquatic life so I'll develop some story or concept that is ocean driven. It could be "Atlantis" inspired or "40,000 Leagues Under the Sea" or "Nemo" themed...there's so many possibilities somethings bound to pop up.

My immediate XNA background going into this consists of a handful of basic trial publishes to the 360, reading "XNA Game Studio 2.0", and so far approximately a quarter of the way through the "Visual C# 2005 - Step by Step" book. I also worked through the very nice 2d game video tutorial on the XNA site for the "Cannon Game". That was a big help, if you're a beginner and you haven't check it out yet I highly recommend it.

Sunday, November 9, 2008

A Beginning

Things have to start somewhere and this seems like a good place. I'm creating this blog to track my progress developing XNA games for the Xbox 360.

A little background on myself for those just dropping by. I began programming when I was eight, in basic on my old TRS-80 Model I. I spent many hours and sleepovers typing hundreds of lines of code from books and magazines just to get to play tic-tac-toe or mine sweeper. I was inspired by games like Wizardry, Bard's Tale, and a slew of Scott Adams adventure games (the ones with the verb/noun commands) and I was determined to become a game programmer. However, that quest ended sometime around high school when I was told you had to be really good in math to be a programmer. Even though I'd gotten straight "A's" in all my programming classes (up through Pascal), I was having serious trouble with basic algebra. Anyhow, one thing led to another and I abandoned my programming quest for an artistic one.

Fast forward 30 or so years and somehow I've managed to end up as "Senior Game Designer" for a casual/advergaming company called Blockdot. I put the title in quotes because that's not exactly an accurate description of my job. It's much more on the art side of things than the game design side.

In any case, although I never professionally took the developer route, I never completely gave dropped the ball on it either. I've managed to piece together games with Director, Flash, 3d GameStudio and a few other tools. And when I heard Microsoft was going to allow development of games for the Xbox 360 I knew I'd found my next new toy.

So here we are. I've ran a few proof of concept project with XNA Studio 2.0 but so far nothing has been approached as a complete project. It's all been more of a "where do I start" type of experiments.

So, let's get started.