Game Development Reference
In-Depth Information
Game programming languages— In the early days programming computer
games was a very difficult task that required great skill. A game console like
the very popular Atari VCS has only 128 bytes of RAM and could use car-
tridges with at most 4096 bytes of ROM that had to contain both the program
and the game data. This limited the possibilities considerably. For example,
most games had a symmetric level design because that halved the memory
requirements. Also the machines were extremely slow.
Programming such games was done in an Assembler language. That was
the only way in which a somewhat sophisticated game could be cramped into
such a small amount of memory. Programmers were experts in squeezing out
the last bits of memory and in performing extremely clever hacks to increase
efficiency. The final programs, though, were unreadable and could not be un-
derstood by anyone but the programmer himself. Fortunately, that was not
a problem because back then, games where typically developed by a single
person.
For a long time, this focus on programming in Assembler languages con-
tinued to exist in the game community. Being an excellent Assembler lan-
guage programmer was a key requirement to work in the business. But with
the rapid increase in memory and processing power and the improvement of
compilers this became less and less important. Elements that required top
speed were still programmed in Assembler but most of the code was written
in high-level languages. In particular C++ became the standard for quite a
while. This was also caused by the fact that games became much larger and
were created by teams rather than individuals. It became important that the
game code was readable, reusable, and could more easily be debugged. Also
from a financial perspective, reducing the time programmers had to work on
a game became more important than the efficiency of the code. This led to the
use of higher-level languages such as C#.
2.4 Translating a Program
A computer program is translated by another special program to be used on a certain
computer and processor. Depending on the circumstances, this translating program
is called either an assembler, a compiler or an interpreter. We will discuss the dif-
ferences between these in this section.
2.4.1 Assembler
An assembler is used to translate Assembler programs to direct instructions for the
processor (also called machine code ). Because an Assembler program is different
Search WWH ::




Custom Search