Source (moteur de jeu)

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Source Engine)
Sauter à la navigation Sauter à la recherche
Source
Description de l'image Source engine logo.png.
Description de cette image, également commentée ci-après
Capture d'écran du jeu Zeno Clash, un jeu non Valve utilisant leur moteur.
Informations
Développé par Valve CorporationVoir et modifier les données sur Wikidata
Écrit en C++Voir et modifier les données sur Wikidata
Système d'exploitation Microsoft WindowsVoir et modifier les données sur Wikidata
Environnement Microsoft Windows
Apple macOS
GNU/Linux
PlayStation 3
Xbox
Xbox 360
Xbox One
Android
Langues Multilingue
Type Moteur de jeuVoir et modifier les données sur Wikidata
Licence Propriétaire
Site web source.valvesoftware.com

Chronologie des versions

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.

Historique[modifier | modifier le code]

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. Ce dernier annonçait en 2004 sur son blog[1] que le code d'Half-Life 2 contenait toujours des éléments provenant de Quake. Erik Johnson, employé chez Valve, a détaillé la nomenclature du moteur au sein de la Valve Developer Community[2] :

Alors que nous étions proche de sortir Half-Life (plus ou moins une semaine), nous avions déjà d'autres projets sur lesquels nous avions besoin de commencer à travailler, mais nous ne pouvions risquer d'archiver ce nouveau code sur la version finale du jeu. À partir de ce moment, nous avons créé un fork dans VSS pour obtenir les branches /$Goldsrc et /$Src. Durant les années suivantes, nous avons utilisé en interne les termes "Goldsource" et "Source" pour qualifier ces deux branches. Au départ, la branche Goldsrc du code se référait à la base qui avait déjà été publiée, et Src aux prochaines technologies risquées sur lesquelles nous étions en train de travailler. Quand nous en sommes venu à présenter Half-Life 2 pour la première fois à l'E3, cela faisait partie de notre communication interne de se référer à au moteur "Source" à la place du moteur "Goldsource", et le nom est resté.

Source a été développé pièce par pièce depuis ce fork, et a peu à peu remplacé GoldSrc pour les projets internes de Valve[3], ce qui explique en partie les raisons pour lesquelles le moteur est particulièrement modulaire. Le développement du moteur résulte d'un mélange entre l'intégration de middleware sous licence et de code maison. Source utilise par exemple Bink Video pour la lecture de vidéos[4].

Modularité et mises à jour notables[modifier | modifier le code]

Source a été pensé, à l'opposé des moteurs concurrents, pour évoluer de façon incrémentale avec de nouvelles technologies. Les différents composants du moteur peuvent être mis à jour indépendamment sans réellement impacter les autres modules et distribués automatiquement à tous les utilisateurs via Steam. Dans la plupart des cas, il n'est pas nécessaire de retravailler son projet fonctionnant sur Source pour appliquer ces mises à jour, cependant la pratique a montré que certaines mises à jour majeures ont cassé cette chaine de compatibilité. La sortie de Half-Life 2: Episode One et The Orange Box ont chacun amené une nouvelle version du moteur qui ne pouvait être utilisé sur les anciens jeux ou mods que si les développeurs avaient effectué au préalable un travail de portage du code et contenu. Bien que ce travail de conversion est bien plus léger que les changements de version des moteurs concurrents, cela représentait tout de même une charge de travail non négligeable pour les développeurs ou moddeurs.

Depuis la sortie de la première version de Source en 2004, les mises à jour majeures suivantes ont été réalisées :

Source 2006[modifier | modifier le code]

La branche Source 2006 regroupe les technologies de pointe utilisées par Valve dans Half-Life 2: Episode One. Le rendu HDR et la correction des couleurs furent implémentés pour la première fois sur Day of Defeat: Source, ce qui a nécessité la réécriture du module de shaders du moteur. Ces innovations ont été présenté avec les commentaires des développeurs dans Half-Life 2: Lost Coast. Episode One a de son côté introduit le Phong shading et d'autres petites fonctionnalités. Depuis la transition à Steam Pipe, cette branche est maintenant dépréciée et est utilisée pour sa rétrocompatibilité avec les mods les plus anciens.

Source 2007[modifier | modifier le code]

La branche Source 2007 est une mise à niveau complète du moteur réalisé pour la sortie de l'Orange Box. Un système de particule complet a remplacé les effets qui étaient précédemment directement intégrés au code pour les jeux utilisant une version antérieure du moteur. Un framework et des outils ont été créés pour supporter ce système ainsi que les premières version du Source Filmmaker. De plus, le système d'animations faciales a été amélioré pour supporter l'accélération matérielle des cartes graphiques modernes et permettre une qualité supérieure. La sortie de l'Orange Box sur de multiples supports a été l'occasion de refondre le code de façon importante afin d'y intégrer la prise en charge des microprocesseurs multi-coeurs.

Cependant, la version PC était expérimentale et instable jusqu'à la sortie de Left 4 Dead. Le support des CPU multi-coeurs a par la suite été porté sur Team Fortress 2 et Counter-Strike: Source et Day of Defeat: Source.

Valve s'est chargé de créer la version pour la Xbox 360 de l'Orange Box. Le support de la console est totalement intégré au code du moteur. Cela inclus les convertisseurs de contenus, le cross-platform et l'intégration Xbox Live. Le code d'un jeu peut être porté de PC à Xbox 360 simplement en le recompilant.

Le portage de la version PlayStation 3 a été sous-traitée à Electronic Arts et a été miné par de nombreux problèmes lors de l'opération.

Source 2013 - Support d'OS X, Linux et d'Android[modifier | modifier le code]

En 2010, le moteur fonctionne sur Mac OS X. Des émulations avaient été envisagées, pour finalement opter pour un portage natif en OpenGL.

En 2012, Valve travaille à porter son moteur sur systèmes GNU/Linux[5].

Comme pour GoldSource et id Tech 2, le moteur Source est très apprécié car il est particulièrement fluide, même sur des anciens ordinateurs.

Ceci en fait un moteur de jeu très utilisé et très efficace pour les jeux multijoueurs.

Fonctionnalités[modifier | modifier le code]

  • DirectX9 avec Shader model 3.0 et OpenGL pour les versions PlayStation 3 et macOS.
  • Physique, intégrée en utilisant Havok, qui permet de gérer toutes les interactions physiques de la gravité à la poussée d'Archimède en passant par les déformations.
  • LOD (modèles et environnement)
  • Jusqu'à 32767 sommets (environ 10000 polygones) par modèle[6]
  • Jusqu'à 255 joueurs simultanés en multijoueur[7] (requiert des connexions énormes, un ordinateur très puissant et un serveur très rapide)
  • Bump mapping
  • Cube mapping
  • Environment mapping
  • Parallax mapping (implanté mais désactivé)
  • Système de particules (sprites ou modèles)
  • Éclairage dynamique (possible, mais très coûteux en ressources)
  • Éclairage par radiosité en temps réel
  • Ombres projetées (pré-calculées pour les décors)
  • Éclairage HDR
  • Blur motion
  • Reflet dans l'eau en temps réel
  • Effets climatiques
  • Génération de ciel volumétrique (skybox 3D)
  • Terrain déformable (displacements)
  • Gestion de la parallaxe
  • Rendu dynamique des corps organiques
  • Gestion réaliste des yeux (les personnages n'ont pas le regard vide)
  • Expressions faciales très réalistes
  • Synchronisation des lèvres quelle que soit la langue (synchronisation labiale)
  • Moteur physique réaliste (Havok)
  • IA avancée (capable de se cacher derrière des objets qui ont été déplacés par le joueur)
  • Son surround 7.1
  • Spatialisation 3D du son suivant l'environnement
  • Ressources audio en WAVE, WAVE ADPCM et MP3
  • Optimisation mise au point pour tirer avantage des architectures multicœurs (Intel et AMD, 32-bit et 64-bit, Xbox 360 et PlayStation 3), toutefois de forts ralentissements subsistent sur les cartes de taille conséquente.

Jeux développés sur le moteur Source[modifier | modifier le code]


Source 2[modifier | modifier le code]

À la suite de la GDC de 2015, Valve annonce le développement de Source 2[8], la suite de son premier moteur vieillissant. Source 2 sera gratuit pour les développeurs de contenu, à condition que leur jeu soit sur la plateforme de jeu Steam, produite par Valve.

Notes et références[modifier | modifier le code]

  1. (en) « Welcome, Q3 source, Graphics », sur John Carmack's Blog, (consulté le 25 août 2018)
  2. (en) « Talk:Erik Johnson », sur Valve Developer Community, (consulté le 25 août 2018)
  3. (en) Hodgson David, Half-Life 2: Raising the Bar, Prima Games, (ISBN 0-7615-4364-3)
  4. (en) « Counter-Strike: Source - Full-Screen E3 2004 Presentation », sur GameSpy, (consulté le 25 août 2018)
  5. [1] sur Phoronix
  6. [2] sur Valve Developer Comunity
  7. Network Entities sur Valve Developer Comunity
  8. http://www.nextinpact.com/news/93323-source-2-unity-5-valve-et-unity3d-degainent-leurs-moteurs.htm

Lien externe[modifier | modifier le code]

Sur les autres projets Wikimedia :