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.
An attack run on an enemy cruiser.
An ISC cruiser defends itself.
An enemy fighter is destroyed.
NIA cruisers return fire at nearby targets.
Friendly forces close in on the battlefield.
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.