0
\$\begingroup\$

I know the answers are obvious, someone told me this: Graphics Programming: DirectX(or Direct3d), OpenGL, Vulkan, Metal..

Gameplay Programming: Bringing everything together. From design, music, levels, etc.

But could you please explain me in depth the difference? This way i can focus on a specific role in game programming!

\$\endgroup\$
  • \$\begingroup\$ What "depths" are you interested in? Please be more specific. \$\endgroup\$ – Philipp Sep 8 '16 at 9:12
  • \$\begingroup\$ 2 days ago, I went to Naughty Dog's website to check their career page. I saw 2 roles of programming, Gameplay and Graphics, I did a research about the difference asked in a few blogs about it, most of them didn't exactly satisfy me. In the games, I love how to characters move, their fighting styles, and those amazing textures that happen like "Ultimate finishing moves" that makes you jump out of your seat from excitement. In that case, should I focus on Graphic or Gameplay programming...and what are the difference??? \$\endgroup\$ – Abdulrahman Mushref Sep 8 '16 at 9:21
  • 5
    \$\begingroup\$ What your describing in your comment is a collaboration between the gameplay and graphics programmers, the artists that made the textures and animations, the game designers that came up with the finishing move etc. Overall you are saying you like games. \$\endgroup\$ – Uri Popov Sep 8 '16 at 9:27
4
\$\begingroup\$

Graphics programmers do tasks like the following:

  • Implement high-level effects like bloom, chromatic aberration or object outlines

  • Write low-level code to handle API (D3D, GL etc.) objects for textures, buffers, shaders etc. that the high-level functionality is built upon.

Gameplay programmers:

  • Call functions that graphics programmer wrote or let scripters call them.

  • Write a save/load system

  • Handle game state (player's health, weapons etc.)

  • Player and camera movement code etc.

\$\endgroup\$
  • \$\begingroup\$ "Player and camera movement code etc.", you mean...like Uncharted 4 for example, all these jumpings, swinging, punches, etc are all gameplay programmers' job????? \$\endgroup\$ – Abdulrahman Mushref Sep 8 '16 at 9:36
  • 2
    \$\begingroup\$ @SoraKeyheart Yes. Of course he/she needs help from the content people like animations, sound effects etc. but the programmer makes them all work together. \$\endgroup\$ – SurvivalMachine Sep 8 '16 at 9:38
  • \$\begingroup\$ You are awesome....spectacular information. Thank you, I will focus on gamplay programming then! :D \$\endgroup\$ – Abdulrahman Mushref Sep 8 '16 at 9:40
  • 1
    \$\begingroup\$ I advise you to read the "Door Problem" article by Liz England here: lizengland.com/blog/2014/04/the-door-problem The 2nd paragraph explains the roles in game development by using the door problem as example. Note: in some companies a Graphics programmer is a specialist type of a 'Core Engine Programmer'- to optimise the engine in the graphic capabilities or allow special graphical effect to be used. \$\endgroup\$ – Felsir Sep 8 '16 at 12:09
0
\$\begingroup\$

Well, graphics programming is programming how the primitives are drawn on the screen or somewhere else (e.g. image file). Using one of the APIs like OpenGL, DirectX or more recent ones or not using them at all. Real-time and static graphics.

Game engines to the graphic engines is like an operating system to e.g. boot loader - games programming includes graphics programming amoung dozens of other tasks, i.e.:

  • Graphics
  • Game world physics
  • Network
  • User interaction (input)
  • Real-time audio effects
  • Game logic programming (story)

It's very helpful to read a book about how game engines work before you decide which activity to pick. A good starting point is a book called Game Programmings Gems.

EDIT Just google for a game engine development books and pick one with good reviews: https://www.amazon.com/Game-Programming-Computers-Internet-Books/b?ie=UTF8&node=15375251

\$\endgroup\$
  • \$\begingroup\$ Great, thanks for the information, glad I found a good resource. \$\endgroup\$ – Abdulrahman Mushref Sep 8 '16 at 9:41
  • \$\begingroup\$ I know, but I googled that, and I found a book called "game programming gems" XD google.com.sa/… \$\endgroup\$ – Abdulrahman Mushref Sep 8 '16 at 9:55
  • 1
    \$\begingroup\$ "It's very helpful to read a book about how game engines work before" that's not a good advice. You'll have to know how to program games before you know how to program game engines. A better advice would be to start making games using game engines, and then deciding if they want to push it more and work on the engine parts. \$\endgroup\$ – Alexandre Vaillancourt Sep 8 '16 at 9:56
  • \$\begingroup\$ It depends on how you prefer to learn. \$\endgroup\$ – Alexander Sep 8 '16 at 10:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.