The topics I discuss in this tutorial may have been covered in part by other tutorials but this is from my own view point, as a player and a creator. This is the first tutorial I have written, I will try my best to stay on topic and relevant. It may get a little boring, but I'd like to think I make some strong points. I appreciate any positive and negative feed back.
Pick An Audience And A Relevant Theme
Make sure you stay relevant to the game that you are making, you don't have to fit every idea you have in to one game. For example, if you were playing a game that threw fruit in to the air that you had to slice, it would throw people off if you went from that to shooting aliens (It's completely off topic and a different game style.) It's okay to break up continuous repetitive game play with something a little different, and I encourage it. Having different things to do in a game, in my opinion, is what separates the quickly thrown together games with little to no effort from the games that people have put passion and effort into. BUT it should be relevant still. Assuming your game has the player take place of a character, you want things to break up repetitive game play such as mini games, side missions, collectibles, secrets to unlock, even finding hidden items and having OPTIONS (I will cover options more soon.) Everything you do should be something that the character the player assumes participates in.
Different People Like Different Things
The worst thing to do in a game is to attempt to appeal to everyone. It just wont happen. You will always have the people that prefer shooters over sword fighters, foot ball over basket ball, RPGs over fighters and vice versa. Try to stick to a subject and audience you know. It's typically easier to come up with ideas for the subject you enjoy and there are plenty of people who like the same games as you. So if you make a game you enjoy playing, others will enjoy playing it too.
Do Your Research
Play other video games! (Not that I need to convince anyone) Find faults in other games and make sure yours doesn't have that. Pick out things you really like about other games (chances are if you like it, other people like it too) don't out right copy them, but put your own spin on it and try to be convincing it was an original idea.
Confidence Is Key
Usually your first feeling is the right one. Don't spend so much time second guessing anything that you do, if worse comes to worse you can always change it. Project your confidence! If you talk highly about your game, it will build up a hype and get people excited for it. No one wants to play a game that sounds terrible in the description. Don't be scared to say "Hey, here's why my game is better than their game."
Reward The Player...
People love games that make them feel good, that excites them, that quenches their thirst for what ever. Something that marks everything you've done through out your play through is appealing to most. Leveling up in a game is pointless if you don't get better with each level up, as much as getting experience would be pointless without leveling up. Make sure there's a steady increase of difficulty to level up (weather that be in an RPG sense, or going from level to level in a game) and make sure there is something new occasionally, repetition sucks. Money is worthless to the player if there is nothing they can use it for. Sure, you can make it so the player can buy aesthetic things (like a new shirt for a character or posters in the characters room) but what do those really do for the player? Make things look pretty? NO THANKS. When I play a game I want to be able to use my money to make my character better as much as leveling up makes a character stronger. Like buying a new weapon, but that only goes so far.
You can only have so many pistols or swords until the weapons feel the same. VARIETY is lovely. If it's a sword fighting game, make sure there's noticeable differences between each type of weapon (like stab for a dagger, slash with a sword, and pummeling with a mace.) If the game is a shooter, make as many different feeling guns as possible. Where the player can't physically feel the gun shooting, making each gun have subtle and noticeable differences and effects really help achieve a unique feel for each gun. This would help an individual find the perfect gun for them. And when it comes down to it, what's more rewarding in a game than getting new and better things for your disposal? ... Options are, or just as close. Getting to choose where you go next, or what weapon to use, or even down to how you react to certain situations, really makes a game interesting to the player and to see your decisions actually make an impact on the game is phenomenal and very easy to appreciate.
The key to making a game that stays relevant to the community is by making a game that people will want to play over and over. To do this you have to either simply 1.) Make a game that doesn't have a true ending. or 2.) Make a game that people can beat, and still have an urge to replay it from the beginning.
If you want to make a game that never ends you either have to make it an online competitive game or just continuously update that game. If it's online and competitive, remember everything I said about options, you can achieve that with having different game types, and having ways to customize you're character and make them unique to you. Most games that are repetitive and have you either competing with AI or solving puzzles get boring very soon (In my opinion.)
If you're game has a story base to it, consider making every stage very different from the last. With any luck, the player will be able to beat the game and have gone through so many phases they'll have forgotten the beginning and want to replay it and re experience it. Also consider making options in the game so that they go along a different path and even possibly not get to see a certain area or two along their play through. This is a positive way to get a completionist to play through it again.
Stay active with your game and the community it builds. Updating and fixing bugs let's people know the game isn't abandoned and a lost cause. A person will be more inclined to play a game if they know its going to get progressively better as they go. Have holiday specials and events, with something unique from that event that wont be available anywhere else. Have competitions/tournaments/leader boards. People love getting to brag about being number 1 out of thousands, and they'd love it a lot more if they got a reward for it.
If you want your game to be successful you have to give the player a reason to crave it. There has to be something they absolutely want that they have to work for (and by work I mean play.) I'm confident if you use my tips to you're advantage you will only gain from it.