This is something I’ve been asked fairly often. If you’re interested in starting your own online game here’s a few things to get you moving in the right direction.
What game are you going to make?
Let’s not put the cart before the horse. Before you can even consider making an online game you need to decide what kind of game you’re going to make. I don’t care if it’s as simple as tic-tac-toe or hangman or as complex as world of warcraft, you’ll need to sit down and put some serious thought into what you want to accomplish before you set yourself to the task. Take some time to write out all of the things you want your game to do (or not do) and create a design document with an easy to follow checklist — this will allow you to check off all the things features and functionality in your game as you work on it.
What programming language are you going to use?
Take a day or two to look at several different programming languages. Which one will make it easiest for you to accomplish all of the goals and tasks you set down in your design document? Choosing the language you’re most familiar with won’t always be the best choice in the grand scheme of things. If you’re not sure which programming language your game is best suited for then try joining a programming forum and getting some honest feedback from senior programmers and developers who can help steer you in the right direction.
Can you afford an online game?
Now that you have a design document and you know what programming language you’re going to use it’s time to get down to facts and figures. How many servers will you need to get your game up and running and what will that cost you? How will you pay for your domain name or any specific software or artwork you’ll need to get your game where you want it to be? Pull up some kind of spreadsheet software and track down the prices for everything you need and add it all up. What will it cost you monthly and yearly? If you’re short on cash you can try to develop via a local machine however this won’t always give you the same experience, environment and the same range of problems as a live setup will. In addition, some programming languages/games require multiple servers in order to work properly so developing locally isn’t always an option.
How long will it take you to develop your online game?
Once you’ve figure out prices it’s time to consider how long it will take you to create your game. This will help you understand what your development costs are before your game is even up and running. There’s no easy way to figure out how long it will take you to make your game, however, you can break up your game design document with estimates (and DEADLINES!!!) on how much time you want to spend on each feature. Try to stick to those and you’ll be more successful in getting your game up and running on a timeline you can afford.
Do you have enough time and money available to dedicate to an online game?
Now you know what it will cost you and you have an idea of how long it will take you to complete your game. This is the make it or break it point. Can you afford the financial burden of getting your game developed and open to the public? What happens if it doesn’t bring in any money? Can you afford sustaining your game (or sadly closing it) if it doesn’t live up to it’s expectations? What happens if you go past your deadline and your game isn’t done yet? What will you do? Do you have enough time to set aside for the development of your game and stick to your deadlines? Will you have time to devote to your game after it’s done to answer emails, manage content, fix bugs and add new features? If the answer to any of these questions is no then you’re not ready to make this game. Shove it in a file — please don’t throw it away and waste your hard work or time — and come back to it again in the future. Go back to the first step and start over again. You can design a new game or the same game over and over again until you can answer every single one of these question with a yes. That means you’re ready to start.
Get setup and start, don’t procrastinate.
When I say you’re ready to start I mean it. Don’t put it aside another second, pull out your wallet to rent some server space or build your local development environment and get started. No excuses. The longer you wait and the more you put it off again and again the less of a chance there is of anything ever getting done. It might be hard and it may take a whole lot of blood, sweat and tears but your efforts will be rewarded with a finished product — whatever that may be.
Start small and simple.
There’s nothing wrong with starting small and keeping things simple. Most working, successful ideas and concepts start out that way. Over time you can refine and re-work the idea until it becomes larger and more complex. Let your game follow the same example. Start with anything on your list that’s simple and you can finish quickly. As you finish these small, simple tasks and features of the game you’ll get a greater feeling of accomplishment and it will encourage you continue to working towards the larger and more complex parts of your game. It will also help you stay focused and stick to your deadlines.
Push through the pain!
When all hope seems lost keep going, don’t stop. Even if your code is horrible or your have hundreds of bugs that you can’t fix don’t let it prevent you from completing your game. Nothing is or ever will be perfect. Instead strive to do a little bit better next time, and a little bit better the time after that. Rome wasn’t built in a day and neither will your game or your programming skills.
If at first you don’t succeed… don’t be afraid to close the game and try again.
So at this point your game should be finished and open to the public. Even if you advertise the heck out of it not every game will be a success or work out quite the way you wanted it to. Some people may laugh at it, criticize the graphics, or even tell you it’s repetitive, boring or it’s all been done before. Don’t let anything stop you from taking everything you’ve learned so far from going back to step one to try, try, try again. Whether you close your game or go through a few more iterations to add new features, fix problems and make it better, it will be GUARANTEED to fail in some way, shape or form. Nothing in life is set in stone — if something doesn’t work change it over and over again until it gets the job done and then exceeds your expectations. Every time you make a game or improve upon an existing one you’ll learn more, become a better programmer and game designer, and take another further step down the path of having the next big hit game on the Internet.