Un développeur de jeux vidéo est une personne ou une entreprise qui crée des jeux vidéo en rassemblant plusieurs domaines de compétences comme le game design, la scénarisation, la programmation, l'infographie, la musique assistée par ordinateur, etc. Il peut travailler au sein d'une entreprise, d'un collectif ou être indépendant.
Le développement d'un jeu vidéo utilise plusieurs langages de programmations. Les premiers jeux étaient développés en langage assembleur, version humaine du langage machine, puis, permettant un développement plus rapide, vers des langages plus structuré lors de leurs apparitions. Le langage assembleur est cependant toujours utilisé pour les tâches nécessitant une très grande optimisation. Sur les premiers micro-ordinateurs, le BASIC était le langage le plus répandu, puis, il a été progressivement supplanté par le langage C, venant des systèmes Unix et permettant une approche plus bas niveau.
Enfin, il existe aujourd'hui de nombreux moteurs de jeux, qui s'occupent de ses couches bas niveau. Ceux-ci peuvent être des API utilisés dans des langages de programmation (C, C++, etc), ou langage de script (JavaScript, lua, Python, Ruby, etc.).
Depuis les années 1980, où les micro-ordinateurs étaient tous très différent et les consoles également, les développeurs de jeu ont tenté de rendre leur jeux multiplateformes, en les adaptant aux différentes capacités, tant au niveau puissance de calcul, qu'affichage ou son, de ces différents environnements.
La portabilité d'un jeu est toujours un enjeu important aujourd'hui, permettant de réduire les coûts de développement en visant un public plus large. Far Cry, destiné à la base aux PC, a été porté sur PS2 et Xbox, puis sur PS3, Xbox 360 et sur Wii.
Au niveau de l'affichage graphique, sur ordinateur, ce sont principalement les API SDL pour la 2D et OpenGL, OpenGL ES, et plus récemment Vulkan qui sont utilisés comme bases de l'affichage en multiplateforme. Lorsqu'une application est développée uniquement pour Microsoft Windows les API DirectX pour la 2D, ou Direct3D pour la 3D qui sont utilisées.