Moteur de jeuvignette|Diagramme montrant les nombreux composants systèmes avec lesquels un moteur de jeu est amené à interfacer sur Linux. Un moteur de jeu est un ensemble de composants logiciels qui effectuent des calculs de géométrie et de physique utilisés dans les jeux vidéo. L'ensemble forme un simulateur en temps réel souple qui reproduit les caractéristiques des mondes imaginaires dans lesquels se déroulent les jeux. Le but visé par un moteur de jeu est de permettre à une équipe de développement de se concentrer sur le contenu et le déroulement du jeu plutôt que la résolution de problèmes informatiques.
Langage de programmationthumb|Fragment de code écrit dans le langage de programmation JavaScript. Un langage de programmation est un langage informatique destiné à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de traduction censé rendre sa syntaxe compréhensible par la machine.
Langage de programmation exotiqueUn langage de programmation exotique est un langage de programmation imaginé comme un test des limites de la création de langages de programmation, un exercice intellectuel ou encore une blague, sans aucune intention de créer un langage réellement utile. De tels langages sont souvent un passe-temps pour les hackers ou les programmeurs. L'adjectif « exotique » permet de distinguer ces langages de ceux communément utilisés dans l'industrie.
C (langage)C est un langage de programmation impératif, généraliste et de bas niveau. Inventé au début des années 1970 pour réécrire Unix, C est devenu un des langages les plus utilisés, encore de nos jours. De nombreux langages plus modernes comme C++, C#, Java et PHP ou JavaScript ont repris une syntaxe similaire au C et reprennent en partie sa logique. C offre au développeur une marge de contrôle importante sur la machine (notamment sur la gestion de la mémoire) et est de ce fait utilisé pour réaliser les « fondations » (compilateurs, interpréteurs.
Unity (moteur de jeu)Unity est un moteur de jeu multiplateforme (smartphone, ordinateur, consoles de jeux vidéo et Web) développé par Unity Technologies. Il est l'un des plus répandus dans l'industrie du jeu vidéo, aussi bien pour les grands studios que pour les indépendants du fait de sa rapidité aux prototypages et qu'il permet de sortir les jeux sur tous les supports. Il a la particularité de proposer une licence gratuite dite « Personal » avec quelques limitations de technologie avancée au niveau de l'éditeur, mais sans limitation au niveau du moteur.
Game development kitGame development kits (GDK) are specialized hardware and software used to create commercial video games for game consoles. They may be partnered with game development tools, special game engine licenses, and other middleware to aid video game development. GDKs are typically not available to the public, and require game developers to enter an agreement, partnership, or program with the hardware manufacturer to gain access to the hardware. As console generations pass, development kits often get sold through websites like eBay without repercussions.
Langage de programmation de haut niveauEn programmation informatique, un langage de programmation à haut niveau d'abstraction généralement appelé langage de haut niveau est un langage de programmation orienté autour du problème à résoudre, qui permet d'écrire des programmes en utilisant des mots usuels des langues naturelles (très souvent de l'anglais) et des symboles mathématiques familiers. Un langage de haut niveau fait abstraction des caractéristiques techniques du matériel utilisé pour exécuter le programme, tels que les registres et les drapeaux du processeur.
Développeur de jeux vidéoUn 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.
Développement de jeux vidéoLe développement de jeux vidéo est le processus de conception, de programmation et de test d'un jeu vidéo. L'effort est entrepris par un développeur, allant d'une seule personne à une équipe internationale dispersée à travers le monde. Le développement des jeux commerciaux traditionnels pour PC ou consoles est habituellement financé par un éditeur et peut prendre plusieurs années. Les jeux vidéo indépendants prennent généralement moins de temps et d'argent et peuvent être produits par des particuliers et de petits développeurs.
Comparison of programming languagesProgramming languages are used for controlling the behavior of a machine (often a computer). Like natural languages, programming languages follow rules for syntax and semantics. There are thousands of programming languages and new ones are created every year. Few languages ever become sufficiently popular that they are used by more than a few people, but professional programmers may use dozens of languages in a career. Most programming languages are not standardized by an international (or national) standard, even widely used ones, such as Perl or Standard ML (despite the name).
Unreal EngineUnreal Engine est un moteur de jeu vidéo propriétaire développé par Epic Games. Les principaux concurrents de ce moteur sont Unity et le CryEngine développé par Crytek. Fondée en 1991 par le programmeur Tim Sweeney, Epic Games est au départ une jeune startup dont la stratégie marketing est entièrement basée sur le principe du shareware. Fin 1994, James Schmalz crée un prototype rudimentaire de jeu de flipper en trois dimensions afin de développer ses champs de compétences.
Game development toolA game development tool is a specialized software application that assists or facilitates the making of a video game. Some tasks handled by tools include the conversion of assets (such as 3D models, textures, etc.) into formats required by the game, level editing and script compilation. Almost all game development tools are developed by the developer custom for one game, or by a console manufacturer (such as Nintendo or Microsoft) as part of a game development kit.
Langage de programmation de bas niveauvignette|Language de programmation Un langage de programmation de bas niveau ne fournit que peu d'abstraction par rapport au jeu d'instructions du processeur de la machine. Les langages de bas niveau sont à opposer aux langages de haut niveau, qui permettent de créer un programme sans tenir compte des caractéristiques particulières (registres, etc) de l'ordinateur censé exécuter le programme. Le langage machine et le langage d'assemblage sont les archétypes de langages de bas niveau, puisqu'ils permettent de manipuler explicitement des registres, des adresses mémoires, des instructions machines.
System programming languageA system programming language is a programming language used for system programming; such languages are designed for writing system software, which usually requires different development approaches when compared with application software. Edsger Dijkstra refers to these languages as machine oriented high order languages, or mohol. General-purpose programming languages tend to focus on generic features to allow programs written in the language to use the same code on different platforms.
Source (moteur de jeu)Source est un moteur de jeu 3D de la société Valve Software et utilisé depuis 2004 pour les besoins de ses jeux. C'est un moteur complet qui prend en charge graphisme, son, réseau et physiques. Cette technologie est également proposée à d'autres sociétés, ou aux développeurs amateurs par la mise à disposition d'un kit de développement. Le moteur Source est issu du moteur de jeu GoldSource (Half-Life), lui-même étant une refonte du moteur id Tech 2 (Quake et Quake 2) développé par John Carmack.
Développement de logicielLe développement de logiciel consiste à étudier, concevoir, construire, transformer, mettre au point, maintenir et améliorer des logiciels. Ce travail est effectué par les employés d'éditeurs de logiciels, des entreprises de services du numérique (ESN), des travailleurs indépendants (freelance) et des membres de la communauté du logiciel libre. Un logiciel est créé petit à petit par une équipe d'ingénieurs conformément à un cahier des charges établi par un client demandeur ou une équipe interne.
Moteur physiqueUn moteur physique est, en informatique, une bibliothèque logicielle indépendante appliquée à la résolution de problèmes de la mécanique classique. Les résolutions typiques sont les collisions, la chute des corps, les forces, la cinétique, etc. Les moteurs physiques sont principalement utilisés dans des simulations scientifiques et dans les jeux vidéo. Certains sont également libres pour l'utilisation commerciale, à vérifier bibliothèque par bibliothèque. Box2D (Licence Zlib) Chipmunk (C, C++, Ruby, Python, OCaml.
Jeu vidéo indépendantUn jeu vidéo indépendant est un jeu vidéo créé généralement par des individus ou des équipes de développement relativement petites et sans le soutien financier d'un grand éditeur de jeux vidéo. Il s'oppose donc en ce sens à la plupart des jeux dits « AAA » ou triple-A, mais le terme « indépendant » peut s'appliquer à d'autres scénarios où le développement du jeu présente une certaine indépendance créative par rapport à un éditeur, ce dernier aidant à financer ou à distribuer un jeu.
Software development processIn software engineering, a software development process is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Méthode agilevignette|Daily stand-up, rituel quotidien des méthodes agiles. En ingénierie logicielle, les mettent en avant la collaboration entre des équipes auto-organisées et pluridisciplinaires et leurs clients. Elles s'appuient sur l'utilisation d'un cadre méthodologique léger mais suffisant centré sur l'humain et la communication. Elles préconisent une planification adaptative, un développement évolutif, une livraison précoce et une amélioration continue, et elles encouragent des réponses flexibles au changement.