Aller au contenu

RenderWare

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Renderware)
RenderWare

Informations
Créateur Criterion Software
Première version
Dernière version 3.7 ()
État du projet  Arrêté
Écrit en C, C++
Système d'exploitation Microsoft WindowsVoir et modifier les données sur Wikidata
Environnement Windows, PlayStation 2, Xbox, GameCube, PSP, Nintendo DS
Formats lus RenderWare binary stream file (d), RenderWare 3d model (d), RenderWare 3d model (with rem) (d) et RWX (d)Voir et modifier les données sur Wikidata
Langues Anglais
Type Moteur de jeu, Middleware
Politique de distribution Licence commerciale
Licence Propriétaire
Documentation github.com/electronicarts/RenderWare3DocsVoir et modifier les données sur Wikidata
Site web www.renderware.comVoir et modifier les données sur Wikidata

RenderWare est un moteur de jeu intergiciel (middleware) développé par Criterion Software, une filiale britannique spécialisée de Criterion Games. Lancé commercialement en 1993, il s'impose durant la fin des années 1990 et le début des années 2000 comme l'un des moteurs 3D tiers les plus utilisés dans l'industrie du jeu vidéo, notamment sur PlayStation 2, Xbox et GameCube. Son rachat par Electronic Arts en 2004 précipite son déclin, mais son héritage technique reste considérable. Des franchises majeures comme Grand Theft Auto, Burnout ou Mortal Kombat lui doivent leur moteur graphique.

Origines et premières versions (1993–1997)

[modifier | modifier le code]

RenderWare naît au sein de Criterion Software Ltd, une société fondée en 1993 à Guildford, en Angleterre. À cette époque, les développeurs de jeux vidéo écrivent quasi systématiquement leurs propres moteurs graphiques, un processus coûteux et chronophage. L'ambition de Criterion Software est de proposer un moteur 3D généraliste sous forme de bibliothèque logicielle réutilisable, permettant à n'importe quel studio de se concentrer sur la conception du jeu plutôt que sur la plomberie graphique.

La première version de RenderWare cible les PC sous DOS puis Windows, à une époque où l'accélération matérielle 3D n'existe pas encore pour le grand public. Le moteur fonctionne entièrement en rendu logiciel (software rendering), gérant lui-même la rastérisation, le calcul des tampons de profondeur et le placage de textures. Cette approche est courante avant l'avènement des cartes 3dfx Voodoo en 1996.

Le jeu TrickStyle (1999) et Dave Mirra Freestyle BMX (2000) illustrent cette première génération, où RenderWare est encore principalement un moteur PC/Dreamcast.

L'âge d'or : l'ère PlayStation 2 (2000–2004)

[modifier | modifier le code]

La sortie de la PlayStation 2 en 2000 représente un tournant décisif. Son architecture matérielle, basée sur l'Emotion Engine et le Graphics Synthesizer, est notoirement difficile à programmer efficacement. Criterion Software adapte RenderWare pour exploiter cette architecture complexe et publie la version RenderWare 3, qui devient rapidement la référence du middleware de l'époque.

En 2001, le studio Rockstar Games adopte RenderWare pour développer Grand Theft Auto III, premier opus en monde ouvert entièrement en 3D de la série. Le succès mondial du jeu propulse la notoriété du moteur à un niveau sans précédent. Grand Theft Auto: Vice City (2002) et Grand Theft Auto: San Andreas (2004) confirment cette collaboration. Ces titres démontrent la capacité de RenderWare à gérer des environnements urbains vastes, le streaming de zones à la volée, et un grand nombre d'entités simultanées.

Entre 2000 et 2004, Criterion Software revendique plus de 50 % de part de marché parmi les moteurs tiers sur PlayStation 2, avec des centaines de titres sous licence dans le monde entier.

Rachat par Electronic Arts et déclin (2004–2007)

[modifier | modifier le code]

En août 2004, Electronic Arts rachète Criterion Software pour un montant estimé à environ 48 millions de livres sterling. Cette acquisition est perçue par l'industrie avec inquiétude : EA, concurrent direct de nombreux studios utilisant RenderWare, devient soudainement propriétaire du moteur sur lequel reposent leurs jeux en développement.

Les craintes se concrétisent rapidement. EA cesse de développer activement RenderWare comme produit commercial tiers et redirige les équipes de Criterion vers le développement de la série Burnout. Les studios tiers, privés de support sérieux, se tournent vers des alternatives comme Unreal Engine, Havok pour la physique, ou développent leurs propres solutions internes.

La dernière version officielle, RenderWare 3.7, sort en 2007. Elle reste utilisée pour quelques projets en cours mais n'est plus distribuée à de nouveaux clients. Le site officiel renderware.com est progressivement abandonné.

Architecture technique

[modifier | modifier le code]

Philosophie de conception

[modifier | modifier le code]

RenderWare est conçu autour d'un principe central : l'abstraction matérielle. Le moteur présente aux développeurs une API unique et cohérente, quelle que soit la plateforme cible. En interne, les couches basses (backends) sont spécifiques à chaque matériel : le rendu sur PlayStation 2 passe par le Graphics Synthesizer, tandis que sur PC il peut exploiter DirectX ou OpenGL. Le développeur n'a pas à se soucier de ces différences.

L'ensemble du moteur est écrit en C (et partiellement en C++ pour les outils), ce qui garantit une portabilité maximale et des performances proches du matériel. Les conventions de nommage suivent un schéma préfixé systématique :

  • Le préfixe Rw désigne les objets fondamentaux du noyau (RenderWare Core) : RwTexture, RwCamera, RwFrame
  • Le préfixe Rp désigne les objets des plugins (RenderWare Plugin) : RpWorld, RpClump, RpAtomic
  • Le préfixe Rt désigne les outils utilitaires (RenderWare Toolkit) : RtBMP, RtTOC

Le graphe de scène

[modifier | modifier le code]

RenderWare organise les objets 3D dans un graphe de scène (scene graph) hiérarchique, structuré autour de deux concepts clés :

  • Le RwFrame représente un nœud de transformation dans la hiérarchie. Chaque frame possède une matrice 4×4 décrivant sa position, orientation et échelle relatives à son parent. Les frames peuvent être chaînés pour former des squelettes ou des hiérarchies d'objets (voiture avec roues pivotantes, personnage avec membres articulés).
  • L'RpAtomic est l'unité de rendu fondamentale : il associe un RpGeometry (le mesh 3D) à un RwFrame (sa position dans le monde). C'est l'objet qui est effectivement soumis au pipeline de rendu.
  • Le RpClump est un conteneur regroupant plusieurs RpAtomic et leurs frames associés. Il représente typiquement un objet complet (un véhicule, un personnage) avec toutes ses pièces.
  • Le RpWorld représente l'environnement statique (le niveau, la ville), optimisé via une structure de partitionnement spatial de type arbre BSP (Binary Space Partitioning). Cette structure permet un frustum culling efficace : seules les zones visibles dans le champ de la caméra sont soumises au rendu.

Le pipeline de rendu

[modifier | modifier le code]

Le pipeline de RenderWare suit un modèle modulaire et extensible basé sur des pipelines de traitement chaînés :

  1. Détermination de la visibilité : L'arbre BSP du RpWorld est traversé pour identifier les secteurs (WorldSectors) dans le frustum de la caméra. Un test d'occlusion culling supplémentaire peut être appliqué selon la configuration.
  1. Collecte des atomics : Les RpAtomic visibles sont collectés dans une liste de rendu (render list).
  1. Tri : Les objets peuvent être triés selon leur distance à la caméra, notamment pour la gestion correcte de la transparence (ordre arrière-avant, painter's algorithm) ou pour optimiser les changements d'état matériel (state sorting).
  1. Soumission au matériel : Chaque atomic est soumis à son pipeline de rendu assigné. RenderWare propose un système de pipelines personnalisables : un atomic pipeline est une séquence de nœuds de traitement (pipeline nodes) qui transforment les données de géométrie en primitives soumises au GPU ou au rastériseur logiciel.

Ce système de pipeline nœuds permet aux développeurs de modifier ou d'étendre le rendu à n'importe quelle étape : ajouter un pré-traitement des sommets pour du skinning osseux, insérer un calcul de normal mapping, ou implémenter des effets spéciaux propriétaires.

Formats de fichiers

[modifier | modifier le code]

RenderWare définit ses propres formats binaires, organisés en chunks typés (structure TLV : Type, Length, Value) :

Extension Contenu Description
.dff Clump Modèle 3D : géométries, matériaux, hiérarchie de frames, données d'animation
.bsp World Niveau statique avec arbre BSP pour le partitionnement spatial
.txd Texture Dictionary Dictionnaire de textures : conteneur regroupant plusieurs textures compressées (RGBA, DXT, etc.)
.anm Animation Données d'animation squelettique (keyframes de rotation/translation par os)
.col Collision Données de collision (format étendu, notamment par Rockstar Games)

Ces formats sont lus et écrits via le système de streams de RenderWare, qui gère la sérialisation et la désérialisation à travers une abstraction de flux générique, compatible fichier disque, mémoire ou réseau.

Textures et compression

[modifier | modifier le code]

La gestion des textures dans RenderWare repose sur les RwTexDictionary (TXD), des conteneurs partagés entre plusieurs objets d'une même scène. Cette architecture permet de mutualiser la mémoire vidéo : plusieurs modèles référençant les mêmes textures n'en chargent qu'une seule instance en VRAM.

Sur PlayStation 2, les textures sont stockées dans un format propriétaire exploitant le Graphics Synthesizer, avec un support des textures palettisées (4 ou 8 bits par pixel avec palette de couleurs) pour économiser la VRAM limitée (4 Mo). Sur PC, le moteur supporte les formats DXT1, DXT3 et DXT5 (compression S3TC), ainsi que les formats non compressés RGBA 32 bits.

Systèmes complémentaires

[modifier | modifier le code]

À partir de la version 3.x, RenderWare se structure en une suite de produits modulaires :

  • RenderWare Graphics : Le moteur graphique 3D décrit ci-dessus, cœur de la suite.
  • RenderWare Audio : Moteur audio intégré gérant la lecture de sons, le mixage 3D positionnel et les effets DSP. Basé sur la technologie Sensaura.
  • RenderWare Physics : Module de simulation physique pour la gestion des corps rigides, des articulations et des détections de collisions. Concurrent direct de Havok sur les projets utilisant déjà RenderWare Graphics.
  • RenderWare AI : Module expérimental de gestion de l'intelligence artificielle (navigation, comportements d'agents).

RenderWare Studio

[modifier | modifier le code]

Pour faciliter la création de contenu, Criterion Software fournit RenderWare Studio, un environnement de développement intégré permettant aux artistes et game designers de :

  • Assembler des scènes à partir de ressources exportées depuis 3ds Max ou Maya via des plugins dédiés.
  • Prévisualiser le rendu en temps réel dans l'environnement cible (avec émulation des caractéristiques de la plateforme visée).
  • Configurer les pipelines de rendu, les matériaux et les propriétés physiques via une interface graphique.
  • Générer les fichiers de données finaux (DFF, BSP, TXD) prêts à être intégrés dans le projet.

Cette chaîne d'outils est un argument commercial majeur de RenderWare : elle réduit le fossé entre les artistes et le code moteur, permettant une itération plus rapide sur les visuels.

Modèle de distribution et de licence

[modifier | modifier le code]

Licence par titre

[modifier | modifier le code]

Criterion Software distribue RenderWare selon un modèle de licence par titre (per-title licensing), courant dans l'industrie du middleware de l'époque. Les studios paient :

  • Une redevance initiale (upfront fee) pour accéder au SDK, aux outils et au support technique.
  • Une redevance sur les ventes (royalty), généralement calculée comme un pourcentage du chiffre d'affaires généré par chaque titre utilisant le moteur.

Ce modèle permettait à des studios indépendants de taille modeste d'accéder à une technologie de pointe sans devoir investir des années-hommes dans le développement d'un moteur maison.

Le SDK RenderWare

[modifier | modifier le code]

Le SDK (Software Development Kit) est livré sous forme de :

  • Bibliothèques compilées (.lib sous Windows, archives sur console) spécifiques à chaque plateforme cible.
  • Fichiers d'en-tête C exposant l'intégralité de l'API publique.
  • Documentation technique exhaustive (plusieurs milliers de pages au format HTML ou PDF).
  • Exemples de code (samples) illustrant les fonctionnalités du moteur.
  • Plugins exportateurs pour 3ds Max et Maya, permettant l'export des ressources dans les formats natifs RenderWare.

Criterion Software assure un support technique dédié aux studios licenciés, via un portail web privé (RWZone) donnant accès aux mises à jour, aux correctifs (patches) et à une base de connaissances technique.

Portabilité multiplateforme

[modifier | modifier le code]

L'un des principaux arguments de vente de RenderWare est sa capacité à cibler simultanément plusieurs plateformes depuis une base de code unique. Un même titre pouvait être porté de PlayStation 2 vers Xbox ou GameCube avec un minimum de réécriture, les backends matériels étant gérés par RenderWare. Cette promesse, si elle n'est jamais totalement sans friction (les architectures mémoire et les performances relatives diffèrent), représente un gain de productivité substantiel pour les éditeurs multiplateformes.

Héritage et influence

[modifier | modifier le code]

RenderWare a profondément marqué l'industrie du jeu vidéo de la sixième génération de consoles. Il a démocratisé l'accès à la 3D temps réel pour des dizaines de studios, en particulier au Royaume-Uni et en Europe. Son modèle économique de middleware tiers a influencé des moteurs commerciaux ultérieurs comme Unreal Engine (qui adoptera un modèle de licence similaire) et Unity.

Sur le plan purement technique, l'architecture par pipelines modulaires de RenderWare, son système de chunks pour les formats de fichiers, et son organisation en plugins ont établi des conventions qui se retrouvent dans de nombreux moteurs développés dans les années suivantes.

Le rachat par Electronic Arts reste cité comme un exemple emblématique des risques de la dépendance à un middleware tiers : des studios comme Rockstar Games ont dû migrer vers des moteurs maison (le moteur RAGE) pour reprendre le contrôle de leur pipeline technologique.

Liste des jeux

[modifier | modifier le code]
Jeu Année Plate-forme(s) Éditeur / Développeur
AFL Live 2003 2002 PlayStation 2, Xbox IR Gurus
AFL Live 2004 2003 PlayStation 2, Xbox IR Gurus
AFL Live Premiership Edition 2004 PlayStation 2, Xbox IR Gurus
AFL Premiership 2005 2005 PlayStation 2 IR Gurus
AFL Premiership 2006 2006 PlayStation 2 IR Gurus
AFL Premiership 2007 2007 PlayStation 2 IR Gurus
Airport Tycoon 2000 PC
AirBlade 2002 PlayStation 2 Criterion Games / Software
Astérix & Obélix XXL 2004 PlayStation 2, GameCube, PC Atari / Étranges Libellules
Apache: Air Assault 2010 PC
Backyard Basketball 2004 1999–présent PC, PlayStation 2, Xbox 360, Wii, DS, GameCube, GBA Divers
Battlefield 2: Modern Combat 2005 PlayStation 2, Xbox, Xbox 360 DICE
Black 2006 PlayStation 2, Xbox Criterion Games / Electronic Arts
Bleach: Erabareshi Tamashii 2005 PlayStation 2 Sony Computer Entertainment
Blitz: The League 2005 PlayStation 2, Xbox Midway Games
Bratz: Rock Angelz 2004 PlayStation 2, GameCube, PC Blitz Games, AWE Games
Broken Sword: The Sleeping Dragon 2003 PlayStation 2, PC, Xbox The Adventure Company, THQ
Bully 2006 PlayStation 2 Rockstar Games
Burnout 2001 GameCube, PlayStation 2, Xbox Criterion Games / Acclaim Entertainment
Burnout 2: Point of Impact 2002 GameCube, PlayStation 2, Xbox Criterion Games / Acclaim Entertainment
Burnout 3: Takedown 2004 PlayStation 2, Xbox Criterion Games / Electronic Arts
Burnout Legends 2005 Nintendo DS, PSP Criterion Games / Electronic Arts
Burnout Revenge 2005 PlayStation 2, Xbox, Xbox 360 Criterion Games / Electronic Arts
Burnout Dominator 2007 PlayStation 2, PSP Electronic Arts
Burnout Paradise 2008 PlayStation 3, Xbox 360, PC Criterion Games / Electronic Arts
Call of Duty: Finest Hour 2004 GameCube, PlayStation 2, Xbox Activision
Chinese Paladin 4 2007 PC Softstar Shanghai
Chinese Paladin 5 2011 PC Softstar Beijing
Chinese Paladin Online 2009 PC Softstar Taipei
City Crisis 2001 PlayStation 2 Syscom Entertainment, Take-Two Interactive
Cold Fear 2005 PlayStation 2, Xbox, PC Darkworks, Ubisoft
Cold Winter 2005 PlayStation 2 Vivendi Universal Games
Commandos: Strike Force 2006 PlayStation 2, PC, Xbox Eidos Interactive
Corvette Evolution GT 2006 PlayStation 2, PC Black Bean, Milestone
Crackdown 2007 Xbox 360 Microsoft Game Studios
Darkwatch 2005 PlayStation 2, Xbox Capcom
Dave Mirra Freestyle BMX 2000 PC, PlayStation, Dreamcast, GBC Z-Axis Ltd., Acclaim
Dream of Mirror Online 2005 PC Softstar Taipei
DreamMix TV World Fighters 2003 PlayStation 2, GameCube Red Entertainment
Eve: Burst Error Plus 2003 PlayStation 2 Game Village
Evil Dead: Regeneration 2005 PlayStation 2, Xbox, Windows Cranky Pants Games, THQ
Fate/unlimited codes 2008 Arcade, PlayStation 2, PSP Type-Moon, Cavia, Eighting, Capcom
Football Generation 2003 Windows 1C Company, FX Interactive, Take-Two Interactive
Frank Herbert's Dune 2001 PlayStation 2, PC Cryo Interactive Entertainment
Gauntlet: Seven Sorrows 2005 PlayStation 2, Xbox Midway Home Entertainment
G-Nome 1998 PC 7th Level
Grand Theft Auto III 2001 PlayStation 2, Windows, Xbox Rockstar Games
Grand Theft Auto: San Andreas 2004 PlayStation 2, Windows, Xbox Rockstar Games
Grand Theft Auto: Vice City 2002 PlayStation 2, Windows, Xbox Rockstar Games
Headhunter: Redemption 2004 PlayStation 2, Xbox SEGA of America
Hudson Selection Vol. 3: PC Genjin 2003 PlayStation 2, GameCube Hudson Soft
Käpt'n Blaubär - Bannig auf Zack 2005 PC Tivola
Kamen Rider: Seigi no Keifu 2005 PlayStation 2 Bandai, Cavia
Kill Switch 2003 PlayStation 2, PC, Xbox Hip Interactive, Namco Hometek
killer7 2005 PlayStation 2, GameCube Capcom
Madagascar 2005 GameCube, PlayStation 2, PC, Xbox Activision
Manhunt 2003 PC, PlayStation 2, Xbox Rockstar North
Max Payne 2: The Fall of Max Payne 2003 PlayStation 2, Xbox Rockstar Vienna
MLB 2K5 2004 PlayStation 2, Xbox
Mortal Kombat: Armageddon 2006 PlayStation 2, Xbox, Wii Midway Home Entertainment
Mortal Kombat: Deadly Alliance 2002 GBA, GameCube, PlayStation 2, Xbox Midway
Mortal Kombat: Deception 2004 GameCube, PlayStation 2, Xbox Midway Home Entertainment
Nana 2005 PlayStation 2 Konami
NBA Ballers 2004 PlayStation 2, Xbox Midway Games
NFL Blitz 20-03 2002 PlayStation 2, GameCube, Xbox Midway
NRL Rugby League 2003 PlayStation 2, PC, Xbox Tru Blu Entertainment
ObsCure 2004 PlayStation 2, Windows, Xbox DreamCatcher Interactive, MC2 France
Outlaw Golf 2 2004 PlayStation 2, Xbox Global Star Software
Premier Manager 2005/2006 2005 PC, PlayStation 2 ZOO Digital Publishing
Pro Evolution Soccer 2 2002 PlayStation, PlayStation 2, PC Konami
Rayman 2: Revolution 2000 PlayStation 2 Ubisoft
Red Jets 2006 PC InterActive Vision
Rich Man 7 2003 PC Softstar Beijing
Rich Man 7 Plus 2004 PC Softstar Beijing
Rich Man 8 2006 PC Softstar Beijing
Rich Man Universe Online 2010 PC Softstar Beijing
Risk: Global Domination 2003 PlayStation 2 Cyberlore Studios / Atari
RoboCop 2003 PC, PlayStation 2, Xbox Titus
Scorched Planet 1996 PC Virgin Interactive / Criterion Games
S.C.A.R. - Squadra Corse Alfa Romeo 2005 PlayStation 2, Xbox, PC Black Bean, Milestone
Scar of Sky Online 2010 PC Softstar Taipei
Secret Weapons Over Normandy 2003 PlayStation 2, Xbox, PC LucasArts / Totally Games
Shadow the Hedgehog 2005 PlayStation 2, GameCube, Xbox SEGA / Sonic Team USA
Sonic Heroes 2003 PlayStation 2, GameCube, Xbox, PC SEGA / Sonic Team USA
SpongeBob SquarePants: Battle for Bikini Bottom 2003 GameCube, PlayStation 2, PC, Xbox THQ, Heavy Iron Studios, Aspyr
Stardom 3 2005 PC Softstar Taipei
Stardom 3 Plus: Valse of Fame 2006 PC Softstar Taipei
Stardom 3 Plus: Argent Fantasy 2006 PC Softstar Taipei
Stardom 3 Plus: Sweet Melody 2007 PC Softstar Taipei
Suikoden III 2002 PlayStation 2 Konami
Super-Bikes Riding Challenge 2006 PlayStation 2, PC Black Bean, Milestone
Tech Deck: Bare Knuckle Grind 2005 Xbox Visionscape Interactive
Teenage Mutant Ninja Turtles: Mutant Melee 2005 GameCube, PlayStation 2, Xbox, PC Konami
Les Indestructibles : La Terrible Attaque du Démolisseur 2005 Mac OS X, GameCube, PlayStation 2, Windows, Xbox THQ
The Incredibles 2004 Mac OS X, GameCube, PlayStation 2, Windows, Xbox THQ, D3 Publisher
The Settlers V : L'Héritage des Rois 2004 Windows Ubisoft, Blue Byte
The Settlers VI : Bâtisseurs d'empire 2007 Windows Ubisoft, Blue Byte
The SpongeBob SquarePants Movie 2005 GameCube, PlayStation 2, PC, Xbox THQ, Aspyr, Heavy Iron Studios
The Sword Of Etheria 2005 PlayStation 2 Konami
The Warriors 2005 PlayStation 2, Xbox Rockstar Toronto, Rockstar Games
Tony Hawk's Pro Skater 3 2001 GameCube, PlayStation 2, PC, Xbox Neversoft, Activision
Total Overdose 2005 PlayStation 2, Xbox, PC SCI Games
Toxic Grind 2002 Xbox THQ, Blue Shift Inc.
TrickStyle 1999 Dreamcast, PC Acclaim Entertainment, Criterion Games
Wangan Midnight Maximum Tune 2004 Arcade Genki, Namco
Wangan Midnight Maximum Tune 2 2005 Arcade Genki, Namco
Without Warning 2005 PlayStation 2, Xbox Capcom Entertainment
Xuan Yuan Sword 5 2006 PC DOMO Team, Softstar Entertainment
Xuan Yuan Sword Plus: Cloud of the Han 2007 PC DOMO Team, Softstar Entertainment
Xuan Yuan Sword Plus: The Far of Cloud 2010 PC DOMO Team, Softstar Entertainment
yourself!Fitness 2004 PlayStation 2, Xbox, PC responDESIGN
Zanzarah : The Hidden Portal 2002 PC (Windows) Funatics Development, THQ
Zatch Bell! Mamodo Battles 2005 GameCube Bandai, Eighting

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]