August 28 – Where I’m At

Several months ago, I had a conversation with a colleague about game development. I was expressing to him some concerns about my ability to finish Gateway in a reasonable amount of time, and whether or not the game would actually be fun. He pointed out that many games ship uncompleted, and that companies release content and patches later on. Insightfully, he also suggested that I develop a vertical prototype of my game to get some feedback before releasing it.

A vertical prototype is a narrow slice of a game that is fully playable. An example in my case would be a single mission. Although the main game mechanics (as well as several missions and other features) were already implemented, some of them needed to be upgraded or more thoroughly tested. A vertical prototype would be a great way to focus my efforts, so I made up my mind to develop one for Gateway and have some coworkers play-test it for me.

After that conversation, I spent the next several months fixing bugs and sharpening up some game mechanics. I designed a five minute mission specifically for testing purposes. It included a mix of my favourite dialogue and visuals from the actual campaign. A lot of effort went into improving or redoing some existing art assets, too, that I felt weren’t up to snuff. (My friends who develop game art professionally were an immense help here—they provided me with a ton of useful advice as I reworked my models and textures. Thanks folks!)

I scheduled play-testing for August 26th. Listed below are the tasks I aimed to complete before then. Each task was assigned a difficulty level. Not all of them were completed, but the essentials were done.

  • correct a major bug in the particle system (4)
  • rework the turret animation system to something more realistic (2)
  • model and texture new NIA and ISC cruisers and turrets (18)
  • correct the appearance of the first-person shield effect (1)
  • make the game engine fully adhere to an OpenGL 3.2 core profile (2)
  • rework the GUI system to look nicer and be bug-free (3)
  • add zoom blur effect when boost is activated (2)
  • correct a problem with missile collisions not being detected (1)
  • improve handling of in-game camera (1)
  • add debris assets (space junk, asteroids, cruiser chunks, etc.) (3)
  • correct obstacle avoidance AI (unknown, maybe 2)
  • create NIA/ISC cruiser collision geometry (1)
  • fix an issue with the turret shields not rendering properly (1)
  • optimize laser bolt light generation (2)
  • fix an issue with the targeting arrow (2)
  • discard non-colliding candidates faster during collision checks (1)
  • change laser bolts to use batch rendering (2)
  • texture the new cockpit model (17)

Last week, I demoed Gateway and my coworkers were thrilled to finally try the game I had been talking about for so long. It was very well received, and most of my colleagues had helpful suggestions to make it even better. Here are some of the most notable issues that were identified:

  • targeting arrow is sometimes misleading and still needs a bit of work
  • “target destroyed” and “mission complete” feedback indicators would be useful
  • star fly-bys need to be brighter to indicate player speed
  • HUD speed indicator would be good, too
  • adding a “reverse-flip-over” maneuver to reverse direction would be very useful

During testing, something interesting happened several times: my colleagues became upset that the player didn’t take any damage when colliding against large objects like gates, cruisers, or asteroids. What’s funny about this is that I disabled large-object-collision damage on purpose to make things easier, but everyone seemed disappointed by this. That surprised me, and I have two guesses for why everyone reacted this way: (1) players expected realistic mechanics, i.e., collisions should cause damage, and (2) players might have felt that their careful maneuvers were meaningless if there was no penalty for failing to execute them properly. (This was an eye-opening moment for me. I hadn’t spent a lot of time thinking about these kinds of implicit rewards.)

There were some positive points as well:

  • players found destroying things (turrets, gate coils, fighters, etc.) very satisfying, especially when destroying several of these in quick succession
  • the sleek look and feel of the game made it very pleasant to play in general
  • in-game audio was immersive and well-received

Overall, everyone had a positive experience, which was a bit of a relief for me. Until that day, I really had no idea if my game was fun or not. Also, it was incredibly helpful to get so much detailed feedback. Thanks, everyone!

Of course, I can’t just talk the talk after all that. Here are some screenshots from the vertical prototype mission.

My next task is to tackle the improvements that my coworkers suggested. It’s a real confidence booster to get this kind of feedback. Not that I ever really doubted it, but this experience has reinforced my belief that Gateway is a game not only worth developing, but worth playing, too.

GN

Advertisements

July 26 — Where I’m At

Well, here we are so far. A lot of work has been completed since the last progress report.

  • Voice recording and mastering is all done. That’s right. Every single line has been edited and made to sound like it’s coming over radio, so it’s all campaign-ready. I really enjoyed working with the individuals who were nice enough to offer their voice acting talents. (Finding enough actors was something I was initially concerned about, but many people were very willing to spend a half hour or so working with me to bring my characters to life. I’m very grateful for that.) There were a lot of bloopers filled with jokes and curse words. It made the editing process (which took hours upon hours) very entertaining.
  • The first 3 campaign missions have been built. These are shorter missions intended to gradually introduce features and familiarize the player with the controls, and are thus fairly simple. The remaining missions will be longer, but will probably be built quicker as I develop momentum (and gain familiarity with my own game engine…funny how that works). I have to say, it is incredibly exciting to see the action and hear my characters come to life in the way I imagined.
  • Various game play improvements. The targeting system has been improved, the computer players are smarter, bugs are being squashed…the list goes on.

Currently, my priority is getting the campaign finished. Building the missions not only advances the game towards completion, but also reveals bugs in the engine and helps identify game play issues.

Here is a screenshot from the third mission, Incursion, where a simple assault goes awry and the player’s forces are ambushed by the Coalition.

The player provides support during a mission to destroy a series of enemy network satellites.

The player provides support during a mission to destroy a series of enemy satellites.

Until next time.

GN

July 5 — Where I’m At

It’s only been a week since my last update, but there’s been a lot of good progress. I’ll keep this quick since there’s a few other things I’d like to tackle this evening. So, here we go:

  • Voice recording is nearly, nearly done. Unfortunately, I didn’t reach my goal of having all of the recording done by the end of the weekend. A lot was done this week, but I’m still looking for an actor for the last part (Admiral Banks). All of the other parts have been recorded, though, which means that I can go ahead and build the first eight missions.
  • Improved the cockpit. I decided that even my meager art skills couldn’t excuse the poor quality of the existing design. I spent a few days building and texturing a new cockpit model, which is shown below.

shot-1

  • Improved the missile system. The new system requires players to be smarter about how they launch their missiles; launches that are made too close to a target or not facing the target enough will only result in wasted ordnance.
  • Addressed a number of outstanding bugs and gameplay issues. All minor things, but there’s nothing like a quick demonstration to a colleague to make you realize there’s a lot that needs fixing. (“oops, that shouldn’t happen”, “still gotta fix that”, “that’s boring so I’ve left it until later”, etc.)

GN

June 28 — Where I’m At

Okay, this is a big update. A lot has been accomplished over the last while!

The campaign script has received the final go-ahead from my editor/military consultant. His feedback has resulted in cleaner dialogue with a militaristic feel, which is definitely what I’m going for. Voice recording is proceeding, although much slower than I would like due to the time this takes. I’ve begun mastering the parts that have been recorded. All of the dialogue takes place over radio and is filtered to sound like it.

In addition to the campaign, I wanted Gateway to offer options for customizing and playing your own space battles. This “instant action” game mode is now entirely complete, and marks a major milestone in Gateway‘s progress. Certain parameters are randomized to give a slightly different feel to each battle, but the most meaningful per-fleet parameters (size of fleet, types of spacecraft and gates present, pilot skill level, technology, etc.) are fully configurable. Up to five different fleets of any size can be present, meaning that space battles can be as epic or as personal as you’d like. (They’re also very useful for quickly testing various aspects of game play.)

Featured below are some screenshots from scenarios generated by the instant action engine.

An enemy fighter tries to make a desperate escape.

An enemy fighter tries to make a desperate escape.

Exploding wingmates rock your fighter as two fleets collide.

Explosions rock your fighter as two fleets collide.

Alien cruisers unleash a storm of high-powered ordnance.

Marauder cruisers unleash a storm of high-powered ordnance.

Friendly fighters rush to assist in the defense of New Earth.

Friendly fighters rush to assist in the defense of New Earth.

Currently, my to-do list mostly consists of things like “fix cruiser UV issue”, “fix laggy menu widgets”, “finish new marauder fighter gate”, etc. There are also a few minor game features here and there that need to be implemented. Of course, there’s still the campaign to finish, but I don’t want to proceed until I have all of the voices ready to go. I hope to have them all recorded by the end of next weekend.

There’s still lots to do, but it’s as fun as it always is! And that’s the point.

GN

May 18 — Where I’m At

Voice recording has begun! This is a very exciting step, as the voices for the characters I’ve imagined can finally come alive.

Now, the script is still awaiting some final editing from another source, so there may be the possibility of having to do re-takes to accommodate the changes. The reason I’m starting voice recording already is because I’m getting eager to move this game along!

Since the story is now more or less finished (barring some final editing), a lot of final decisions regarding Gateway‘s gameplay have been made. The campaign itself spans 11 complete missions, and there will also be the option of playing customized instant action games. During these missions, the player will face off against several types of one-manned fighters, a few varieties of cruisers, and even newly-added space mines.

There have also been a number of performance optimizations. Space battles can now be larger, and I feel that this is important when it comes to making the player feel immersed.

Don’t let all this talk bore you! Here are some screenshots to show you what to expect after a few more months of development.

shot-1

Three outmaneuvered alien vessels face destruction from opposing sides.

shot-2

The volcanic planet Grappley is visible behind the chaos.

The next while will be spent fine-tuning the game mechanics, eliminating obvious bugs, and integrating voices into the missions.

GN

Mar. 29 – Where I’m At

This will be a quick update*, but an exciting one — the story for almost all of the 11 in-game missions has been written! All that’s remaining before final script editing and voice recording is just to finish up the dialogue for the last few. I expect I’ll have the last missions fully scripted by next week.

I have to admit, I’m incredibly excited about moving forwards to the recording stage. Several folks I know have generously offered their acting abilities, and I think that they’ll all fit their roles well. Here are some short descriptions of the main characters in the game, who will often be flying and fighting alongside the player.

Col. Warren Matthews
An uncomplicated, straightforward commander. A serious man with very little sense of humour. His people come first, and the mission comes second.

Lt. Andrew “Rig” Nash
Usually second-in-command during missions. Younger and more energetic than Matthews. Primary concern is for his wingmates and subordinates. Terse and forward, one gets the impression that he’s suffered a few scars, both literally and figuratively, over the course of his career.

Ensign Kesha Orr
Fresh out of the training program, Orr’s level of experience is similar to the player’s. Usually the first one to point out new things or ask questions.

Ensign Adam “Belt” Brennan
Second in experience only to Nash. Likes to tell jokes and stories from his past. His ill-timed bantering often attracts negative attention from his superiors.

These descriptions might change slightly throughout the editing process. A lot has changed from the original story already, but I wouldn’t want to spoil anything yet…you’ll get to play it yourself when I’m finished.

GN


* Sorry, no screenshots this time. I’ve recently suffered a hard drive failure and have yet to re-install the libraries needed to run Gateway on my (now fixed) machine to take some new screen grabs. Fortunately, I didn’t lose anything. Cloud storage is your friend.

Finish or Fail

I have a list of unfinished projects as long as my arm. It’s taken me a while to develop the discipline necessary to see my goals through to the end. So, this week’s post will be all about the various causes of project failure that used to plague me, years ago.

Of course, this list is not exhaustive, nor are these categories mutually exclusive. Readers are more than welcome to contribute their own insights.

  • Feature creep. This one hardly needs explanation, and has been the bane of my existence more than once. Too many times have I been unable to resist the pull of flashy features that only served to broaden the scope of my project to such a degree that I could not possibly finish it.
  • Massive changes to the system. A particular game called Wing comes to mind. (This was, in fact, yet another precursor to Gateway.) I had a nearly-finished game engine, support for exciting environments and missions, and a story ready to go. My younger brain thought that it would be a wise idea to upgrade the core graphics engine I had written to something more modern. Instead, all that ever became of Wing was a whole lot of shader bugs and rendering issues. While I could have easily reverted to previous, working versions, I had become so disenchanted with the problems I was having that I ultimately dropped the project. (Fortunately, a lot of the AI and flight mechanics code now reside in Gateway, which has saved me a lot of duplicated effort. So, it wasn’t a waste.)
  • Lack of design. This was an important lesson to learn. Many of my failed game projects began with visions of flashy graphics, advanced particle or rendering effects, or even a single unique gameplay mechanic. Having not given any thought into these projects other than, “this feature is going to be really cool”, they were, of course, doomed to disappear, not having a drop of substance. Since then, I’ve learned that quick, graphical demos are a great way to showcase flashy effects, and that you should have a solid plan in mind before touching a single line of code.
  • Lack of commitment. Being a game dev hobbyist means you’re free to work on whatever you want. I’m constantly being harassed by new and exciting ideas, even as I work on Gateway. Even a well-planned-out game isn’t guaranteed to be completed if you can’t pick your projects wisely. The trick is to choose something that you know you can complete. Initially, this should be something simple, and as you gain experience, you can take on the big ones.
  • Too much commitment. Or, in other words, learn how to take breaks. Your game isn’t going anywhere. Contrary to popular belief, your passion for your project will not dissolve if you set it aside for a week. In fact, you’re likely to return to it refreshed and excited as ever. Constantly pressuring yourself to work on it without disengaging for a while is a sure way to get sick of your project real fast, in favour of some other shiny jewel.

Originally, my failed project, Wing, was about a group of young anarchists trying to buck the system and disrupt a benign, powerful empire simply for fun, when things get out of hand and they find themselves being actively hunted for their increasingly risky crimes. For your viewing pleasure, here are two screenshots. The resemblance to Gateway is fairly apparent if you look closely.

Three established friends test the player's ability to face intense combat odds.

Three established friends test the player’s ability to face intense combat odds.

The player dives low to avoid being caught on radar.

The player dives low to avoid being caught on radar.

GN