Game development is the overall process of a video game production (from initial concept to distribution), whereas game programming is one part of game development—specifically software development, which involves writing the code that drives a video game.
Read on to learn more about the differences between game programming and game development.
Programmers work with developers to create the back end of a video game (Image: Far Cry Primal, which CG Spectrum Dept. Head of Programming Firas Hosn worked on while at Ubisoft)
What is game programming?
Once a game's design is established, it is up to the game programmers to make it come to life. They create the source code that runs the product, creating algorithms and technologies to facilitate the concept.
The selection of programming languages is key, and many companies will invest heavily in providing programmers with the best possible tools to create their products. Most games will use multiple languages, with C, C++, and Java being amongst the most popular.
During the pre-production stage, game programmers will create prototypes to trial the gameplay elements of the game. These early models test the story and mechanics of the product. They are a crucial part of the development process, serving to iron out bugs in the early stages of production.
Game programmers work in collaborative teams alongside game designers and game artists. These collaborations work to push the boundaries of each discipline to achieve a production's common goal. The creative tension between the limits of technologies, artistic vision, and production constraints power the dynamic innovation that is often the most exciting part of development.
Most game programmers will begin their careers as juniors, specializing in one or several areas. These can include:
Game engine programmer - develops graphics and physics
Physics engine programmer - creates the virtual physics
Graphics engine programmer - designs and tests the 3D graphic renders
AI engine programmer - simulates the behaviors and characteristics of characters
Sound programmer - assembles and mixes SFX and scores
Scripter - writes source code, often assists with design
UI programmer - develops and maintains user interface
Input programmer - connects game to input hardware such as joysticks, keyboards, etc.
Network programmer - codes multiplayer software
Tool programmer - custom builds tools to meet specific needs
Porting programmer - transfers code from one platform to another
Technology programmer - research and development specialist
Generalist - performs various duties on smaller projects
Lead game programmer - leading a software department team
Programmers need a solid knowledge of software coding and often have a computer science background. Throughout their careers, they may have to use different syntax to code the various projects they work on. The key is practice and knowledge of a variety of platforms as each project will be different. If you're more interested in the design aspect, check out our game design courses.
What is game development?
Game development refers to the production process that games go through from the initial concept to the final product.
A good concept is the most important element of the overall project and will determine the marketing and execution. The basic idea of the game is tested by asking crucial questions such as:
Who will play it?
What kind of experience will the player have?
What is the value for the player?
What kind of problems will the player be challenged with?
These important considerations form the building blocks from which the game emerges.
Development of the concept will involve identifying the mechanics, rules, and how a player will move through the game's worlds to achieve their goals. The setting of the game is a world building exercise that establishes both the visual and sound aesthetics and how the environment plays into the overall objectives.
Proof of concept will be tested by prototypes created by game programmers in the pre-production stage. These will contain the key elements of the game and draft a version of the engine from which programmers will build the final master engine. This stage of the process is also vital to the development of the product's overall architecture.
Once these initial steps have been taken, then full production can begin. Game designers oversee the overall creation of the creative elements, including the environment, sound effects, score, creation of characters and objects, and various levels.
Artists work on refining the artwork of the visual elements and begin 3D animation and rendering. Programmers work on source coding the back end. They work closely with all the creative teams to build the custom tools required to make the product work. Developers will oversee the entire process, working closely with all the teams to ensure production runs smoothly.
All involved in the production will refer to the Game Design Document (GDD), the bible for the entire process. This is a living document that is written early in the process that defines the design and direction of the game.
As testing and production glitches are smoothed over, the GDD will be amended to assist in the development and keep production on track. It will also contain important information about the end player the product is targeted, as this will help define features that will appeal to the intended audience.
Quality assurance (QA) is one of the vital final stages of development. QA testers are brought in to identify any faults or bugs. They push the game to its limits to determine how robust it is. They also provide valuable feedback on the user experience.
The team will then work on the issues raised by the QA process and refine the product. During this final stage, all creative and technical teams will put a final polish on the game to make it ready for distribution. Once it is released, support continues as players in the marketplace provide feedback. To maintain its audience, the team must further develop the experience for its players to keep them engaged and continually challenged.
The game development process can take one to three years to complete depending on the complexity and scope of the product.
How to become a video game developer
To start your game development career and learn any of the stages of the game development pipeline, check out CG Spectrum's online game development courses. They're designed to get you industry-ready. Learn programming, design, or art and animation from industry mentors who have worked for major studios like Ubisoft, Microsoft, Sony, and EA.
Understanding the difference between video game programming and video game development will become more apparent as you learn about the production process. Basically, game programming is a crucial subset of the game development process. It requires creative problem-solving skills, a deep understanding of computer science, an analytical mind, a passion for gaming, and the ability to work as part of a team. Game development is the production process that brings a game to fruition and into the hands of eager players.
How to become a game programmer
If you're interested in a game programming career, learning a popular coding language like Python, C++, or Java is a great place to start. You can practice your coding in a game engine, like Unreal Engine, which you can download for free.
Game engine developers like Epic and Unity also provide some great tutorials for beginners to help with learning coding languages (and there are plenty of YouTube tutorials too).
Hungry to learn more? Consider enrolling in agame programming course. CG Spectrum offers specialized game programming courses mentored by industry professionals worked on best-selling video games such as Assassin's Creed 3, Splinter Cell: Blacklist, Far Cry Primal, and Watchdogs 2 and 3. These courses willhelp you progress from an inexperienced programmer to a capable Unreal Engine developer. You'll learn how to navigate Unreal Engine using C++ and graduate with a playable game made from scratch.
Get into game development and start your game programming career with CG Spectrum!
If a job as a game programmer in the video games industry sounds appealing to you, CG Spectrum's online courses will get you job-ready! Progress faster with personal mentorship from industry experts who have worked on best-selling games at major studios.