How do I get Started
From GPWiki
The wiki is now hosted by GameDev.NET at wiki.gamedev.net. All gpwiki.org content has been moved to the new server. However, the GPWiki forums are still active! Come say hello.
When beginning to learn about game programming, finding a place to start can be intimidating and difficult. This article aims to help point you in the right direction, by giving you the tips and resources you need.
[edit] The Approach: How do I get started?The answer to this question can depend on many things, one of them being your personality.
This page is to help you determine the best approach for you. This page even gets you thinking about distributing or releasing your game to the public, which is admittedly beyond a 'Getting Started' issue for a beginning programmer, but could be considered a 'Getting Started' issue for a programmer who is just beginning game development. Whatever you do, don't get overwhelmed, or frustrated. Scope out some of this information, then roll up your sleeves and try some of it out, there's certainly something here that will fit your needs and your personality.
[edit] First StepsThe first thing to do is to decide which programming language or programming environment you would like to use. You can go about this in several ways:
If you are already proficient in a particular programming language, it is likely best to begin there since game programming is difficult enough on its own; learning a whole new language will only compound the difficulty. If you are not familiar with any particular programming language, you'll need to decide which one you'd like to learn, but you are also in a unique and fortuitous scenario; you can pick the programming environment and language that is best for you.
There is an entire tutorial devoted to picking a first language here. Once you've decided on a language, you'll need to choose a game development library or API. Game libraries may provide you with functions for displaying graphics, playing sounds, getting input, and more. See the Wiki's Libraries for a list of libraries from which you can choose. This is another huge decision. Consider the following:
Now that you've got a language and library in mind, it's time to read tutorials! This is the most important step in the whole process. You now learn to use your selected language and library. Immerse yourself. Read everything you can. If you don't understand, ask for help. Above all, do not give up. The languages page will lead you to a number of game programming tutorials for your language of choice, and your library should have documentation for you to read. When you're ready to try writing some code of your own, you'll need an IDE, or "Integrated Development Environment," which is a program that supplies, among other advanced features, a place to write code and a way to compile it. With many languages, a full-blown IDE is not strictly necessary, but it still might be easier for a beginner to use one. [edit] Gathering Your ToolsThe Programming Tools page has a list of tutorials, with appropriate media development tools that can be found over on the content tools page. This should be useful for you. [edit] Designing Your GameCaution! Yes, caution is definitely called for when designing a game. Avoid newbie mistakes! Follow this advice:
[edit] Creating Game MediaFor many game developers, this is the hardest part! After perusing the content tools page and deciding on a set of tools, it's time to get down to the business of creating your game's media. If you aren't an artist, you may need to search around for partners who are skilled in this area. For beginner games, there isn't anything at all wrong with so-called "programmer art," however. You can also try some of the freely available art resources that can be found on the Internet. See the Game Content Resources page. [edit] Coding Your Game
[edit] Deploying Your GameSo, your game is complete and ready for the masses, but how do you get it to them? That's where deployment comes in. Be sure to read our deployment page for a full description of the options you have. [edit] Selling Your GameIf you have created a game that you feel could be sold, you really have two options: Trying to find a publisher, or publishing the game yourself. There are a number of independent game publishers out there on the internet. Some of them will require that you sign an exclusive contract with them, which means that they will be the sole distributors of your game. Other publishers may give you the option of signing a non-exclusive agreement, although for a lower rate of pay. Self-publishing will ensure that a greater percentage of the total earnings will go into your pockets, but the twin burdens of marketing and sales will then fall squarely upon your shoulders. Some truly excellent articles for independent game developers can be found on Dexterity Software's website. Of course, if you're programming games for the joy of it, or you feel that it would be best for the future of the game and its players, it's always possible you'd like to release the games as Free Software/Open Source Software (FOSS). If so, it's advantageous to decide this early; A number of sites such as Sourceforge give free web-hosting to FOSS projects, and using a FOSS license allows you to reuse code from existing FOSS games with a compatible license. However, while it's theoretically possible to make money selling FOSS, it is not currently a good choice if you hope to be paid for developing your game. [edit] Getting HelpAs always, if you aren't sure how to proceed, or are stuck in any way, visit the forums and ask for help! We're all friendly here, and are quite willing to lend newcomers a hand. Afterall, we were all newbies once!
[edit] External Links
|


