• Aucun résultat trouvé

Programmation dans un « vrai » jeu: Unreal Tournament

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation dans un « vrai » jeu: Unreal Tournament"

Copied!
26
0
0

Texte intégral

(1)

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

(2)

Unreal Tournament 2004

Présentation

(3)

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

(4)

Unreal Tournament 2004

(5)

Créez votre propre monde

Unreal Editor

(6)

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

(7)

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

(8)

Menu

(9)

Interface Générale

Menu Outils

Menu

Vues

Ligne de Commandes

(10)

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

(11)

Configuration des Vues 2D et 3D

(12)

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

(13)

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

(14)

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*

(15)

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

(16)

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)

(17)

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

(18)

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

(19)

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

(20)

Effet Hall of Mirror

(21)

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

(22)

UDK dernière génération

 Plateformes de développement:

 Plateformes cibles

 Jeux réalisés avec Unreal Engine

(23)

FAQ

Problèmes Possibles lors du TD

(24)

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

(25)

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 ?

(26)

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

Références

Documents relatifs

Ï l’image formée par le verre est virtuelle Ï elle constitue toujours un objet réel pour l’œil Ï sa propre image dans un miroir de salle de bain Ï image virtuelle d’un

Toute utilisation commerciale ou impression sys- tématique est constitutive d’une infraction pénale.. Toute copie ou impression de ce fi- chier doit contenir la présente mention

- A l’aide de ce théorème, on peut donner une caractérisa- tion de l’équation fonctionnelle de la différence entre le calcul opérationnel.. dans un intervalle

Dans mes recherches sur les équations du premier ordre dont l’inté- grale ne prend qu’un nombre fini de valeurs autour des points critiques mo- biles, j’ai

The problem is that since the limit of at zero does not exist (if you look at the graph of the function you’ll see that it oscillates wildly near zero) we have no right to

Par ailleurs, l'altitude a laqueUe se manifestent ces divers phenomenes est un des parametres essentiels dont une connaissance tres precise s'avere indispen- sable

Finite both right- and left-orderable, but not bi-orderable, monoids are given in Examples 3.4 (which is idempotent, that is, all of its elements are idempotent) and 3.5 (with

Methods: To determine whether true RL shunting causing hypoxemia is caused by intracardiac shunting, as classically considered, a retrospective single center study was conducted