The single most useful advice I can give for making any game better.. feedback
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
There is one aspect of games I care so much about, yet relatively few people seem to place enough importance on it and schools generally completely overlook it. It's something that can affect any game regardless of genre or scope. So, here it is...
From time to time I've been asked to look at early versions of games and constructively criticize them. Typically there's a great theme involved or clever mechanic, but it's not often that games in an Alpha or even Beta state feel like a really solid experience. It's true of shipping projects from veterans as often as student works or garage projects from talented indies.
If there's one single thing I would drive into any developer's head if I could, it would be the importance of great player feedback. When I talk about feedback, I mean the classic loop between hitting a button and the game responding in a way that simply feels great.
A classic example that floated around Epic for a long time was the first 3D Mario 64. Simply pressing the analog stick resulted in Mario springing to life, arms outstretched like a plane, banking into turns, puffs of dust beneath his feet, great footstep sounds from giant feet... then the inevitable, the player presses "A". Mario unforgettably shouts "WOOHOO!", a cloud appears under his feet as he leaps abruptly, his arm is over his head, when he lands there's a camera bounce, another burst of ground dust, a solid "bonk" sound, etc. Making Mario simply run in a circle and jump, even on a flat green plane of low resolution grass was absolute magic.
When we put cover mechanics into Gears of War we had the same bar. The player is simply pressing the "A" button to enter cover, but the result is anything but simple. Marcus slides forward abruptly towards cover, dust particles streak behind his feet as he travels, a gravel shuffling sound kicks in, the camera lowers while moving closer to the player, he hits the wall with a meaty metal sound, grunts "HUFF!", he animates shouldering into the wall, a huge fast dirt cloud spawns between player and cover, camera plays high intensity shake for a nearly imperceptible blink of time, and the field of view tightens to convey less exposure to fire. Every game needs a "feel like a bad ass" button.
Simply pressing a button has to be an experience people want to repeat. It's what makes a game addictive, intoxicating... it's the recipe for a game that "feels" right.
The best game in the world, regardless of high concept or awesome mechanics, can feel absolutely neutered when these principles are disregarded or neglected. Conversely, there's many simple games that nail player feedback and become extremely successful while people scratch their head wondering how they pulled it off so well. Try opening Angry Birds, pull a bird back in a slingshot and smash him into a pig fort. See if you can count all the things that happen under the hood from that one interaction.
Fruit Ninja gets it, even with slow swipe finger movements, when you intersect with a target there's a brief quick slash effect from your fingertip 'assisting' and speeding your motion (and many other actions). Peggle more than gets it, they're the goddamn grandmasters of amazing player feedback. The way each note in a sequence of impacts raise in pitch to a pleasing series, the flash of each peg before it dissipates, the slow motion as the ball approaches the final peg on the board, the unholy brazen insanity of playing ODE TO JOY(!!!!) WHILE FIREWORKS EXPLODE AROUND YOU as you clear a level.
Imagine any of those games without those elements.
"But those are action based or simple arcade games, I'm making a puzzle game or RTS". It's even more important. If you don't think simply clicking a cursor on someone can be satisfying, think back to the amazing audio reactions Blizzard piles onto their Warcraft characters when you simple select them or give them an order. Slap an imp in Dungeon Keeper. Watch the array of crosshairs that happen when you direct a unit to move to 'X', etc. Great UI has satisfying "clicks" on menu items, and lighting changes, etc."
Here's the thing I can't stress enough. Those items are not polish. They are not something you add at the last moment in your game or put off to the end. If your core concept is the skeleton of your game, these items are the beating heart that makes your game come to life. You can spend an entire development cycle questioning a core mechanic that just doesn't 'grab' you like it does when you see it in your head; meanwhile, a couple hours putting in some decent feedback early on can make that item a key attribute of your game and literally pull a team together around your concept. Do it early and often.
It's about salesmanship. It's selling your concept to your fellow developers so they get excited and hop on board with your vision. It's selling the features to the player so they give your game more than 20 seconds of their attention. It's about bystanders or trailer downloads seeing amazing things happen and them dying to get their hands on the controller.
Here's the awesome part. It's actually not all that complicated, the improvement is immediately obvious, it's a very fun task, you get better at it every time you do it, you'll develop a very personal style and flavor to your features, and once it's done... your game will FEEL like a freaking game. Honestly it's not all that labor intensive; sure there's examples above that use a dozen tricks for one button, but even two good feedback tricks can transform a placeholder feature into an amazing experience. On the flip side, it's virtually impossible to overdo it... just make it feel great, and balance it after ;)
Here's a list of very basic and incomplete moments to consider ramping up based on genres (you'll find your own when you put your mind to it):
Shooters - Firing and connecting with a target MUST be fun. Hit impacts on walls, hits on enemies must be obvious and communicate success, muzzle flares, and subtle camera action on firing or getting hit. Convey getting damaged well and ramp it up as you're closer to going down.
Racing - FOV is your friend, play with it based on your speed, camera movement based on car dynamics (braking/swerving), high frequency camera shakes in intense moments and impacts, crossing the finish line with a flash or slow motion right at the line. Tires screeching or a burst of engine revs when you blip the throttle, for speed games it's really not optional.
Puzzle games - Even turn based can benefit from awesome flash timing. An element in your game disappears? Flash it 2-3 times right before hand. Look at Puzzle Fighter and how amazing it is when you shatter a gem. Hell, grab a mic at your desk and record a dozen lip smacks, mouth pops, swishes, paper tears, claps, etc... and tie them to some events. You'll know immediately if it helps, and polish the audio later.
Melee combat - Consider the classic Street Fighter frame hitch on impact to emphasize a strike. Camera jitters on impacts, if you have health meters, flash them any time they take a hit to show the damage timing. Prioritize feel over realistic animations... crop out the first handful of attack or jump frames and see how responsive it feels, play your game at 1.5 speed and see if you're being dragged down normally.
Any game with a post-match summary or scoreboard - Don't just pop up a number, increment it with an amazing ramping sound. Animate the elements like badges. Unveil the information a couple elements at a time instead of one big info dump. Play a nice swiffing or popping sound with every screen that transitions. Fade the entire screen to white for .1 seconds and then back when a screen appears or disappears to cover transitions.
RTS - Make units respond. Change cursors as you mouseover items to imply functionality, then change the cursor again when they act on something. Major sounds on those interactions. If you're 3D consider camera tricks like slightly narrowing your FOV as you pan a camera around quickly, then settle back out as they stop the motion. Do everything you can to make it dynamic.
Mega artsy game - All feedback doesn't come in the form of a Thunder Valley Monster Truck Mania commercial. Recall in Sword and Sworcery how awesome the wood spirits where when you tapped them and they floated upwards with that utterly amazing soft music chord. Recall in Journey how satisfying the sounds of sand were under your feet, the way it deformed, or how the wind sounds seemed to pick up as you leap into the air and fabric flaps and waves. It's all there.
Any game - grab a pack of audio "stingers" online. Typically very short bursts of music or even a single chord that can be tied to actions as simple as pressing the "start" button on your intro screen.
A couple comments about mobile:
Play Halo sometime, but turn your volume off and see how the furious action holds up. A problem with mobile development is that we know most players on mobile devices play without audio. Games often implore players to put on headphones, because they really gave the audio the love it deserves, but it's largely ignored. For the mobile space, it's even more important for visual elements to read loud and clear on a small screen with glare on a subway.
Touch screen controls are notoriously hard to get feeling "tactile", so it's critical to make those interactions affect the screen in notable ways to confirm to the player "yes, your control input was received, thanks for playing". Virtual d-pads are bad news to many players, but find some way to visibly react to taps even when your buttons are hidden. On an actual game controller we would call any button that didn't APPEAR to do anything when pressed a "dead button" and one players often won't press a second time. Keep an eye out for times a player might get the wrong impression about your touch controls because you're not being obvious enough with the interaction.
Swiping or dragging motions are frequent on mobile games, it's worth investing in tech to allow streamer or splines or particles to emit from your fingertip as it moves. It's up to you how subtle or tastefully you use it, but it's great when it feels like you're constantly touching the world and interacting.
Lastly, call it a stereotype, but I've heard the term "pizazz over polish" before from a notable mobile developer. While I'm not sure where they blur the line with the two, they're kind of on to something with a market of new gamers flooding in and trying more games. If you're making something you expect to be played by millions of people, know that the vast majority of those people like shiny things ;)
I hope this helps and gives you something new to think about as you turn prototypes into masterpieces.
Thanks for reading!