Video game programmer facts for kids
A game programmer is a software engineer, programmer, or computer scientist who builds code for video games. They also create related software, including useful game development tools. Game programming includes many special skills. A game programmer is different from a game designer, who plans the rules and story of game design.
Contents
History of Game Programming
In the early days from the 1970s to the mid-1980s, one person often made an entire game. A game programmer was often the designer and artist too. Early computers had very little memory and weak processors. Games were simple and meant to be played for just a few minutes. Because systems were limited, having separate workers was not necessary.
Later, arcade machines and home systems became much more powerful. Game teams began to add better storylines, physics, artificial intelligence, and digital sound. Today, modern games feature advanced 3D graphics and smooth full motion video crafted by an expert graphic artist. Long ago, simple shapes and bright colors were common. People sometimes jokingly called these early visuals "programmer art".
To make bigger games, studios needed a division of work. Creating visual art became a job for full-time artists. Soon, game programming split completely away from game design. Today, only a few simple games, such as the puzzle game Bejeweled, need just one coder. Usually, large teams work together to create a finished project.
Different Types of Game Programmers
Modern video games need many kinds of experts. Games use sound effects, music, clever computer opponents, and controls like mice, keyboards, gamepads, and joysticks. Players can even compete across the Internet or over a local LAN. Many coders work on these different features.
Game Engine and Physics Coders
Engine coders build the core framework called a game engine. Many teams choose a pre-made engine that is commercial, open source or free. Programmers then customize this foundation for their project.
A physics programmer makes sure objects move naturally. They simulate real forces like gravity. If a game is set in space, coders skip water viscosity to save processing power on the CPU. Sometimes they use shortcuts to keep the game running fast and smooth.
Graphics and Visual Effects
A graphics specialist writes algorithms to display images on a screen. Years ago, coders wrote blitter algorithms for 2D graphics. Today, they build 3D rendering engines using mathematics like vectors, matrix math, and linear algebra. These experts work across almost every computing platform, from handheld game consoles to powerful home systems.
Artificial Intelligence Programmers
An AI programmer makes computer enemies and characters seem smart. They program pathfinding so non-player characters can walk around obstacles without getting stuck. Strategy titles like Civilization III and role-playing games like The Elder Scrolls IV: Oblivion depend heavily on AI. Designers often use a scripting language to set up quests and events. Players also use these scripts when making a game mod. In some titles, like Black & White by Lionhead Studios, a player-guided creature actually learns new behaviors as you play.
Sound and Gameplay Programmers
Audio has been important since early titles like Pong. A sound coder builds audio systems with 3D positional sound. This helps players hear exactly where an enemy is walking. Some unique projects, known as audio games, skip visual art entirely and rely purely on sound cues. Sound programmers also build tools for each sound designer on the team.
Gameplay coders focus on how the game actually plays and feels. They connect player button presses to on-screen actions. They adjust jumping height, player speed, and combat balance. They make sure the game feels fun and responsive.
Network and Online Coders
A network programmer writes the software that connects players online. They make sure data travels quickly to avoid game lag. They also handle disconnected players and keep online matches fair. These systems are very tricky to build and take months of testing.
Tools and Porting Specialists
A tools programmer creates custom development tools for the team. They build editors that let level designers place trees, enemies, and items into worlds. They might also make tools to build a branching dialog tree for character conversations.
A porting programmer adapts code so a title can run on a different system. Porting often means translating a title from a desktop computer to mobile phones or consoles like the PS4 or Wii U. They fix bugs, adjust screen layouts, and make sure memory stays under control.
Languages and Tools Used
Most large video games are created using C++, C, and assembly language. These languages create fast compiled code that keeps the frame rate high. Coders use graphic libraries like DirectX and OpenGL through an API.
Programmers also use flexible scripting languages like Lua and Python to write mission goals. For web games, coders often rely on JavaScript and Java. Teams also use handy tools like Visual Studio to write text and use its built-in debugger to find errors.
Education and Careers
Many programmers start out as hobbyists who build games for fun. Most professional studios prefer to hire people who studied computer science, mathematics, or software engineering at a university. Game programming requires patience, problem solving, and lots of practice, but it lets coders bring amazing interactive worlds to life.
See also
- Programmer
- Game design
- Game development tool
- List of video game industry people#Programming