This is a discussion on online games in particular, rather than game design in general. This is focused on those who need ideas and advice on multiplayer games. If you're here to read a quick check list of what not to do or dislike reading, then leave now, laziness is why your online games will fail. For those of you who need advice and are willing to put some effort into your next project then continue on. There are too many online games being started and fail to get anywhere on these forums and a few that are hanging on but are progressing very slowly. Making an online game is not a simple task, don't underestimate the work that is put into the ones that have survived on these forums. But here's some considerations that people may want to make before they curse their project with a bad reputation.
Online Game Annoyances:
- Posting a movement demo and calling it an online game. Everyone that visits your thread saw the word "Online". If they're not connecting to a server and playing someone, they're likely to never revisit. Don't post a movement demo. Don't post a demo that isn't worth playing. Think about yourself. Would you like to download something that only allowed you to move around and was limited to just that? Highly doubt that.
- Posting "Testing Connection" threads. Unless you're keeping your server up at all times, this is going to kill you because of the time differences. The new users who don't have patience will spam your thread with "The server isn't up!", "I can't connect!", or "OMG IT DOESN'T WORK!". And basically you just killed your first page and now everyone who visits your thread will see this feedback and think twice about trying your game. Find a friend or someone whose interested in testing with you. Keep the simple connections and actions with people who will privately test it with you. Don't make yourself look like another person who will inevitably fail.
- Post mirrors. It doesn't matter if you prefer a particular host. Others have preferences as well and if they're not met, they won't download. Post a bunch of mirrors. Popular hosts are Willhostforfood, box.net, host-a.net, mediafire.com, filefront.com, and there's dozens more, but do yourself a favor and submit your game to a handful of these hosts and post links. It will get rid of all those "Link doesn't work" comments. It also shows your level of support for your audience.
- Don't update unless you have something worth updating and optimize your updating. Don't force users to re-download every time you decide to make a small edit such as changing a few sprites or adding a new feature that doesn't impact the gaming experience greatly. Build up a good list of updates that will together impact the game and implement an updating system to your game. It's easier for the users if an updater downloads the necessary files that are needed and makes changes for them. Using external resources would make things so much easier. People wouldn't have to re download every little thing. This would be beneficial to updates on map files, sprites, and sounds. Imagine having to download a game that was 40mb and then the next day having to re-download, just because there's a new sprite. It gets annoying. It's good that you're updating, but save it. Make each of your demos worth downloading.
- Don't call your game a MMORPG. Don't use MM on anything that you create. There's nothing Massive about your game and hopefully it's multiplayer. Take a look at the WIP section of this website. Browse down and look at the reply counts. Now look at the ones that have the most feedback and are online games. Do any of them say "NEW MMORPG" screaming out at everyone? No. You know what they're doing with their descriptions? They're providing updates through them such as whether the server is up or down for updating and they're boasting about their newest improvements to their game such as a new revolutionary feature that everyone will want to try. Sell your game. Not literally, but where I'm getting with this is you should be trying to attract your audience. Using the word MMORPG will lead you to FAILURE. Don't use that word. Actually, forget it. What's an MMORPG? It's a bunch of random letters that noobs type when they post a movement system with the words "soon to be online" next to it.
- Make things easy for the users. Make it too easy. Getting started should be as user friendly as possible. In my opinion, connecting to a server and being killed every two seconds is discouraging. A dozen buttons that only serve as movement is just annoying. Making use of over 8 buttons on the keyboard is annoying. Add a tutorial for new users. For example when they create their character send them to a room that takes them through all the controls and allows them to test them on ai, before the enter the player-player interaction side of your game. There's nothing worse then a game where no one knows how to do anything and they're all standing there like "wtf, this sucks." Give them a good introduction. Show off how good the game they're about to play is. Don't make it complicated to learn. Something that is highly recommended is implementing a custom control system. Allow users to alter their movement and skill controls to fit their style. It would make players more comfortable.
- Don't make your game tedious. If you're making an RPG, keeps the distance to things reasonable. Don't make people start over after doing something for 45 minutes. Your games' playability will decrease faster than ever. If your game is a shooting game, don't make it impossible to stay alive. Add some first aid kits, make it fair to those who are not as experienced. In the beginning of games, things should move along swiftly. Leveling up, completing missions and quests shouldn't be too hard or long. Later on as they progress, its understandable to increase the difficulty and time of these things, but don't bore your users in the beginning. Make it fun.
- Battle Systems should be well thought out. If you want more people to play your game, you're going to have to please a variation of users. Some like Real-time fighting, turn-based, player verse player, player verse ai, etc... but you can't choose one. It is best to implement a mixture of them and so every type of player out there has something they can't complain about. A system that makes the person wait too long before they can attack (normally in turnbased) will bore people out of their minds where as a real time system may not give enough time for users to think. Find a medium and give users some flexibility so they can perform their best.
- In game upgrades. If they don't exist, you'll end up losing half of your fanbase. If your players have nothing to look forward to then they have no reason to play. Make sure you have upgrades, whether they're new weapons, clothes, or skills. And make sure they're worth it. Forcing the user to perform a ridiculously long quest that will take them 4 hours to complete and rewarding them with a few mana potions is going to lose you players really quick. Make things exciting.
- Variation in a game is key. If the game is exactly like another game which has more popularity than yours, then why should they play your game? Make yours stand out. Add features that others lack or poorly provide. Typically on online games, people like to stand out as an individual. Usually companies provide a decent selection of accessories for players and implement a trade system that allows players to buy, sell, and earn artificial wealth. Players love to have money and things that others don't or can't have. It makes them feel better. And those who wish to have that special something or a decent amount of currency will strive to get that. If everyone had the same gear, weapons, hair style, and skill, then it would be boring.
- Lag is something that everyone experiences, though some experience it more than others. As a developer you want your game to look it's best and impress people with amazing graphics quality and effects, but some people just can't handle it and will not buy a high end computer just so they can play your game. It would be wise to have a quality setting in which people can turn certain features off. Examples of features that bring hell to low end computers would be: Bloom, Light Rendering, Shadow Rendering, Blurring, and high resolutions. A simple setting with a check box next to the effects you have implemented in your game would make everyone happier. Not only do people lag from the graphics, but think about internet connections. If they're not lagging from a high ping number then think about how much worse it is when their computer screen freezes due to a forest with leaves blooming and casting shadows with a depth of view blur in the background at a resolution of 1280 x 1000 or something intense of the sort. Some computers can handle it. But if you're really looking to implement astonishing eye candy, be prepared to save computers that can't handle it.
- Control is something that you must have. If your server is up and you do in fact get some frequent players you need to be able to control what goes on. People will not hesitate to leave if their experience is not fun. If someone is causing hell to another player then a Game Master or Mod needs to be present, or someone watching the server should have access to warning, kicks, bans, etc... A good ban system should be implemented. No sense in letting your fans suffer from people who don't have lives and need to bully people. So in situations where bullies are having too much fun making your game look bad, you should be able to give them a taste of their medicine with a nice BANNED notice. Or do something to please the users who actually enjoy being on your online game and respect others playing. A game is only as good as it users. No one will like your game if everyone's running around calling people noobs.
- Don't force a person to enter ip addresses to connect. Half the people that will play your game won't know what an ip address is... And for those who know what it is, and how to use it, will get tired of having to type it out everytime they want to play against someone. Having a system that detects and connects people automatically would make life so much easier and will get more replays. Replay value is something that you want, so don't make the user work harder than they should just to get into the game. They're not the one's dealing with numbers. Your code should handle all that for them. Make it easy for people to have access to your game.
- Never start out a game as a 1 player game and think to yourself that you'll convert it to multiplayer later. All you'll end up with is a kluged together buggy monster game that now has a ruined 1 player and multiplayer mode. Good multiplayer games are designed from the ground up as such, so that the actual network systems work well and so that the gameplay can be refined in a multiplayer setting. - Tahnok
- Make the games interface and menu designs eye pleasing. After testing numerous online games this month, I can't tell you how many main menus made my eyes want to bleed with bright colored menus or want to close them shut because they bored me to no end. Make it look professional, simple to read and navigate, you're not impressing anyone with a bright neon banner or doing things very simple such as a simple text title with the button start. Get creative but go easy with the bright colors. Blend more. Make it suit your game. Matching is key. Random is not. Don't. do. it. I stopped playing a game right from the main screen because it had a bright red titled banner in arial font, lime green text boxes, and a bright blue background. That is not a nice way to present a game. It's ugly.
My suggestion to everyone is to not post an online game until they have put some though into how they are going to present themselves and are convinced that their game is ready for public testing. Put time into optimizing it. You will save your project in the long run and save your topic from dozens of irrelevant comments and complains. Your goal is to get good feedback. Make sure you give your players what they want. All of the above may not cover everyones opinion, but I'm a person who tests the games on these forums and this is my opinion. I'm sure some may agree with me on some of these points that I've laid down. If you want your game to go anywhere, do what the successful ones are doing, listen to the users that complain, and learn from it. Don't let your next online game fail...
Edited by Glen, 20 May 2009 - 11:51 PM.