Editorial
Bienvenue sur Le CBNA!
Nous accueillons avec plaisir vos yeux sur nos pages, sur la section GameMaker du CBNA!
Si vous êtes ici, c'est en théorie car vous avez envie de créer un jeu video, ou bien vous cherchez de l'aide, ou encore vous désirez philosopher avec les membres dans la Section Spirituelle, ou vous êtes un artiste et désirez partager vos oeuvres dans la Section CBN'Art.
Bon, il est tout aussi possible nous vous l'accordons que vous soyez tombé ici par hasard, mais ce n'est pas grave nous vous accueillons!
Notre But aujourd'hui est de promouvoir la programmation en France, avec GameMaker entre autre, ou plutôt de partager nos connaissances en programmation, nos techniques, et aussi de nous enrichir, de vous enrichir et d'enrichir le contenu du site avec vos créations et vos conseils.
Nous proposons des Tutoriels, des gm6 et gmd (Codes sources), des scripts, des DLL, des Librairies... Tous créés par des utilisateurs de GameMaker prêts à vous aider.
Aussi ces utilisateurs publient leurs jeux sur le site pour se faire connaître et pour faire avancer la communauté.
Vous êtes certainement comme eux, puisque "eux" c'est vous! Oui, vous qui lisez ces mots, vous pouvez dès maintenant envoyer vos jeux, vos Scripts, vos Tutoriels, vos gm6 et gmd, vos DLL, vos Librairies ou même dans la Section Spirituelle ou dans la Section CBN'Art nous faire part de vos textes, images, états d'esprits, vos opinions sur les Evènements actuels...
Aussi Le CBNA ce n'est pas que du travail, c'est aussi un espace de détente, de rire, de plaisir... nous vous invitons donc à venir parler sur le forum, participer à sa vie, à ses activités...

Merci à vous d'avoir pris le temps de lire ces quelques lignes...

News
Tutoriel:Rendre son jeu compatible avec l'explorateur de jeux de Vista
Durant cet article, je vais essayer de détailler un maximum le processus, donc il devrait être facile à comprendre par les novices et les experts(NdT: J'éspère que la traduction aussi. gnii )

La seconde section de cet article, qui parlera d'installer les données, est basée sur le site MSDN de microsoft. Un article plus complet sera publié dans le prochain numéro de MarkUp, montrant comment intégrer ces objets avec un programme d'installation(NdT: Cet article viendra bientôt.)

PRESENTATION DE L'EXPLORATEUR DE JEUX

Ce dernier est une nouvelle fonction de Vista qui informe les joueurs avec un excellent moyen de voir de l'information sur les jeux qu'ils possèdent. Ceci inclut:

1-Titre du jeu, description, date de sortie, editeur, et information du développeur
2-Image de la jaquette
3-Configuration requise
4-Description et tranche d'âge

D'autres avantages fournis par cette application:
-Controle parental
-Options uniques pour plusieurs installations sur les mêmes systèmes.
-Menus contextuels customisables montrant des actions pouvant être exécutées quand on clique sur le jeu


AJOUTER VOTRE JEU

Pour créer un jeu pouvant être ajouté à l'explorateur de jeux de Windows Vista, vous devez faire deux choses:
-Créer des paramètres et des fichiers que le système va lire
-Ajouter ces fichiers et paramètres à l'installeur du jeu

Créer un fichier de données

Il existe des types de données spécifiques qui vont être lues par l'explorateur, vous devez les créer dans l'ordre pour pouvoir
utiliser les fonctions de l'application.

1°)Créer un GDF

GDF signifie "Game Definition File". C'est un fichier basé sur le système XML, qui conserve les données de votre jeu.
Pour afficher votre information, vous devez créer au moins un de ces documents GDF.
Si vous voulez que l'information de votre jeu diffère pour chaque région du monde, vous devez créer plusieurs GDFs,
un pour chaque région.
Un fichier GDF à un certain format que vous pouvez apprendre grâce au:

Schéma du fichier GDF

Il y a certains types de données autorisées dans le fichier GDF, comme nous le verrons plus tard.

Premièrement, comme avec n'importe lequel document XML, vous devez le définir:


Citation:
<*?xml version="1.0"
encoding="utf-16"?>
(enlevez le *)



Ceci définir le fichier comme un ficheir XML 1.0, avec un encodage UTF-16. SI vous ne vous y connaissez pas trop en documents XML, vous pouvez utiliser le code au-dessus dans son état actuel, étant donné que l'UTF-16 est le codage le plus commun.

Ensuite, nous avons l'élément GameDefinitionFile. J'ai fait beaucoup de recherches sur cet élément, mais j'ai trouvé peu de choses concernant sa syntaxe. J'ai vu la syntaxe de la manière dont plusieurs jeux étaient écrits, et il semblerait qu'elle soient identiques, donc il est probablement parfait d'inclure cet élément dans son état actuel:

Citation:
<*GameDefinitionFile
xmlns="urn:schemas-microsoftcom:
GameDescription.v1"
xmlns:baseTypes="urn:schemasmicrosoft-com:GamesExplorerBaseTypes.v1">


Notez que l'élement GameDefinitionFile sera fermé vers la fin du document(la structure du document entier sera montrée plus tard.

A l'interieur de GameDefinitionFile, il y a un élément appelé GameDefinition. Il contient deux attributs importants qui doivent être définis. Voici leur signification:

Nom---Type de données---Description
--------------------------------------------------------------------
GameID-----guid---------L'ID du jeu.
Ceci ne fait qu'identifier votre jeu auprès de l'explorateur.
Il est généré par vous, ou pour certains titres, a déjà été fourni.

WMID-----guid---------L'ID du jeu pour les services Windows Metadata.
Ceci ne devrait être utilisé que pour des "legacy games" (NdT: Mais qu'est-ce que ca veut dire?)

Voici un exemple:

Citation:
<*GameDefinition
gameID="GAMEID"
WMID="WMID">


Une fois rempli:

Citation:

<*GameDefinition
gameID="{5C08D2FF-A48E-43ca-846C-
08924563E5A7}"
WMID="{5C08D2FF-A48E-43ca-846C-
08924563E5A7}">


Notez que gameID et WMID sont écrit dans un format "guid", qui est leur type de données. Pour chaque élément, vérifiez leur type de données et assurez-vous de l'écrire dans le bon format.

Notez également que l'élément GameDefinition se fermera aussi à la fin du document, donc tous les éléments suivants seront inclus dans ce dernier.
Un élément important est Name.
Son type de données est un boundedString, et il représente le nom du jeu.

Citation:
<*Name>Super Game 2005<*/Name>


Il y a un élément appelé Description,
possédant comme type de données le boundedString, qui est un élément optionnel à inclure.

Citation:
<*Description>The Penultimate Game<*/Description>


Un autre élément optionnel est l'élément ReleaseDate; son type de données est celui d 'une date, et est écrit tel que "yyyy-mm-dd"

Citation:
<*ReleaseDate>2004-06-
30<*/ReleaseDate>


L'élément [b)Version[/b] a pour type le "choix", et contient une des deux manières de spécifier la version de votre jeu. Celle-ci consiste en un nombre explicite inclus dans le XML. L'autre consiste en un chemin vers un executable ou une dll, ou la version peut être extraite.

Si ce chiffre devait être inscrit tel quel dans le XML, un élément serait inclus dans l'élément version, appelé VersionNumber avec FourPartVersion en tant que type de données.

Citation:
<*Version>
<*VersionNumber
versionNumber="1.2.3.4"/>
<*/Version>


Si il devait être écrit en tant que chemin, un élément aurait aussi été ajouté, appelé VersionFile avec
filePathAttributegroup comme type de données.

Citation:
<*Version>
<*VersionFile
path="binMyGame.exe"/>
<*/Version>


L'élement Developers spécifie les développeurs de ce jeu en particulier, un lien vers leurs site peut aussi être inclu:

Citation:

<*Version>
<*VersionFile
path="binMyGame.exe"/>
<*/Version>


Note: 5 liens maximum![b]

L'élément (b]Publishers
spécifie la même chose, mais pour les éditeurs. La aussi, 5 liens maximum.

Citation:

<*Publishers>
<*Publisher
URI="http://www.microsoft.com">Mi
crosoft
<*/Publishers>


L'élément WindowsSystemPerformanceRating est important mais reste optionnel, il vous autorise à choisir les valeurs recommandées et requises de "Windows Experience Index" pour faire fonctionner le jeu.

Citation:
<*WindowsSystemPerformanceRating
minimum="4" recommended="5"/>


Il existe aussi un élément nommé Genres, qui peut contenir plusieurs éléments Genre(NdT: Corsé hein?), ca ressemble à ca:

Citation:

<*Genres>
<*Genre>Action<*/Genre>
<*Genre>Adventure<*/Genre>
<*/Genres>


Un autre élément très pratique est l'élement Ratings, qui permet de donner de divers attributs Rating au jeu, afin de permettre aux personnes de voir si le jeu peut leur aller, ou aller à quelqu'un d'autre.

Je ne parlerai pas beaucoup de cet élément, amsi vous pouvez voir plus d'information sur l'article MSDN de Microsoft (http://msdn2.microsoft.com/enus/
library/ms687240.aspx)

L'élément GameExecutables est le dernier dont je parlerai. Très simple d'utilisation(NdT: Il indique le chemin de l'exe):

Citation:

<*GameExecutables>
<*GameExecutable
path="bingame.exe"/>
<*/GameExecutables>


Et voici un exemple du code complet du document:

Citation:

<*?xml version="1.0" encoding="utf-16"?>
<*GameDefinitionFile xmlns="urn:schemas-microsoftcom:
GameDescription.v1"
xmlns:baseTypes="urn:schemas-microsoft-com:GamesExplorerBaseTypes.v1">
<*GameDefinition gameID="{dc90fdca-aa28-4d13-8401-ad149e4bccae}"
WMID="{9e6c8124-5159-4aed-a175-a2dd292dfe86}">
<*Name>Boggle"!<*/Name>
<*Ratings>
<*Rating ratingID="{7a53b0be-b92d-4e8a-a11f-8e6f9f3c575b}"
ratingSystemID="{768bd93d-63be-46a9-8994-0b53c4b5248f}" />
<*/Ratings>
<*Version>
<*VersionNumber versionNumber="1.0.0.0" />
<*/Version>
<*/GameDefinition>
<*/GameDefinitionFile>


2°)Créer des Bitmaps

L'explorateur montre un artwork pour chaque jeu qui en possède. L'artwork est montré en petit format dans la liste des jeux, et dans un large format lorsque le jeu est choisi par l'utilisateur. Créer un fichier d'image va représenter votre jeu dans l'explorateur.

Cette image devrait être en PNG, ce qui permet la transparence.

3°)Inclure les Bitmaps et les fichiers GDF

Maintenant que vous avez crée les fichiers GDF et Bitmap, vous pouvez maintenant les associer. Les fichiers GDF et Bitmaps utilisés par l'explorateur ne peuvent pas être de simples fichiers indépendants qui sont simplement installés dans le dossier du jeu avec le reste des fichiers. Ils doivent être assemblés en tant que ressources dans un fichier executable, ou une DLL.

Le header de l'explorateur (GameUx.h) contient des constantes définies que vous devez utiliser dans votre script de ressource(dans le programme ou la DLL) pour identifier les deux fichiers et les trouver.

En séparant le script en des sections #ifded pour des langages multiples, vous pouvez dire à l'explorateur de chercher des versions localisées(selon la région choisie, comme expliqué au début) des GDFs et des bitmaps.


Ajouter le jeu depuis l'installeur


1°)Installer les ficheirs du jeu

Le premier pas pour ajouter votre jeu à l'explorateur est d'avoir le jeu en lui-même installé sur le disque dur. Il est important que tous les fichiers soient installés désormais; une fois le jeu ajouté à l'explorateur, le controle parental pourrait empêcher des accès au dossier d'installation du jeu pour ajouter ou changer des fichiers.

2°)Crée un Objet IGameExplorer COM dans l'installation

Votre étape suivante est de créer cet objet lors de l'installation. Regardez ici:

(NdT: Desolé, je sais que le lien retourne une erreur... Attendez la traduction de la technique InstallShield, ou cherchez par vous-mêmes.)

3°)Appeler la fonction "VerifyAccess" depuis l'IGameExplorer

Cette fonction doit être appelée par l'objet. Elle va vérifier si le jeu a la permission de fonctionner sur le compte de l'utilisateur courant.
Regardez ici:

(NdT: Encore navré. :snif2:)


4°)Appeler la fonction "AddGame" depuis l'IGameExplorer

La fonction AddGame doit être appelée avec le chemin vers les ressources GDF, le dossier du jeu, votre "install scope" (NdT: Hein quoi?), et en option, un InstanceID GUID

Cette fonction à la forme suivante(Ceci n'est plus du code XML!):

Citation:

HRESULT AddGame(
const BSTR bstrGDFBinaryPath,
const BSTR
bstrGameInstallDirectory,
GAME_INSTALL_SCOPE
installScope,
GUID* pguidInstanceID
);


Pour plus d'information, voyez ici:



5°)Faire persister l'ID de l'instance du jeu

Vous devez conserver l'ID qui est donné par la fonction AddGame.
Ceci est nécéssaire pour pouvoir désinstaller correctement le jeu.


6°)Créer les dossiers "Game Task"

Comme vu ici:

(NdT: SNAP!)

Vous devez utiliser l'InstanceID obtenue pour créer un sous-dossier de cette ID dans le fichier des tâches communes utilisé par tous les fichiers, ou dans un dossier spécifique à l'utilisateur actuel.
Dans ce fichier, vous devriez créer les tâches qui pourront être faites avec le jeu.

------------------------------------------------
Article Originel par Eyas Sharaiha
Traduction par Death_Egg, qui est crevé. -_-
02/09/2008 par Difègue
9 Commentaires

par Death_Egg @ 02/09/2008 10:03 pm
I'M A TRANSALTING GOD DEH KIRBEH!!!111§§

Serieusement, je crois ue c'est l'article le plus long du CBNA.
J'en ai bavé. heheh

par [TheDarkTiger] @ 02/09/2008 10:29 pm
gha
hallucinant ! la complexité que Microsoft fait pour juste deux images gniah

soit dit en passant, l'article est de très bonne qualité, et très intéressant pour les développeurs sous VISTA !

bravo, et merci encore ange

par shm31 @ 02/09/2008 10:43 pm
[grosse-tête]ha c'est génial et il ne faut pas oublier que sans on aurais jamais eu ce magnifique tutoriel gnii[/grosse-tête]

sérieux, c'est une belle traduction que t'a fait death_egg bravo !, puis ma version a moi étais moins joli toute façon rire2

par Topaze22 @ 02/09/2008 11:57 pm
Tellement long que j'ai la flem de le lire gnii

Ce truc en intéressera plus d'un pour sûr fier

par daminetreg @ 04/09/2008 05:25 pm
C'est pas mal intéressant. :) Par contre pour l'article le plus long du site tu repasseras lol.

par Death_Egg @ 04/09/2008 06:40 pm
Oh crap, c'est pas le plus long? snif

par daminetreg @ 04/09/2008 08:37 pm
Il est long, et d'ailleurs je te félicite pour ce tutorial, cependant tu peux trouver de nombreux tests, articles, previews et tutos qui sont tout aussi ou un peu plus long. ^^ mais peu m'importe, le contenu est très intéressant.

Mais c'est du beau boulot.

par voteoucreve @ 07/09/2008 03:31 am
félicitations death_egg, t'es un très bon traducteur super

on doit t'appeler babylone du cbna dans ce cas rire2

par yoo @ 30/10/2011 05:10 pm
gha
Il faudrait que quelqu'un crée un logiciel pour inclure nos jeux dans ce truc de jeux (la flemme de regarder le titre), et là je suis partant xD

Nom:
Mail: (optionel)
Êtes vous Humain? (Entrez oui si c'est le cas)

smile's:

fleche_dfleche_gbehgniihappy1questionrirerire2rougesupertristeangeclincoeurcoleredodofierghagniahhaphehehhontenonnon3ouhouisnif

| M'oublier
[Archives News 2005] [Archives News début 2006]
Base de données des Jeux: Opérationnelle
Base de données des logiciels: Opérationnelle
Base de données des GMD: Opérationnelle
Base de données des GM6: Opérationnelle
Base de données des Librairies: Opérationnelle
Base de données des DLL: Opérationnelle
Base de données des Moteurs: Opérationnelle
Contenu Général du CBNA: Opérationnelle
Base de données Forum: Opérationnelle