Beginners ' Gospel: Beginner's Guide to Game development-practical tips

Source: Internet
Author: User

I am often asked how a person with little or no programming experience can begin to make a game. Until now, I have always tried my best to answer one. However, the number of problems has grown to a difficult level, so I decided to summarize all the suggestions in an article as a reference for the people.

This article is intended for people who want to develop their own games, but have little or no programming experience. In fact, I also assume that the reader does not have any programming knowledge at all. I will focus on the programming and design aspects of game development, not on the art side. I'm not going to talk about the game industry (because there's too much information on the topic), but I'll take you through some of the things you need to do before making the game. The point of this note is not to use the method I presented here as the only or best way to learn how to make a game, but it works for me and others.

1. Choose a language

The first thing to do is to choose a language. You have a whole bunch of choices, including Basic, Pascal, C, C + +, Java, and so on, and there's a whole bunch of arguments about which language is best for beginners. To learn the pros and cons of various languages, see John Hattan's wonderful article, "What language should I use?"

I recommend using C and C + + here. Some people think these languages are too difficult for beginners, but from my point of view I am against the idea, because I am starting from C + +. In addition, C + + is currently the most widely used language, so you can find a lot of information and help. As for the first to learn C or to learn C + + is not a big problem, because once you learn one of them, then learn another one is not too much problem. However, if you choose C + + from the outset, be sure that you understand and master process-oriented programming before you learn object-oriented programming. (For example, if you are still unable to compile the program without using the class, don't rush to learn the class)

If you find that it is difficult to learn C + +, it does not matter, go back and choose a simpler language to learn, such as Basic or Pascal. But I think that if you stick to it and find some good information, it's not a big problem to learn C + +.

Your next question is: How do I learn C + +? I'm glad you asked this question. The best way is to go to the lecture. There is no teacher to help answer questions, the impact on your development is enormous, and programming assignments will ensure that you really have mastered what you have learned.

If the lectures are not within your consideration, the next best bet is to find some good books. Don't focus on the book, because you'll buy a few. I suggest you go to a local bookstore and spend some time browsing through the books on C and C + + until you find one that you can understand and learn from. At the same time, you may also want to buy some advanced books or a reference book, but once you have some knowledge of the language, you will have a better idea of what you need. You can find some suggestions in the website books channel.

Here, I give a brief account of many of the entry-level programmers I've seen, especially young people, who don't have the money to buy books or anything else. First, there are many resources that are free of charge, including libraries and Macmillan Computer Publishing (they have hundreds of programming books on their website www.mcp.com). Second, if you want to be a good programmer, you have to consider investing in it. Use every means (legal;<) to get some money.

There are a lot of C and C + + learning tutorials on the web, but I think these tutorials are much better as a reference to your book than as a separate material.

2, choose the right compiler

The program you write, or the source code is stored in a text file, you can even use Notepad to write C/s program. However, there must be something that converts these source codes into an executable file. For C and C + +, this thing is a compiler.

There are a large number of compilers present, many of which are free. Choosing a suitable compiler is very important, and the free compiler has the advantage that you can try it one at a time to see which one you like best. However, free compilers are often less functional than commercial compilers or lack of good technical support. Fortunately, most business compilers have an introductory or a learning version that is the same as the full version, but the price is much cheaper, and the only limitation is that you cannot publish programs developed using the compiler (which you will certainly maintain soon).

3. Choose a target platform

Although you may end up developing programs for a variety of platforms, you should choose one of them to learn. When you are learning a language, you probably want to use a non-GUI operating system, such as DOS or UNIX, before you go into image programming. This helps you focus on language learning to avoid high-level problems, such as Windows programming.

However, once you are ready to start making a game, you should consider converting your target platform. Here are a few common platforms:

Windows: If you want to work full-time in the gaming industry, or if you want a large group of people to play your game, Windows is your first choice. Most of your target customers use Windows, and this situation will not change quickly. A lot of Windows games today use a technique called DirectX that you might have heard about. DirectX is a library that allows you to manipulate hardware directly, and you can rely on it to write High-performance games.

Dos:dos was once the main platform of the game, but it was yesterday. While some enthusiasts are still developing games for DOS, no commercial games have been developed for DOS, and DOS is failing because Microsoft has stopped supporting it. If you're just starting a game, don't choose DOS, if you've already done so, don't stop. Note: Because there are a lot of game programming books written for DOS, learning these books may be thought to develop games in DOS. But as the number of Windows game programming books grows, the debate is getting less and more meaningless.

Linux:linux is a variant of UNIX and is becoming more and more popular because of its stability, cheapness, and anti-Microsoft scenarios. Although the current Linux users are relatively small, but with its enthusiasts and the potential growth of the market, it has become a target platform for a viable choice.

Macintosh: Apple has a few but very loyal followers, and almost every Apple fan I've ever seen has a strong desire for more Apple games. I haven't seen much information on how to develop games on the Mac, but I'm sure it does, so it's a reasonable choice.

Home Consoles: Game consoles (such as Playstation, N64, Dreamcast, etc.) the market is very large, the prospect is considerable. However, for a variety of reasons, it is not possible to develop non-commercial game consoles at present. Most of the games you develop for game consoles are bought by commercial gaming companies.

4, adequate electricity

It's time to discuss the real game. While most of what I have said applies to other languages, for simplicity, I will assume that you have selected C + + for Windows programming.

First of all, before you think about how to start a game, you should be able to master C and C + +. You should know and master pointers, arrays, structures, functions, and classes. By doing this, you can start making the game.

This article can't teach you everything you need to know about making a game. Fortunately, this is not necessary. There are a lot of books on this, and there are hundreds of tutorials on the web. GameDev.net should have everything you need right now. Here are my tips for starting with you:

Learn one or several books. For the beginner programmer of Windows games, the Tricks of the Windows Game programming Gurus is an excellent introductory tutorial on Windows programming. There are many good books in this site that are listed in the book section of this website. Read these books, run all the routines, and repeat the chapters you don't understand.

Use an online tutorial to supplement your book's shortcomings. In addition to clarifying some of the things you read, an online tutorial usually includes topics that are not covered in books.

Find an expert for consultation. If you can't find the answer from a book or a tutorial, go to the message board or chat room on this site and there are a lot of people who are willing to help.

Don't think of the above as an orderly process, but as an iterative parallel process.

It is not enough to learn or think, you should put what you have learned into practice. Start with a simple game and develop gradually. You can read Geoff Howland's article "How do I make Games?" A Path to Game Development ".

First, make a plan for your work. Don't be too eager to join a team, because that will only slow down your learning process. When you have several games in your pocket, you will make a bigger contribution to a team.

One thing I'd like to remind you about books is that you need to read other books besides game programming. To create a variety of games you see in store price, you will have to delve into topics that are more advanced than most game programming books. Some may be found in tutorials, but you still need to buy a few books on graphics, artificial intelligence, networking, physics, and so on. This is the only way to get a degree in computer science because you will be asked to learn some courses that you think are unrelated to game programming, but they are actually related.

5, summary

Here are some techniques that make a big difference:

To know only the gathering knowledge, application is the key. You can't really know and understand these things unless you use them. Do some small test procedures to apply what you have learned and actually complete the exercises after each chapter in the book.

Play a lot of games. You will find inspiration to help you make more excellent games. Of course, this is also a popular way to relieve the pressure of programming.

Help others. You will learn more when you help others.

Finish your work. Don't fall into the trap of thinking: "I know I can finish this game, but I have a better idea, and I'm going to switch to this good project." "If you can stick to the finish, you will learn more, and you have work to prove that you are more than just empty talk." Before you have a lot of experience, make it simple and don't try to make a big, complicated game.

Let's Go! It's time for you to make Quake 4. Of course, it may not be that easy, but at least you can start in this direction and know where to look for more information. After years of hard work, you will succeed!


Basically, the type of compiler you choose depends on how much money you can spend, what operating system and platform you will be developing programs on. If you are ready to contribute to Windows, I strongly recommend using Microsoft's Visual C + +. It has a powerful development environment that makes you feel relaxed and no other compilers are better suited to develop Windows software. If you are a student, you can get a copy at a very low price. If you're going to develop programs in DOS, you'd better use the free DJGPP

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.