Programmation dans un « vrai » jeu: Unreal Tournament
Mail: Stephane.Lavirotte@unice.fr Web: http://stephane.lavirotte.com/
Université de Nice - Sophia Antipolis
Présentation et Auteur:
Stéphane Lavirotte
Unreal Tournament 2004
Présentation
Unreal Tournament 2004
UT2004
– Développé par Epic Games et Digital Extremes – Sorti sur PC le 16 mars 2004 aux États-Unis
– Jeu de tir subjectif (first-person shooter, abrégé par FPS) – Jeu de combats d'arènes, conçu principalement pour le
multijoueur
– L'innovation majeure qu'il apporte est l'implantation de véhicules dans le gameplay classique des FPS
– 11 modes de combat accessibles
Deathmatch, Team Deathmatch, Capture de drapeau, Capture de drapeau véhiculé, Bombe de balle, Dernier survivant, Invasion, Mutant , Assaut , Attaque , Team Arena Master
Unreal Tournament 2004
Créez votre propre monde
Unreal Editor
Editeur de Niveau Unreal
Unreal Editor (UnrealEd)
– Logiciel permettant la création de carte de jeu
– Epic Games fut parmi les premiers développeurs à inclure un éditeur de niveaux gratuitement dans leurs jeux
– Incorpore un langage de script, UnrealScript, qui permet aux modeleurs de paramétrer les niveaux au-delà du modélisme
Elaboration d'automatismes
Modification des propriétés des décorations
Modification des propriétés des armes
– Permet donc d'accroître la longévité des jeux avec lesquels il est livré
les communautés les complètent constamment avec de nouvelles cartes
Installation de UnrealED
Deux solutions
– Si vous disposez d’une version officielle d’Unreal Tournament
L’éditeur de niveau est fourni avec le jeu
Vous n’aurez plus qu’à le lancer depuis le menu programmes
– Si vous ne disposez par d’Unreal Tournament
Vous pouvez télécharger gratuitement et l’également UnrealEngine2 qui comprend:
– L’éditeur
– Un moteur de renduit pour une utilisation non commerciale ou à but éducative
http://udn.epicgames.com/Powered/UnrealEngine2Runtime2226 2001.html
Menu
Interface Générale
Menu Outils
Menu
Vues
Ligne de Commandes
Menu Outils
Mode Caméra Mode Vertex Editing Scale Brush Rotation Brush
Scale Texture Rotation Texture Tracer de Découpe Polygone Main Levée
Prolonger Brush Mode Terrain Editing Mode Scène
Diviser, Supprimer Diviser
Inverser Sens de Découpe Supprimer Tracer
Cube Escalier Courbe Escalier Courbe Plat Escalier Droit
Terrain BSP Sheet
Cylindre Cône
Ajouter Soustraire
Intersection « Désintersection » Ajout Brush spécial Ajout Static Mesh
Ajout mover Ajout Antiportal Ajout Volume
Monter Sélection Seule Cacher Sélection Tout Montrer Inverser Montrer /
Cacher Vitesse Déplacement
Symétrie par X Symétrie par Y Symétrie par Z Sélectionner inclus
Configuration des Vues 2D et 3D
Déplacement dans les Vues 2D
Mouse Buttons Directions Button to Hold on Action Pan
Zoom In/Out
Right Click Menu
A Place a New Actor
L Place a New Light
Ctrl Move Item without Panning
Déplacement dans les Vues 2D
Mouse Buttons Directions Button to Hold on Action
Ctrl Rotate Item without Panning
Shift Rotate Item with Panning
Ctrl Resize current Brush (scale selected) Ctrl Size Brush along one
axis (strech brush) Ctrl Size Brush along
different axis
Alt Move pivot point
Déplacement dans les Vues 3D
Mouse Buttons Directions Button to Hold on Action Move Camera Forward/Backward
Rotate Camera Left/Right Rotate Camera Left/Right Up/Down
Move Camera Left/Right Up/Down
Select Surface*
Déplacement dans les Vues 3D
Mouse Buttons Directions Button to Hold on Action
Select surface and Surface Menu Alt Surface under cursot
current one Shift Move Brush along
X-axis
Shift Move Brush along Z-axis
Shift Move Brush along Y-axis
Le Modélisation du Monde selon Unreal
Considère l’environnement 3D comme une masse sans limites
– Pour créer des espaces de vie, on excave des régions dans cette masse solide (excavation booléenne)
– Editeur basé sur la soustraction, à la différence des éditeurs basés sur l'addition, tels Quake
Avantages
– Temps de création réduit
– Pas besoin de recalculer l’espace pour remplir les zones situées hors du champ d’action du joueur
– Permet de minimiser les risques de trous BSP et HoM (voir transparents suivants)
Concepts de UnrealEd
Brushes:
– Formes primitives (cubes, sphères, cônes, …) – Formes prédéfinies (portion d’escalier)
– Formes personnalisées (issues de la fusion de plusieurs formes primitives)
Formes complexes réalisées par
– addition, soustraction et intersection des brushes
Brushes
3 types de Brushes
– Statiques
Forment l'environnement 3D
– Dynamiques (ou mover)
Brush dont la position selon les trois axes (x, y, z) est variable
Employé pour les ascenseurs, portes, mécanismes dynamiques ou tout autre application nécessitant un mouvement de translation et/ou de rotation
– Portail (zone portal)
Permet de « découper » une carte pour spécifier les zones aux propriétés physiques particulières: faible gravite, zone liquide, …
Ainsi, une grande variété d'environnements naturels (ou irréalistes) peuvent êtres créés
Compilation du Monde
Une fois la modélisation terminée, les brushes sont compilés suivant un arbre BSP
– Permet le rendu des textures
– Permet la détection des collisions
BSP (Binary Space Partitioning)
– Calculer des espaces "pleins" (bloquant) et "vides" (ou le joueur peut exister et se déplacer)
– Utilisé dans la quasi-totalité des jeux 3D (Doom, Unreal, Quake, Half-Life, …)
Problème d’erreurs BSP
– Trous BSP: découpage d'une zone est trop forte et une partition peut être « oublié » par le moteur
– Effet HoM (Hall of Mirror): problème de texture
Effet Hall of Mirror
Objets / Propriétés
Tous les Objets que l’on manipule dans l’éditeur possèdent des propriétés
Pour accéder à celles- ci,:
– cliquez avec le bouton droit sur l’objet ou
l’icône souhaité – Dans le menu
contextuel,
sélectionnez la
première option
UDK dernière génération
Plateformes de développement:
Plateformes cibles
Jeux réalisés avec Unreal Engine
FAQ
Problèmes Possibles lors du TD
Problèmes rencontrés avec UnrealEd
Je ne peux rien sélectionner
– Désactiver l’anti-aliasing et le filtre anisotrope dans les propriétés de la carte graphique
Mon personnage meurt dès le début
– Le PlayerStart rencontre un obstacle (mur, sol, objet, …) – Vous n’avez pas reconstruit (compilé) votre monde
Taille des objets
– L’utilisation des multiples de 16 permet de limiter les erreurs BSP
Grille
– Ne pas désactivez la grille
– Utiliser des multiples de 16 pour le pas de grille
Unités: UT et Monde Réel
Un joueur:
– Taille physique:1,80m – Taille Unreal: 96 unités
Conversion en pieds: 1p = 30cm
– Donc un joueur = 6 pieds (6p * 30cm = 1,80m)
Donc valeur de l’unité d’Unreal (UU):
– 96 / 6 = 16
– Donc 1 pied = 16 unités = 30cm
Application:
– Une pièce de 256 unités à une taille en m de ?
Conversions d’Unités
Conversion
– De UU en centimètre: on divise par 16 et on multiple par 30 – De centimètre en UU: on divise par 30 et on multiple par 16
Attention
– Les mesures réalistes doivent être évités car
la longueur du saut d'un joueur valant 256 unités (4,80m)
La longueur d’un double saut vaut 512 unités (9 m 60)
– Donc toutes les maps habituelles sont disproportionnées – Si vous faites une map aux proportions
Moins bon GamePlay
Multiplier par 2 au moins les dimensions en UU obtenues à partir