Game Development Game Programming

What is the Difference Between Game Programming and Game Development?

The difference between game programming versus game development is a subtle one. 

In short, Game Programmers work with Developers to create the back end of the game. Development is the overall process of video game production from initial concept to distribution. It is the development of the idea to the final product. Programming is the software development of the video game, and Programmers are the ones that create the coding engine that drives the game.

Difference 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 Programming mentor Firas Hosn worked on while at Ubisoft)

Game Programming

Once the game's design is established it is up to the Programmers to make it come to life. They create the source code that runs the product, creating algorithms and technologies to facilitate the concept. Selection of the programming languages is key and many companies will invest heavily in providing Programmers with the best possible tools to create their product. Most games will use multiple languages, with C, C++ and Java being amongst the most popular. 

During the pre-production stage 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.

Programmers work in collaborative teams alongside Designers and Artists. These collaborations work to push the boundaries of each discipline to achieve the common goal of production. 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. 

Learn Game Programming

Most 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 - head of programming department

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 interested in becoming a Programmer CG Spectrum offer a specialized course mentored by industry professionals whose credits include Assassin’s Creed 3, Splinter Cell: Blacklist, Far Cry Primal, and Watchdogs 2 and 3. We can help navigate your way through the programming versus development maze. Check out our Game Programming course to kick start your career with Unreal Engine 4 training, mentor guidance and a student community from which to start building your network. If you're more interested in the design aspect, check out the Game Design course.

Game Development

Development refers to the production process that games go through from initial concept to the final product. 

A good concept is the most important element of the overall project and it 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 worlds to achieve their goals. The setting of the game is a world-building exercise which 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 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. 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) which is the bible for the entire process. This is a living document which 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 the important information about the end player the product is targeted towards as this will assist in defining features that will appeal to the intended audience. 

Quality assurance is one of the vital final stages of development. Testers are brought in to identify any faults or bugs. They push and pull the game to its limits to identify 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 from one to three years to complete depending on the complexity and scope of the product.

To 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 game programming versus game development will become clearer the more 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 which brings a game to fruition and into the hands of eager players.

 

Get Your Programming Career Started with CG Spectrum! 

If a job as a Programmer sounds appealing to you, CG Spectrum's online diploma courses will get you industry-ready! Progress faster with personal mentorship from industry experts who have worked on AAA titles at major studios like Ubisoft. 

Programming Course

Tags:

Game Development Game Programming