| |
|
|
|
Tutorial
|
| |
|
| |
<< retour |
Ce tutorial est utilisable pour:
- UT Niveau facile |
|
|
Les bases de la création/compilation d'un projet, Partie 1: le GameType
Introduction
Comme le titre l'indique si bien, l'objectif de ce tutorial
est d'apprendre à créer un projet, puis à le compiler pour pouvoir y jouer
dans Unreal Tournament. La base indispensable, bien que très simple.
Nous allons pour ce
faire fabriquer un nouveau GameType.
Le GameType est un type de jeu qui est proposé dans la
fenêtre StartPracticeSession [Démarrer séance d'entraînement]. C'est à dire
tel que Deathmatch, Assault, Domination [MatchAMortUT, Assaut,
Domination]... Ici, nous allons créer un DeathMatch mais qui permettra
uniquement d'ouvrir des maps avec le
préfixe UND- (au lieu de DM-, exemple : UND-NomDeLaMap.unr).
Pourquoi "UND"
? Regardez le nom du site sur lequel se trouve ce tutorial, après maintes
réflexions et à force d'extrapolations vous comprendrez mieux ;-) Sinon,
passez quand même à la suite...
I)
Créer le
projet
Première étape : il faut créer le dossier au nom
de votre projet dans le répertoire d'UT ( exemple : C:\UnrealTournament\UND ).
Il faut ensuite créer à
l'intérieur de ce dernier un autre dossier, nommé classes.
Au final, ça donne : C:\UnrealTournament\UND\classes.
Le dossier classes peut (uniquement) contenir la partie
qui nous
intéresse, la
programmation. Mais il faut savoir qu'un projet peut aussi contenir
des textures (dossier textures), des models (dossier models), des
sons (dossier sounds). En l'occurrence, nous nous restreindrons à du scripting (programmation), il est donc inutile de créer
d'autres dossiers que classes.
II)
Créer une classe : MonGameType
Si vous souhaitez en savoir plus sur les classes,
reportez vous au
tutorial La
structure du UnrealScript. Sinon, sachez
juste que chaque classe équivaut à un fichier possédant l'extension
.uc se trouvant dans votre dossier Packages (voir
tutorial
Avant de commencer)
. Notre but ici est d'en créer une nouvelle : C:\UnrealTournament\UND\classes\MonGameType.uc.
Astuce : si vous ne savez pas comment créer
directement un fichier ayant l'extension .uc, alors
copiez/collez en un au hasard de votre dossier Packages
vers le dossier classes de votre projet (par
conséquent dans C:\UnrealTournament\UND\classes).
Renommez-le ensuite MonGameType, puis effacez tout ce qui se
trouve à l'intérieur.
Il reste à écrire le code du GameType, ouvrez MonGameType.uc avec
un éditeur
de texte (le bloc-notes fait parfaitement l'affaire) puis recopiez
ceci :
Class MonGameType expands DeathMatchPlus;
defaultproperties
{
MapPrefix="UND"
GameName="Unreal-Design.net GameType"
BeaconName="UND"
}
Et c'est tout !! Vous avez écrit tout le code de votre GameType. Vous n'avez plus qu'à enregistrer.
EXPLICATIONS :
Class MonGameType expands DeathMatchPlus;
// C'est plutôt simple : cette ligne, obligatoire au
début de chaque classe,
// se présente dans tous les cas comme suit :
// "Class NomDeLaClasse expands
NomDeLaClasseDontDeriveLaPremière ;"
//
// Dans notre cas, cela veut tout simplement dire : je
déclare la classe
// MonGameType qui dérive de la classe DeathMatchPlus. Notre GameType
// sera
donc juste en dessous de DeathMatchPlus dans la hiérarchie des
// classes (voir
tutorial La
structure du UnrealScript )
// Le ; signifie que la ligne est terminée. Le compilateur
passe à la suite...
defaultproperties
{
// Toute les classes contiennent une partie defaultproperties. Elle
est toujours
// ouverte par :
// "defaultproperties
// { "
// et fermée par " } "
// Elle contient les valeurs par défaut des différentes variables :
MapPrefix="UND"
// Notre GameType n'ouvrira que les maps ayant le préfixe UND-
GameName="Unreal-Design.net
GameType"
// Il s'agit du nom du GameType que vous verrez dans la fenêtre
// StartPracticeSession [Démarrer séance d'entraînement].
BeaconName="UND"
// L'abréviation du GameType... pas vraiment utile dans la
pratique
}
III)
La compilation
Le
code écrit ci-dessus n'est pas directement utilisable par le jeu. Il faut le
compiler, c'est à dire le rendre
compréhensible pour le moteur d' Unreal...
1ère étape :
Avant de compiler, il faut dire au compilateur (ucc.exe)...
hmmm... ce qu'il doit compiler ! Pour ce faire, ouvrez le
fichier UnrealTournament.ini dans le répertoire UnrealTournament/System et
recherchez la ligne :
EditPackages=UTBrowser. Cette ligne signifie : le compilateur
doit compiler le package nommé UTBrowser. En regardant
les lignes au dessus, vous pouvez voir tous les package qui sont sensés être
compilés.
Écrivez en dessous de cette ligne : EditPackages=UND. A la prochaine
compilation, notre mod UND sera maintenant pris en compte.
2ème étape :
Je connais deux manières de compiler :
- La première est de cliquer sur le bouton Démarrer (dans Windows) puis sur Exécuter et
enfin d'écrire C:\UnrealTournament\System\ucc make,
en remplaçant C:\UnrealTournament par l'emplacement d'UT.
- La seconde est d'ouvrir un fichier avec
l'extension .u (au hasard) avec la commande MSDos.
Fermez la fenêtre qui s'affiche et normalement vous n'aurez
plus qu'à cliquer sur un fichier .u puis à taper ucc
make pour compiler. Si cette méthode ne marche pas,
reportez-vous à la première.
Quoi qu'il en soit, une fenêtre MSDos devrait s'ouvrir et se mettre à compiler
chaque 'package'. Voici ce qui devrait
s'afficher :
D:\UnrealTournament\System>ucc make
--------------------Core--------------------
--------------------Engine--------------------
--------------------Editor--------------------
--------------------UWindow--------------------
--------------------Fire--------------------
--------------------IpDrv--------------------
--------------------UWeb--------------------
--------------------UBrowser--------------------
--------------------UnrealShare--------------------
--------------------UnrealI--------------------
--------------------UMenu--------------------
--------------------IpServer--------------------
--------------------Botpack--------------------
--------------------UTServerAdmin--------------------
--------------------UTMenu--------------------
--------------------UTBrowser--------------------
--------------------UND--------------------
Analyzing...
Parsing MonGameType
Compiling MonGameType
Success - 0 error(s), 0 warnings
Regardez maintenant à l'intérieur de votre dossier UnrealTournament\System : un fichier
UND.u est apparu !!
Votre code est maintenant compilé :-))
EXPLICATIONS :
UCC MAKE appelle la commande MAKE du programme
ucc.exe, présent dans le répertoire UnrealTournament/System.
Ce programme est le compilateur : il
charge toutes les lignes commençant par EditPackage=
dans UnrealTournament.ini. Pour chacune d'elle, il regarde
s'il existe un fichier avec l'extension .u nommé comme ce qui
est écrit à la suite de EditPackage=.
- si c'est le cas, il ne fait que charger ce fichier .u. C'est ce
qui s'est passé avec "Core", "Engine",
"Editor"...
- sinon, il compile le projet du même nom : c'est ce qui s'est
passé pour notre "UND". Tout ce qui se trouve dans le dossier
du projet (code, textures, sons...) est transformé en binaire, puis enregistré dans
un fichier .u. Ici, seul UND/MonGameType.uc a été compilé.
IV)
Le fichier .int
Notre GameType est prêt, mais le jeu ne peut pas le deviner : il
faut le déclarer. C'est pourquoi nous allons
écrire un fichier UND.int (toujours dans UnrealTournament/System)
Astuce : Si vous ne savez pas comment écrire l'extension .int, recopiez juste un autre
fichier .int, effacez ce qui se trouve à
l'intérieur et renommez-le "UND".
Ouvrez ce fichier avec votre éditeur de texte, puis
écrivez :
[Public]
Object=(Name=UND.MonGameType,Class=Class, MetaClass=Botpack.TournamentGameInfo)
EXPLICATIONS :
Au démarrage, UT lit tous les fichiers avec l'extension
.int présents dans le répertoire UnrealTournament\System.
C'est donc grâce à l'un de
ces fichiers que nous pouvons lui faire charger notre GameType.
Cela se présente en général comme suit
:
[Public]
Object=(Name=Projet.ClasseDuGameType,Class=Class, MetaClass=ClasseDontEstDérivéeLObjetADéclarer)
En l'occurrence, la ClasseDontEstDérivéeLObjetADéclarer est
Botpack.TournamentGameInfo : c'est la classe dont dérive
tous les GameTypes qui s'affichent dans
StartPracticeSession [Démarrer séance d'entraînement].
A noter que les fichiers .int peuvent
aussi servir à déclarer des mutators (voir tutorial
suivant), des nouveaux persos, des skins, des armes... etc
V)
La nouvelle map
Vous êtes libre de faire une nouvelle map si vous
le souhaitez. Seule contrainte :
elle doit commencer par le préfixe UND-.
Sinon, renommez DM-Fractal (ou une autre map) en UND-Fractal.
VI)
Le plus dur
Maintenant, j'aimerais retenir toute votre
attention. Cette partie
n'est pas à la portée de tout le monde. Même les
plus aguerris devront retenir leur concentration et
réunir toute leur intelligence. Je recommande (fortement) une
séance de Yoga avant d'affronter cette épreuve. Lancez UnrealTournament.exe.
Une fois le jeu chargé, vous
devrez cliquer avec la souris sur StartPracticeSession [Démarrer séance d'entraînement],
ensuite il s'agira de sélectionner dans la barre de
défilement GameType [Types de parties] la partie nommée
Unreal-Design.net GameType. Et tenez vous bien, ce n'est pas fini, il
faut encore réussir à viser le bouton Start...
et à cliquer dessus !!!
Ouf !
Conclusion
Normalement, vous devriez déjà y voir plus clair. Même
sans encore connaître le Unreal Script, vous savez maintenant comment utiliser
et compiler des sources.
La création d'un GameType est à la base de la majorité des
mods. A partir de celui-ci, il est possible de pratiquement tout changer : les
maps,
les armes, le HUD, certains menus... | | | |