Print
Site map

Home

Technology

Industry and Market

Impacts on Society

About us

Video Game Crash of 1983

A Professional Game Programming Team


Questions

Questionaire

 

 

 


A Professional Programming Team

1.Game physics programmer
2.Artificial intelligence programmer
3.Graphics programmer
4.Sound programmer
5.Gameplay programmer
6.Scripter
7.UI programmer
8.Input programmer
9.Network programmer
10.Game tools programmer
11.Porting programmer
12.Lead game programmer


Game physics programmer

• The game physics programmer is in charge of calculating and including the required physics for the game, but s/he must not put excessive physics data into the game because some maybe useless and it will waste important memory and CPU processing.
• CPUs are renowned for their ability to run loops or repeated data efficiently, and physics programmers can take advantage of this by storing a set type of equation, i.e. how the bullet will fly in memory. And then, each time a bullet is fired, the computer can recall the memory, change little values and compute the equation. Doing this once or twice is unnoticeable, but repeating this process thousands of times will show benefits to non-reused code.
• Depending on the situation, one physics programmer might be enough because the game has little physics and therefore little input is required. However, modern day games are very dynamic with a lot of detail and with it comes with a lot of physics. This is a situation where a company hires multiple physics programmers to effectively write code and produce a well developed (and realistic) game.


Artificial intelligence programmer

• An AI programmer’s job is to produce a “simulated intelligent solution” that can act according to its own will and if needed, react to a player’s moves. Commonly, path finding, strategizing, and tactic coordination are important in every game, although first-person shooters require more tactic coordination while Strategy games focuses on strategy and path finding.
• As explained above, many new games, such as Civilization IV and Age of Empires III require a large AI programming group because it has vast “maps” for players to play in and the computer would need to have knowledge to move around the simulated world. Often times programmers create entire databases of code that can be used by the game programmers (referred later) to code the default AI for a game.
• Also, the AI code/database are usually released to the gaming public as a third-party mod development kit for adventurous gamers to program their own AI and distribute it freely in the community.


Graphics programmer

• A graphics programmer is usually a person that is employed to program interactive interfaces and other graphics for application programs. Nowadays the term has changed and it is usually applied to game programmers that focus on developing 3D graphics (renders).
• Every graphics programmer must be skilled and have deep knowledge on very advanced math, including vectors, matrices, quaternion and linear algebra.
• Being a graphics programmer is not easy, but it has benefits because professionals in this elective of game production are rare and a programmer can ask for higher wages and possibly better benefits.
• Another use for a graphics programmer is that s/he can program for almost any console or PC game, be it the Sony Playstation or the Xbox series of consoles.
• Also, graphics programmers must keep in mind of all the advanced graphics hardware in the market that are capable of multi-texturing, shading effects, anti-aliasing, etc.


Sound programmer

• Since the early times of game development (i.e., the famous game, Pong), sound programming was a must and all present day games make use of audio with many sound effects and mood-enhancing background music.
• Most games have advanced sound effects, which include 3D sound and also surround-sound capabilities. Simply put, a few sound programmers use their time to build and improve the sound engine for the game they are working on.
• Some sound programmers may need to have knowledge in digital signal processing.
• The sound programmers create tools to help them maintain the entire library of sounds for use in the game. These powerful tools essentially act as an “application” because it allows the sound designers to put the sounds in the right spots and assign the right sound effects for the game. What game is good without proper sound and enticing music?


Gameplay programmer

• The gameplay programmer, as the name implies, focuses on programming the game to the best interest of the gamer. Usually gameplay programmers are not another type of “job” but instead other programmers with less work load should help out to improve gameplay.
• The gameplay programmer is usually a very versatile person because s/he may have to change certain data values for a strategy or tactic, change the responsiveness of a game unit or even adjusting how long a summer will last in a game. However, those values may be changed by the original programmers themselves and this makes the gameplay programmer an easily replaced person in the team. Furthermore, some companies may opt out the entire elective itself because it may have enough personnel to act as part-time game play programmers.


Scripter

• In the old days, a scripter undertook huge tasks by programming many of the game’s code and content. For example, a unit in a strategy game is supposed to shoot an arrow for a distance of 600 meters and it will kill the enemy in one hit. For a two sentence explanation, a scripter will require many lines of code to effectively “script” all of the details listed above and often the code is written in either C or assembly level language.
• Presently, all game projects require a large team of scripters to successfully work proper code and game mechanics. The scripters are sometimes referred to as game designers and it is more important they possess knowledge of script languages rather than regular programming languages such as C or C++.


UI programmer

• Input programming is not always offered as a separate job title
• Even though the “input” process of keyboards, mouse and sometimes joysticks seem easy, it is an important task for the programmer because the inputs must be extremely accurate and the user cannot have an un-enjoyable experience from poor keyboard/mouse response or bad placement of “hotkeys”.
• Development of the input processes spans the entire length of the project and are changed many times throughout the development stage to accommodate changes.
• For example, FPS games such as F.E.A.R or Half-Life 2 requires a responsive and effective but complex input layout in order for the user to enjoy the gaming experience.


Input programmer

•• Input programming is not always offered as a separate job title
• Even though the “input” process of keyboards, mouse and sometimes joysticks seem easy, it is an important task for the programmer because the inputs must be extremely accurate and the user cannot have an un-enjoyable experience from poor keyboard/mouse response or bad placement of “hotkeys”.
• Development of the input processes spans the entire length of the project and are changed many times throughout the development stage to accommodate changes.
• For example, FPS games such as F.E.A.R or Half-Life 2 requires a responsive and effective but complex input layout in order for the user to enjoy the gaming experience.


Network programmer

• As the name implies, the network programmer is in charge of programming code that allows players to compete against friends or strangers over a variety of connections.
• Connection types include, a LAN, WAN (internet), Modem, or the Serial Port Connection (old).
• Network programming can be a nightmare because data being sent over the internet lines have a chance to be “lost” and thus the program must effectively resend the information without having the game lose too much performance.
• Often, the programmer can spend all the time fixing just the network problems, which makes this job one of the hardest of them all.
• To add to the difficulty, this element is usually added last and will put a lot of stress on the network programmer to get working network support for a game in a short period of time.


Game tools programmer

• The game tools programmer is a less known job role because it is the person’s duty to produce editing programs for the game so that the gaming public can use it to modify almost any aspect of the game.
• Certain tools are only available to the internal/programmers of a game, but there are custom-tailored tools that are released with the game, too.
• Game tool programmers must bear in mind that the gamers are not necessarily code-smart and must program the “tools” so that it is user-friendly and has very little jargon.
• Also, documentation for the tools must be very specific and through so that users will have no trouble understanding instructions.


Porting programmer

• A porting programmer is essentially a multi-platform conversion specialist.
• The programmer is required to understand codes for different platforms, but since nowadays there are at most two to three major platforms (Windows, Mac OS and Linux) this person’s task is not as difficult as it seems.
• However, porting can be a pain because some languages/platforms may have incompatible code structure and will require the other programmers to rewrite thousands of lines of code.
• The porting programmer has to know and be acquainted with many languages because s/he must know the original language (the “initial” platform) and the second language used in another platform/setting. A typical example is converting C++ games into Java and vice versa.
• A porting programmer is unlucky if her/his teammates have inefficient language, limited documentation or sometimes totally invalid code because most if it will be rewritten and it may be a pain for the porting programmer to do so.
• Also porting programmers might be needed to fix bugs not found originally.


Lead game programmer

• The lead programmer resembles a “boss” that is in control of the overall programming structure of the game.
• All the other programmers report to the lead game programmer and s/he will check if the “work” submitted by the others work independently and also coherently.
• A lead game programmer is usually promoted from another programming job, and actually the programmer spends more time working on administrative work rather than working code.
• Of course, the lead programmer must have proper knowledge of at least one or two of the other programming jobs so that s/he may be of use to the team.

Site map About us @Copyright CDNIS 2006 Thinkquest Team