
Diablo III, pour ceux qui vivent au fin fond du Cantal et qui auraient donc loupé l'info, est sorti mardi. Ce jeu vidéo, attendu depuis plus de 11 ans, vous offre la possibilité de massacrer du monstre à grand renfort d'armes, de sortilèges, de flèches, d'invocations, ... Bref, Diablo III est le troisième volet de la plus grande série de Hack & Slash ayant jamais existé. Que vaut Diablo III ? Vous le découvrirez dans quelques jours, lorsque j'aurais fini de rédiger mon test du jeu
.
Là où Diablo 3 est spécial, c'est qu'il n'a plus rien à voir avec la majorité des jeux du moment. Diablo III est un jeu pouvant être joué en solo, mais pas en solo.
Ca ne veut rien dire ? Je m'explique : Diablo III est une révolution du gaming pour les éditeurs. Un jeu presque impossible à pirater, même pour les meilleurs.
Pourquoi ? Tout simplement parce que presque toutes les données du jeu sont générées par le serveur : monstres, PNJs, objets, personnages, sortilèges, ... Ainsi, si vous bidouillez votre jeu pour le lancer sans vous connecter à Battle.Net, vous n'aurez devant vous qu'un monde vide de textures sans monstres ni PNJs. 
Quel est l'intérêt, qu'est ce que cela apporte au joueur ? Beaucoup de problèmes :
- Impossible de jouer sans Internet. Légèrement un comble pour un jeu n'étant pas un MMO... De plus il faut avoir une très bonne connexion étant donné le nombre d'objets qui transitent sur le réseau.
- Dépendance totale aux serveurs de Blizzard... Si les serveurs tombent, personne ne peut jouer. Si Blizzard décide de fermer ses serveurs, personne ne pourra plus jouer. Si vous vous faites bannir pour une raison ou une autre, vous ne pourrez plus jouer du tout.
- Si Blizzard décide de rendre le jeu payant au mois, il n'y aura pas de recours possible...
- Votre jeu est impossible à léguer à votre enfant ou à prêter à un ami...
Mais pour les éditeurs, en revanche, c'est le pied :
- Pas de copies pirate en circulation
,
- Peu de possibilités de triche pour les joueurs.
En bref, Blizzard nous offre le tout premier jeu Minitel 2.0 de l'histoire : Diablo 3. Et je n'exagère pas. Comme le dit sebsauvage, ce type de jeux "va prendre de l'ampleur dans le futur". Je suis totalement d'accord avec lui.
Blizzard ayant prouvé que le concept est viable, tous les éditeurs de jeux vont se précipiter sur cette façon de faire, pour qu'à terme nos PCs ne servent plus que de terminaux de jeu, inutiles sans leurs serveurs. Pourquoi ? Pour lutter contre le piratage... Parce qu'il s'imaginent toujours que le piratage nuit à leurs ventes...
Ca prouve vraiment qu'ils n'ont rien compris. Ce qui nuit aux ventes, c'est la mauvaise qualité des jeux ! Les jeux de bonne qualité (comme la majorité des jeux Blizzard) auront forcément un énorme succès ! Et tout ça grâce au bouche à oreille, au prêt de jeux, au piratage (qui permet aux gens de tester le mode solo avant de l'acheter et d'aller jouer en ligne) bref à tout ce que Blizzard veut verrouiller. Sans compter que Blizzard est probablement le studio de développement de jeux vidéos le plus rentable au monde... Est-ce vraiment si important de protéger leur patrimoine ? De se prémunir contre 5% de pirates en pourrissant la vie de 95% des joueurs ? 
Pour Diablo III encore, ça ne me gène pas trop. Blizzard nous offre un jeu de qualité, avec une infrastructure conséquente et de bonnes promesses d'évolution (après tout ils ont encore ajouté du contenu à Diablo 2 il y a 2/3 ans).
Là où ça me gène, c'est pour tous les autres éditeurs de jeux. Ceux qui feront des jeux très moyens basés sur le même système, et qui fermeront les serveurs 1 an après par manque de joueurs. Ceux qui sortiront des jeux sur le même système avec des serveurs incapables de tenir la charge. Ceux qui se feront pirater et perdront les données des joueurs... Ceux qui imposeront des abonnements aux joueurs pour rentabiliser des jeux pas assez populaires...
En bref, Diablo 3 risque de représenter le futur du gaming. Un futur aussi lumineux qu'une prison dorée. Mais bon, c'est pour lutter contre le piratage et protéger la "création". Comme toujours.
Et encore, je ne vous parle pas de Blizzard qui vend la version numérique du jeu 60 euros (contre 45 euros en version boîte chez beaucoup de revendeurs), des serveurs totalement indisponibles mardi soir, de la simplification ultime du jeu à un point que n'importe quel gamin de 5 ans pourrait finir le jeu sans mourir, de l'hôtel des ventes contre argent réel, ... 
Heureusement qu'il reste toujours des studios indépendants capable de sortir des jeux originaux (Frozen Synapse, Minecraft, World of Goo, ...) ! 
En tous les cas, j'espère que je me trompe...
The Old Republic. Un nom capable de faire trembler tous les fans de Star Wars qui jouent aux jeux vidéos.
Pour ceux qui ne le connaissent pas, Star Wars The Old Republic est le futur MMORPG de Bioware (auteur de nombreux RPG à succès) dans l’univers bien connu de Star Wars. Ce MMO s’annonce comme un futur rival de World Of Warcraft, même s’il sera plus orienté jeu solo, avec un scénario poussé.
Espérons en tous les cas qu’il sera aussi bon que les quelques cinématiques du jeu qui ont été dévoilées. Si vous les avez manquées, je vous recommande fortement d’y jeter un œil (je vous en parle aujourd'hui car la dernière vidéo a été dévoilée à l'E3 2011 il y a quelques jours) :
A quand un film Star Wars fait par Bioware ? Prenez le scénario de La Croisade Noire du Jedi Fou (une série de 3 excellents romans Star Wars de Timothy Zahn qui se passent après Le Retour du Jedi) avec les graphismes de ces cinématiques et vous ressusciterez le mythe Star Wars !
(On peut rêver
)
Sinon, sur le jeu en lui-même, je pense qu’il peut avoir énormément de succès, si il respecte les 3 points que les concurrents de Blizzard semblent incapables de respecter :
- Aussi bon que WoW niveau jouabilité, fluidité, finitions et contenu,
- Qu’il apportera de la nouveauté dans le gameplay,
- Qu’il aura du vrai contenu haut niveau (à la fois facile d’accès et demandant une grande maitrise de son personnage).
S’il respecte ces 3 points, je risque fortement de m’y mettre… et ça risque d’être très mauvais pour mon rythme de sommeil !
Lorsque vous développez en C#, il vous arrive souvent d'avoir à caster (ou convertir, mais bon, caster c'est plus fun et ça fait un peu Meuporg !) vos objets :
Homme homme = (Homme)personne;
Or, si votre objet personne n'est pas un objet Homme mais un objet Femme, que se passera-t-il ? (Vous avez 5 minutes, ensuite je ramasse les copies !) Votre code lèvera une exception ! (Bon, tous ceux qui se sont trompés vont au coin !)

Heureusement, C#PO, spécialiste de la conversion en C#, est là pour nous aider !
Comment faire autrement ? Voici trois solutions possibles, de la plus mauvaise à la meilleure (selon C#PO, droïde de protocole C# / C#) :
-
try
{
homme = (Homme)personne;
}
catch
{
femme = (Femme)personne;
}
Ici, rien de bien compliqué, on utilise un try catch pour attraper l'exception qui sera levée si jamais l'objet personne se révèlerait être un objet Femme au lieu d'un objet Homme. Je vous recommande d'éviter ce code car attraper des exceptions doit rester quelque chose d'exceptionnel...
-
if(personne is Homme)
{
homme = (Homme)personne;
}
else
{
femme = (Femme)personne;
}
Ici, on utilise le mot clef is pour vérifier si notre objet est de type Homme ou Femme. Ce code est le plus "propre" des trois codes présents ici, mais il faut à chaque fois s'amuser à tester le type de votre objet. A voir selon votre façon de coder si vous préférez cette façon de faire ou la suivante.
-
homme = personne as Homme;
femme = personne as Femme;
Enfin, ici, vous avez le code le plus simple et le plus rapide à saisir, ce dernier utilisant le mot clef as. Ce mot clef permet de faire un cast qui renverra null si l'objet n'est pas du type indiqué. C'est moins "propre" que d'utiliser le mot clef is pour tester en amont, mais ça a le mérite d'être très rapide à saisir et d'éviter d'avoir à utiliser un try catch à chaque cast.
Voilà, j'espère que cet article vous aura été utile, en tout cas n'hésitez pas à donner dans les commentaires votre façon de faire, surtout si elle diffère des méthodes que je viens de vous donner. (Et on dit merci à C#PO !
)
Bon dev à tous !
image de Andres Rueda