Polishing is kinda like cleaning your house / apartment - people tend to notice only when you haven't done it. Sometimes it's very hard for me to see past this same game I've been living with for months and see where the rough edges still lay (especially as a programmer). So I wanted to ask people - what kind of steps do you take to make sure you've got the "polish" your game needs (and your audience demands)? What are some of the common things people miss that makes potential customers look at the game and say, "Ick! Not very polished!" Are there any common details you focus particular attention to? I'll take an easy one to get things started: The lack of highlighting a menu-button when the mouse passes over it is an obvious one that I still see games miss from time to time. A subtle auditory feedback when a new button / menu option is surprisingly re-assuring as well.
I'm experiencing exactly the same thing right now. In fact, my buttons don't have highlight or sound yet, and I got so used to it I didn't notice I sent my pre-beta to some friends, which came up with lots of these little suggestions you just don't see. I think getting external, fresh eyeballs is of great help. Another thing that can help is "abandoning" your game for 2 or 3 days and coming back to it. I find I see it much more objectively than before. Downloading random demos and playing them also help. You may not find inspiration for gameplay elements from a match 3 game if you're making a racing game, but you can get UI and polish inspiration.
Usually what I do is get my game perfect.. to a point where all the graphics and everything are exactly great and just the way I want them. Then I show the game to mike boeh and anthony flack who point out how bad the fonts and colors are and how everything is totally broken. Then I change everything and repeat the process 4 or 5 times until im done
Couple of things that I don't like seeing in games that make me think "lack of polish". .Times new roman (or any standard windows font) used for OSI/Front end etc.. really really DATES the game and looks non-pro. Use custom bitmap fonts wherever you can. .Lack of loading bars/progress bars on initial splash screens/stings and leading to IIS (initial interactive state) .Midi files for music instead of wavs/oggs/mods (ok - not a problem per se, I just think they are cheese city no matter how good the music is, it is not 1993) .Lack of Menu button hilighting (with sound) .Non standard use of windows keys (esc,alt-tab etc). Esc should bring up pause, back you out and eventually ask you to quit. A lot of times it is disabled or it just quits you no matter where you are in game (left over from debug perhaps?) .Leaving the mouse cursor showing in game when it is not used! .Optimising > Speed, graphics size etc .Control of game (should be intuative, fast and smooth) .BUGS!! The actual graphical content is a personal thing, down to taste.. a game can have average gfx but still "feel" polished and slick. I prefer the feel of the game to be just right before I worry about the gfx on a game I'm playing. unless they are obviously very dated or poorly made. The "polish" elements take time and are not always part of the "exciting" side of game dev but are equally as important, at least to me.
I have to disagree with this one - in the right kind of game, if you're aiming for the cheesy feel, I think old style sound can work - it has to be used sparingly though! I agree with all the other points. The one I would stress though is controls - bad graphics I can ignore, the mouse cursor thing I can ignore, but unresponsive controls (or controls you can't reconfigure) will make me give up a game within minutes of starting it up.
My responsibility on our (first) project is primarily art, so after the basic graphics are in place most of my work has been in the realm of "polish"... I've found that getting a bit of distance from the project is essential - either by leaving things alone for a few days and coming back to it with an objective eye, or by getting someone with a fresh perspective to take a look. For me, the best tester is either of my parents, both of whom are new to computers and need all the polish in the world just to be able to use any program! For me, a large part of polish has to do with making it clear to the user what they can interact with, and giving them satisfying feedback when they do interact with it - both by highlighting buttons and with nice tactile sounds.
You need to be diligent about keeping a to do list. Every time you think of something that should be done make sure you write it down. You won’t remember them all. Also write down thing you probably won’t have time to do but wish you could. You will get used to some of the rough edges and forget there could be another way.
Todo lists are good. Often I used to sit at the keyboard and wonder what needs to be done next, but I now just consult The List. A buddy in work introduced me to the idea of the MoSCoW list. It sounds cheesy, and it is: The MoSCoW List: Things that Must be done. Things that Should be done. Things that Could be done. Things that Would be nice given all the time in the world. I normally just lump everything into "Must" and "Should" categories, and have the list in order of importance.
anyone who likes making todo lists (and who doesnt!? it's more fun than actually doing any work ) should check out the ultimate (in my opinion) todolist app: http://www.codeproject.com/tools/ToDoList2.asp and it's free...
polish can be all kinds of stuff often not just the frontEnd UI and sound. But simply tweaking the controls, camera and neat little details that enhance the gameplay. So it might be little spot particle effects, subtle animation behaviours. Tweaking lighting and final brush FX variation, all the Little things that enhance the game despite not being core to gameplay. Look at Sega and Nintendo, many of their games are incredibly simple but have a lot of polish that is appreciated by their target audience. At the end of the day, I think polish is what you add to guide your players through the game, and keep their interest in completing it high. It's also what raises your game above the doldrums and gives it that professional finish that instills confidence in your product for your audience, be it publisher of gamer.
It's kind of been said before, but anyway: - for basic gfx/sound/usability polish feedback, have new eyes/ears/fingers try your game, and note everything they say, if they are having fun and where they have problems with the UI. - for advanced feedback, ask experienced game developpers (and players?). They might come up with precise explanations where "normal" users just get a feeling of "unfunnyness" or "nonobviousness"... - try other games and look at the details: particle effects, highlighting, in game help, background graphics, sounds...
One thing I like to see in any program is easy navigation through menus. Nothing worse than a game where there isn't a quit button. It also aggrevates me when there is a quit button that isn't mapped to the Esc key (or at least have the Esc key bring up some kind of menu with the option to quit). As for tasks, I keep a detailed tasklist using ActionOutlook, comes in very handy. when I add or change something that I know may bork something, i'll make a quick note to check it out. Same with bugs, and other comments from players. When I find myself bored and unsure what to do, i'll go through the lists and fix a few bugs =)
Polish sells games. Correction - Polish is games. How do you know when you still need more polish? Actually, you always need more polish. Polish is one of those things that can be laid on pretty much infinitely and doesn't detract, however there comes a point when budgets, filesizes and most importantly time dictate where you should stop. I think a better question is: How can you get up to the standards of polish set by others? Here's my methods (as I often get so consumed in my programming that I can't see why something looks unpolished..) 1) Look at other games. Here's the biggie. Look at other games you would consider to be of a similar catagory to yourself that you would consider to be highly polished. Then emulate some of the ideas they used. I often look at bigger retail games for ideas, but also games like Reflexive usually showcase a high amount of polish. 2) Get others to test your game. Ask them to be hyper-critical about parts of your game that look 'less-professional' or 'amateur-ish'. If they are displeased at any time about a lack of variety, or poor graphics in an area then look into fixing it. Another thing I often see as un-polished work is when default fonts are used for in-game text. Simply because bitmap fonts usually look alot nicer. It isn't glaringly bad, so it wouldn't be worth days of changing time, but if your planning a future project try to use only nice smooth bitmap fonts for all of your text. Try to go for the creative! Having creative loading screens, animations or visuals always impresses people. For example: In my game I am making a main character model to be used for a few cutscenes. He is going to be very versatile in the animation department so I figured I'd have the loading screen be a long animation (using keyframes and a modeller) of him doing stuff, looking around, dancing, sleeping, ect. Not that hard to do, but I bet when people see it they won't think (ah I've seen that five times before!) Try simple things like for example: On the world map for my game (which will be a 2-D image) when you select the next area you are going to go to the area will pop of the map as a 3-D place and animation. For example, it may have an image of a star and a small planet orbiting it. When you highlight it the planet will be 3D and start orbiting the star... Not incredibly difficult, but that kind of polish can really make you stand out. There is always going to be 'manual' polish required, but often times putting a little extra in small areas can give something that will make you stand out.
Tracking issues and ideas is very important. I have a ton of stuff in my Fogbugz installation that just waits for the right moment. Small, small details. Many of them just taking an hour to fix right. But very important in the long run. I record almost everything anyone says on the forums. I do occasional sit-down tests with fresh testers and just sit with a pad and jot down pages of notes. And then you need to allocate time in development for these small things. It's funny, but 70-80% of my programming time is polish and fixing bugs. But that's what pays the bills ..
Unpolished game is like an unpolished shoe, it works, but looks crap. All the little animations and small sounds make the game look richer and cleaner. Anything that looks out of place, should be remade. Anything that you don't think is good enough, should be improved. So don't skimp out on any improvements.
That's part of the old 80/20 rule (20% of the job ends up taking 80% of the time...) A new one for me is making sure I don't have any window-style surfaces without some kind of visual framing - even if it's just something like a drop-shadow. A tip I picked up from Terin was to avoid square corners in your interface. A lot of this is UI bits - I guess that's what I'm focusing on a little these days. Because I typically suck at it. Spelling and grammatical errors. Nothing screams unpolished like this, yet I see it again and again in even AAA games (and I've been guilty of it myself).
Dang I am guilty of this in spades, especially in my new game, but isn't this a genre-thing? A cutesy puzzle game never has square corners, but a sim game? I find polish to be really difficult, because its often stuff that isn't at all obvious. we can all tell when a game has extra levels or a better 3D engine, but the polish bits are very difficult to put your finger on. Some things I consider polish: Supporting windowed and full screen mode Supporting different screen resolutions User options: shooters must let me reconfigure keys Pause button, especially in shootermups
What is polish for one game may not be for another. For example, in a casual game or a game with very few key controls, I find the idea of switching key controls may be more costly than its worth. But for any hardcore crowd game, this is almost expected. GUI is usually the first impression of the game. It is very important because you can't remake first impressions. I've played games that I thought were very good but they had missed some of those 'polish' bugs that I would consider unacceptable in my product. (Like having to use the arrow keys instead of mouse to move through buttons). So I think that if anything, you should be focusing on providing the most polish at the very start of your game. The only other time would be to use polish excessively is perhaps when the demo ends so it leaves a potential buyer with a professional opinion of your product. For my game, a space shooter, I added the option to control mouse sensitivity (which controls rotation of your ship) and the option to invert the mouse y-axis. Maybe not critical, but when I tested the game for a friend, mouse y-axis inversion and sensitivity were the first things he wanted to change... I disagree between full-screen and windowed mode. If your playing a casual game where you might be multi-tasking and doing something else at the same time, I would say its a must-have. But for my game (where mouse movement alters the ship movement) I'm positive it would just piss people off when they find that they can't move there mouse to the close button without pausing anyways so it really isn't worth the trouble. As for resolutions, I made sure that my game supported pretty much any resolution possible, even though it tried to select 640x480 as a default. The only resolutions I left out were those that weren't 4:3 letter pan as that screwed up the game view in my compiler...