Monday, April 30, 2012

Three Cups of Playtest and a Dash of Progress

Our third playtest turned out pretty positive results again. We've gotten the process nearly down to a science and had our section of the lab set up in record time. Things started off slowly but picked up about an hour in, and by the end we had gotten more testers (or at least more responses) than ever before. People who had tested with us previously indicated that they were happy with how the game was progressing, and everyone else seemed to be enjoying their first experience with it. The tutorial functionality we added proved helpful although a little text heavy. There's still a few things we need to explain a little better though, as people still didn't quite understand missiles on the fighters. We believe that part of it is because missiles needed a target lock to fire, and when people tried it without one they started to believe that missiles just didn't work at all.

Not all of the feedback was what we had hoped for though. Previous tests showed that people wanted keyboard controls in addition to or instead of the mouse. We did implement a keyboard control scheme, although the majority of testers were not fond of it, so either we need to heavily tweak it or our game might not be as conducive to keyboard control as people had hoped. There were also clear difficulty issues. The first mission puts the player against an enemy squadron outnumbering them three to two, and several players were never able to pass this wave. Once they were however, some discovered very quick ways to win a battle, including one tester who essentially solved endless mode and was clearing each wave in about 60 seconds, never losing more than a few ships.

As mentioned above, we added tutorial functionality, which primarily serves as mission briefings and hints or tips during the game. In story mode such tutorials pop up during each mission explaining new gameplay features unlocked that round and the player's objective during the battle. This proved very helpful in getting the players to understand the game. We also made the teams more distinguishable, as the player's ships have a pink exhaust trail while dinner keeps the flame colors. During the playtest several people requested an option for inverted controls, so we added an options page. As of now control inversion is the only thing there, but there is more to come. The final change is one that has been long overdue: an overhaul of the order giving system in mothership mode. The huge bulky buttons have been replaced with icons, with tooltips for clarity. Icons showing each squadron's current orders are now displayed alongside their portrait, with similar tooltips.

Gameplay Updates
The last round of new features are in! We should be mostly feature complete now, so there probably won't be any major gameplay updates after this, but don't worry; we made these ones count. For starters, the last type of ship has been added. Scramblers are the third drone type and are purely a support class, not dealing any actual damage. Instead, their weapons temporarily disable targets, sending other drones berzerk and point defenses firing off shots randomly. The enemy also fights back more intelligently now, as the admiral of the opposing fleet issues some basic orders to its squadrons. For example, when its mothership loses shields, it tends to focus on eliminating the player's main cannons. Saving the best for last, we split the gameplay into two separate modes: Story and Endless. The story mode is a short campaign which also acts as a tutorial for new players. It begins with the player controlling a single squad and progresses until they control a mothership and a full fleet. Endless mode is a sort of all you can eat buffet of battles. It starts off by throwing the player right into the full game, two motherships with full fleets duking it out. Each time the player defeats a wave they have a chance to repair and recover and then it's on to the next fight.

Art & Graphics
Alissa and Madeleine have started the final phase of the ship models: texturing! Until now everything had programmer textures; passable, but not even comparable to what's to come. So far we have the turkey, broccoli, and cupcake models with more on the way. Our lighting model has also been updated to add in bump mapping and a specular map. As shown in the turkey example below, it really makes a big difference!


After Bump Mapping

Final (bump map + specular map)

The bump map added a lot of interesting surface detail to the turkey, but it brought the issue of shininess to the front, which we resolved with another texture which contains per-pixel specular lighting terms. The only problem now is that the "metal" tends to look like Tin, which seems an unlikely material for a gun barrel.

If anyone's interested, we used the GIMP normalmap plugin for our bump mapping, it's really handy!

Tuesday, April 17, 2012

Playtesting and Usability Improvements

We had our second playtest last Friday and got quite a bit of useful feedback from our testers. We had testers play both the C++ and Unity prototypes and take a survey on each, followed by a comparison survey to see which implementations people preferred.

Mothership View Improvements
We made a few updates to the mothership view to get it ready for the playtest. The UI got a minor update compacting it allowing the player to keep a more complete view of the battlefield as they assign orders. Distant ships also got an icon overlay so they can still be seen and identified from far away. We also implemented the shop that the Unity prototype had, so the player can now buy new ships and repair their motherhip between waves. After the playtest we learned that the Unity prototype had a more useful camera to navigate the battle, and that people like to be able to click on the ships themselves instead of only their icons on the side. We updated the C++ prototype to have similar camera controls, allowing panning around instead of locking it to the player mothership. Squadrons are now also clickable as we added picking functionality.

Drone View Improvements
A lot goes on in a Galactose battle, so any helpful information can improve the experience dramatically. We added health bars indicating what the player is shooting and how close it is to being destroyed. The target reticule has also been changed to go down the line of fire for the player ship so they can see just where their shots are going. Arrows have also been added in to show what direction the motherships are, helping the player orient themselves in space. Another helpful update is improved collision mesh detail. Each object can have a set of capsules defining its shape, so the motherships are a lot more difficult to accidentally crash into now.

The playtest results revealed a few other needed changes. The keyboard control in the Unity prototype received a lot of good feedback, so we've been working on implementing a hybrid version in C++. There were also a lot of complaints that when a missile warning appeared on screen it almost inevitably meant death for the player. To give players more time to dodge, the game as a whole actually slows down in a "bullet time" type effect. This allows the player to react and gives the game a more epic feel during a battle. We also pulled the boost control into the C++ prototype, which can act as a missile escape utility or for just getting around empty space more quickly. Lastly, we're experimenting with the roles of the weapons. It used to be very difficult to destroy anything with the lasers, so we effectively swapped the missile/laser damage and made missiles fire much more rapidly to keep them useful.

Other Changes
There's been quite a few other updates, some subtle, some behind the hood, but really the little things can make a big difference. Various UI bits have been cleaned up and are nicer looking and more functional. Different blend modes like additive have been implemented along with other special effects improvements, notably prettier shields and just generally better looking explosions. We added support for MSAA, an icon for the executable, and cleaned up the shaders. And finally, we added asteroids back in. Also we turned them into popcorn.

Sunday, April 1, 2012

Updates and What Have You

Updated Models
We've gotten newer versions of a few models and some new ones altogether. The motherships have been replaced with (nearly) their final versions. UV's and texturing are still temporary but the main structure is all there! The burger has also been updated with new wings and some guns, and the temporary bomber has been replaced with the pie ship.

New Hard Points
We've gotten the rest of the hard point types implemented: shields, main cannons, and engines. The shield generator emits a field around the mothership that block incoming projectiles but it allows ships to pass through and projectiles can still exit through it. The engines just allow the ship to move. While the player ship is the only one that actually does move right now, the speed is now dependent on the number of engine type hard points remaining. Lastly the main cannons are operational. They deal huge amounts of damage but have a long cooldown and won't be very useful in a fight until the enemy's shields are down.

Look and Feel
The shader's been updated and is back to smooth rendering as the noise effect wasn't terribly popular. Space itself is also a little brighter now helping give the game a more cartoony look. The mothership UI has also been updated a little bit to show the squadrons as icons with health bars for how many ships they still have. It's still a long way from where we want but its getting closer to UI that's been planned. Lastly some camera effects have been added such as interpolating, making everything look a little more smooth and giving a better view of the models, and a camera shake when the player takes damage.

There's been a few other minor changes worth mentioning as well. The AI has improved a bit and the bombers will actually make passes at their targets. We almost made it so that after ten seconds of inactivity in the player drone the AI takes over. This was originally a debug feature to look into what exactly the AI does, but we found its also good for little things like keeping the player from flying out of the battlefield and walking away. The battlefield has also been expanded and the motherships are much larger now, allowing for more hard points and a longer more widespread battle.