The final area that you should be sure to include is the required resources and scheduling information. The schedule should include an estimate as to the completion of a final project, along with specific steps that are reached along the way, such as an alpha or beta product. The required resources should include all financial
Although we have gone over this process in some detail, we are really only scratching the surface. There are entire
On the CD Feel free to alter the layout of the document as you deem necessary for any projects you are working on. You should definitely look over the sample document located in the Project folder of the CD-ROM to get a better feel for the process.
In this chapter, we are going to look at several development tools. Although this book is based on the
While many issues are debated in game development, the ones that get the most attention and are the most heated are those
One of the most important things to remember is that a good game design can often
Assembly was the first computer language and is a representation of the actual instructions a computer processor runs. It has a very bad reputation that is hard to overcome. Many programmers feel that there aren’t enough benefits in using a language such as assembly. This line of thinking is becoming more
The most often
Historically, many games have used assembly in places where it could benefit the most. For instance, most 3D engines have been written in C or C++, but many of them have a few bits of code that were coded in assembly to improve performance. Most often, these routines are used for displaying information to the screen and are called thousands of times in the execution of a program.
A programmer who is well versed in assembly can be a huge asset to a programming team. While most will use other languages such as C to do some of their programming, they will use the speed of assembly in the routines that need it. Thousands of games have used assembly to optimize their performance.
It is not portable in any way because it is designed for a single processor. It has been given such a bad
If you are planning to write for a specific platform, you should check out the Web sites of the hardware manufacturers for that particular platform. For instance, for X86 machines, you should check out Intel and AMD, the two biggest
Dennis Ritchie created C in the 1970s. Its original purpose was for writing system-level programs such as operating systems, but at the same time, it was intended to be a language that
C is at its best when writing small and very fast programs. As was previously mentioned, it can be
The syntax of the C language takes some time to get used to and might not be the best choice for beginning programmers. It does not lend itself to object-oriented techniques, which can be
There are so many books and so much documentation available for the C language that it could conceivably take an entire chapter to simply list them. With that in mind, you can look in discussion groups or online bookstores such as Barnes and Noble ( www.bn.com ) to look at the most popular of the many books.
C++ is an object-oriented successor to C. If you are unfamiliar with the concept of OOP, it simply means that the programs are built out of objects. Theoretically, using this type of programming allows you to create an application with libraries designed by yourself or others, piecing them together as needed. There are countless libraries available for C++, covering everything from sound to graphics and databases. It’s often a much easier solution for programming, but many game developers do not embrace C++ because it often adds overhead to a game, which slows it down. Obviously, this is not what most game programmers are looking for.
As was previously mentioned, the advocates of a particular language or environment are very quick to point out the weaknesses in other development environments. The C versus C++ argument is probably going on right now in a discussion
A smaller problem within this much larger one is that many individuals try to decide which language they should learn first, C or C++. Again, this is not easy to determine. Although C is probably easier for a beginning programmer to learn, you will not learn object-oriented approaches and will therefore be required to relearn a new way of programming if you want to use most of the
With its object-oriented approach, C++ is much easier to use, and some people like the
Figure 6.1: The Visual C++ IDE is an advantage for developers.
Depending on the situation, C++ may be slower than its C
Like C, there are too many resources to limit this to only a list. Check the listings at any online bookseller’s Web site to determine which books are best for the version of C++ you are using. There are also many good programming classes at your local community college that might be helpful to a new programmer.
Basic has been around for some time now, although Microsoft has clearly captured the market with one of the most popular languages for development of business applications. It is the most widely used language in the world because often it is easier for
Visual Basic’s strength lies in its ease of use. It is nearly
It is the most popular language in the world and has a tremendous user base and support system. The VB IDE, which can be seen in Figure 6.2, is
Figure 6.2: The VB IDE is easy for beginners to pick up.
There are countless user groups and training materials for Visual Basic, and like C and C++ it would be impossible to list even a fraction of them. Most colleges offer low cost courses in Visual Basic. For beginning programmers, you can check out the book
Learning Visual Basic with Applications
. It’s a