Game Development Community

dev|Pro Game Development Curriculum

Progress on Watcher

by J. Alan Atherton · 06/04/2007 (7:21 am) · 5 comments

This is just a compilation of posts at my weekly blog. If you've already read the posts there, not much has changed in this post. This represents the past month of work on my game "Watcher". Things are coming along great! The artwork is all still very much placeholder, and I'm still holding off on working on art until at least a few more subsystems are in place. The game is starting to be fun even in its crude form. Anyway, here are the archives:

Here are some very rough, very raw concept drawings for some
airplanes/airships. Just scanned 'em in, adjusted levels slightly,
and uploaded.

img444.imageshack.us/img444/2159/seagullod1.th.jpg
"The Seagull"

img368.imageshack.us/img368/6308/gliderml5.th.jpg
"Glider"

img444.imageshack.us/img444/9545/bigshippa9.th.jpg
"Big Ship"

img368.imageshack.us/img368/6454/bigpropsm2.th.jpg
"Big Prop"

My favorite so far is "Big Prop." Hopefully by the end of this I'll
have a couple dozen ships that I like as much as "Big Prop."


Today I made it possible to purchase weapons at a store, and equip them in the ship equipment screen. There was a lot of under the hood work to be done to make all that possible. Now it will be rather easy to make new weapons, as long as they are the straight-flying projectile type.

img403.imageshack.us/img403/3224/00200000jz0.th.png
Screenshot showing different weapons

img508.imageshack.us/img508/5400/plasmaballqd6.png
img82.imageshack.us/img82/7196/plasmagunya0.png
Plasma gun art (temporary, obviously)

img508.imageshack.us/img508/4683/guardtowerpk6.png
Guard tower (not yet functional)

The next major step is getting the guard towers to shoot at you, and being able to bomb them. That really won't take all that long, but I don't very often get big blocks of time to work on this.


This week I made good progress on Watcher. Bombs are now part of the standard weapon framework, which means you have to buy a bomb launcher, then equip the launcher on your ship to drop bombs. Bomb explosions now have a radius that diminishes in power as it gets farther from the center of the explosion. Buildings and decorations on the ground now have hitpoints, so one standard bomb isn't enough to destroy them... the guard tower currently takes 6 direct hits to destroy (a fairly difficult task!) although those kinds of statistics will change lots through the course of development.

The most exciting new feature to me this week is the missions (quests) system. Only one mission is available so far, but I think the system is flexible enough to add new mission types with fairly small effort. The one mission is to take 10 units of wheat cargo from the southwest city to the northwest city. When you accept the mission, you first have to fly to the first city to pick up the cargo (it's automatically loaded onto your ship, if you have space). Then you fly to the destination where the cargo is automatically dropped off and you are automatically paid. The system will allow multiple-stage cargo missions too... you could have to deliver cargo to multiple cities or pick up cargo from multiple cities. Right now I don't know if such a cargo mission would be fun or a good idea, but the point is that I can have such a mission if I want.

This morning I made some in-game menus. Now when you land at a landing pad, a city menu pops up so you can choose what you want to do at that city. When you choose the "missions" option, the missions dialog pops up where you can look at available missions and choose from them. Take a look at the new menus:

img337.imageshack.us/img337/9039/00300000fz6.th.png

Yeah yeah, I know the game looks like more of a business application right now, but I'm forcing myself not to do any real artwork until more of the basis is put together. The game is getting to be fun... I need to add a few more cities and then the missions will be more exciting. Fun First! Pretty Later!

In other news, I decided earlier this week to learn a new keyboard layout. It's called Colemak, and it was invented just over a year ago. Check the website: http://www.colemak.com/ and here's an image:

img19.imageshack.us/img19/1596/colemakfingers871fd9abu8.th.png

Several years ago, I learned the Dvorak layout, and I liked it for typing emails and general text, but it was an absolute nightmare for programming and any sort of non-text development. The important shortcut keys just moved around too much, and the symbol locations just didn't make sense for programming. Colemak, in my opinion, fixes quite a few of those problems. It leaves many keys in the same place as Qwerty, but moves the most common English letters to saner places on the keyboard. So far the learning is a little slow, but faster than learning Dvorak. I'm up to probably 20-25 wpm. Unfortunately, I'm a sinner because I didn't type this whole blog post using the layout... I'm just in too much of a hurry. Speaking of... I'm taking off.



Not much happened in development this week. Some time was spent on the design document. I really don't want to work on the design document, though, so I spent some time also developing. The result is a solid TGB crash. Basically I'm trying to load a new level when the player hits a jump gate (shown below).

img73.imageshack.us/img73/9616/00300000yw8.th.png

I'm starting to figure out what needs to happen to keep TGB happy, but it's not quite there yet. The good news is that once I figure it out, I will have accomplished another of my major milestones for prototyping.



So my jump gates work! The solution was simple... at first I was trying to end the current level or empty out all the scenegraphs, but the end result is that you just have to load the next level, and all the rest is taken care of. The result is...

img486.imageshack.us/img486/6436/00300000yq8.th.png

... another world!

There are still some funny bugs (or lacks of features) with jumping, like loading all the defaults for your ship (weapons, upgrades, cargo, etc.) I'll get around to fixing that kinda stuff eventually. Like probably a week before release date (ha!)

Another accomplishment for this last week was jumping from Idaho Falls, ID, back to Provo, UT. I worked in an internship at Idaho National Laboratory for 5 months, and now it's back to PhD fishing in school. Although only a 4 hour drive, the move is still happening, as I type amidst towers of unpacked boxes.

Back to the game, another accomplishment is getting the first draft of a design doc done. It's not so much a design doc as a "core vision" document, but that's my method of game design. I like to work out the details when they are ready to be implemented. This game is already going to be hard to balance, so I don't want to try to balance it on paper and do a poor job of it on paper.

So the next step is making a map/navigation gui to show you where all the cities and jump gates are in your current region. The same gui will be used to see how jump gates connect different regions on a planet. These features will make it possible to give some life to missions... I can describe what city to go to, and then the player can look up where it is on the nav gui.

Don't get lost!

#1
06/04/2007 (7:38 am)
Looking cool. I can't wait to try this out - reminds me of Time Pilot.
#2
06/04/2007 (10:48 am)
@JAA:

If TGB is crashing when you're doing level swapping stuff then it is usually because the script that unloads the level and therefore the active scenegraph might belong to an object in that scenegraph and if you unload it you are pulling the rug out from under the currently executing code - boom, crash.

The usual fix is to have a global or non-scenegraph related function that gets scheduled to run so the calling code can return safely before the level ending happens.
#3
06/04/2007 (11:01 am)
@Neo:

Yeah, I eventually figured it out. Much of it had to do with calling loadLevel from inside the collision callback. So I scheduled the loadLevel and disabled the collision callback temporarily and all was well. That just took some time to figure out.

Thanks for the helpful info!
#4
06/04/2007 (1:46 pm)
Hey, does that mean you are going to be visiting us at the Utah Indie Dev meet again?
#5
06/04/2007 (1:52 pm)
@RampantCoyote:
It's possible. It just depends on the timing of the next meet. I do like going, but I think I'll like going even more when I have a decent game to show off :) Of course, if you're showing off Frayed Knights...