Thursday, October 20, 2011

[dota2] billet 5

Bon, pas de partie pour aujourd'hui, ni même depuis quelques jours. Je suis allé faire des photos, donc j'ai pas pu jouer, ensuite j'avais d'autres trucs à faire, donc pas pu jouer non plus...

Je vais plutôt parler d'un des problèmes persistants de dota 1.

Le problème des leavers dans les parties publiques.


Par leavers, (venant "To Leave" qui veut dire quitter en anglais), on entend une personne qui quitte la partie avant qu'elle ne soit terminée. Dota se joue à 5 contre 5. Un 'leaver' vas typiquement ruiner l'équilibre des forces en présence, ne laissant généralement pas d'autres options que de recommencer la partie...

Je parle du 'leaver' au sens large, y compris lorsque l'action de quitter n'est pas intentionnelle: le pc qui redémarre sauvagement suite ou non à une coupure de courant, la déconnexion (sauvage) par le fournisseur d'accès à Internet, l'écran bleu de Windows etc.

l'écran de Dota 1 qu'on avait
quand on se faisait déconnecté d'une partie...
Pour le cas non intentionnel, on peut dire que Dota 2 a résolu la majeure partie du problème: le jeu gère la déconnexion, à l'inverse de dota 1, et il est possible de se reconnecter à la partie en cas de déconnexion, de la même manière si le pc crashe la personne va disposer de plusieurs minutes pour se reconnecter à la partie. 


Lorsque l'action est intentionnelle, je dois dire que pour l'instant on ne sait pas très bien ce qu'a prévu de faire Valve. Quand Dota était un mod de Wacraft III, Blizzard ne s'intéressait que peu aux parties personnalisées: en Ladder, le fait de quitter consistait à déclarer la plupart du temps l'adversaire comme gagnant. Il était même courant et accepté de quitter quand on constatait qu'on allait perdre afin de permettre de jouer plus rapidement une autre partie. Les parties à 5 vs 5 sont un peu une exception et un cas non prévu par Blizzard, on peut supposer qu'ils n'ont jamais chercher à corriger le problème à la source.


Pour dota 1, Il existe ou a existé plusieurs systèmes de League, qui tentent ou ont tentées toutes plus ou moins de lutter contre les 'leavers': certaines se basaient sur l'utilisation d'un score, d'autres sur l'utilisation d'avertissement et d'exclusion d'un cercle fermé de joueurs, voir des deux...
bannière de Dota-League,
un site permettant l'organisation de parties de Dota 1.

Pour prendre un exemple concret, Dota-League, un site web organisant des parties de dota 1, pénalise une personne qui quitte la partie de deux manières:
  • en lui mettant -10 à son score, obligeant le joueur à jouer en moyenne 5 autres parties pour rattraper le score perdu.
  • Dans le cas d'une action est intentionnelle, la personne peut aussi prendre des points de pénalité, chaque points de pénalité se traduisant potentiellement en 2 jours de bannissement de Dota-League. 
La contrepartie est que les joueurs fautifs vont alors tenter de créer plusieurs comptes pour pouvoir éviter ces bans, ce qui est évidemment interdit par le dit site et pas forcément évident à détecter...
Capture d'écran du logiciel wc3Banlist qui était utilisé
pour détecter les leavers et ne plus jouer avec eux...

Il a existé un système de Banlist, permettant de bannir des joueurs de manière temporaire, l'effet de cette Banlist était discutable pour diverses raisons, l'une d'elle étant qu'on ne pouvait bannir les clefs CD de Warcraft III mais seulement les nicknames utilisés par les joueurs et qu'un joueur bannit n'avait qu'à en changer pour éviter un ban... L'utilisation d'une Banlist a toutefois été rendu possible par le développement d'un client spécifique, indépendant du jeu, wc3Banlist, son utilisation permettait de savoir ce qui se passait dans la partie de manière plus ou moins sure.
Capture d'écran de dw3gParser, un parser de replay spécialisé pour Dota 1.

Pour faire fonctionner ces leagues externes, les replays (enregistrement de partie) étaient aussi utilisés. On pouvait utiliser divers parsers pour savoir ce qui s'était passé dans la partie sans avoir à la regarder complètement. Le développement des Parsers a été rendu possible en bonne partie grâce au travail d’observation et de reverse engineering de Nagger et Blue, qui ont compilé ce qu'ils ont noté sur ce format inconnu dans deux fichiers. w3g_format.txt et w3g_actions.txt. Le premier fichier contenant des informations sur le format général des replays, le second sur les actions spécifiques des joueurs.  Il convient de noter que le développement de parsers spécifiques à Dota 1 s'est déroulé car il y existait un besoin véritable de pouvoir vérifier rapidement ce qui s'était passé dans une partie sans avoir à la regarder avec le client du jeu. Au niveau de Dota2, je suis assez confiant qu'Icefrog a clairement compris la nécessité de pouvoir informer les joueurs sur le contenu d'une partie sans avoir à la regarder avec l'interface du jeu. Il avait d'ailleurs augmenter la précision de ce qu'on pouvait analyser par l'ajout de hacks au sein de Dota 1, permettant à des parsers d'extraire très facilement les événements liés à la partie. Au final, peu importe que cette fonctionnalité soit fournie par des parseurs ou par des logs de jeu, localisés sur les serveurs de Valve, je pense qu'elle sera présente et utilisable, vu qu'on peut déjà consulter les logs de jeu durant une partie...

Mon opinion est tout système de sanction pour être efficace doit être implémenté le plus proche possible de la source, ou du moins, doit laisser le moins possible de chance aux fraudes sur l'identification de la personne fautive. De la même manière, on peut tenter de réduire le risque en n'incitant pas les joueurs à quitter les parties.
Le héros Panthéon de League of Legend.
Note: je pense qu'il doit courir vite vu la taille de ses orteils.

On en a l'illustration dans League of Legends: la personne qui quitte et tente de rejoindre une autre partie va rejoindre la partie qu'elle vient de quitter. C'est une manière simple mais élégante de corriger une partie du problème. Une autre manière est de donner un niveau artificiel aux joueurs et de faire en sorte que les joueurs de même niveaux jouent ensemble. Les joueurs prompt à quitter des parties se retrouveront alors avec un niveau plus faible que les autres et ne pénaliseront plus les autres, de manière statistique.

Un autre point illustré par League of Legends: les joueurs ne sont plus les hôtes des parties: Il arrivait dans Dota 1 que des joueurs en déconnecte d'autre pour pouvoir 'gagner', cela n'était possible que parce que les parties customisées étaient hébergées par les joueurs. Dota 2 tout comme LoL semble s'orienter vers des hébergements de partie dédiés. Ce sera au final une bonne chose: fini les problèmes de connexions et de lag avec des joueurs situés en Allemagne ou en Russie, fini les suspicions de 'Drop hack.'

Il me semble évident qu'Icefrog est conscient du problème des leavers intentionnels, et qu'il va tenter d'implémenter les diverses possibilités qui s'offre pour résoudre ce problème. Reste à savoir comment cela se concrétisera et si les solutions fonctionneront ou non.

Thursday, October 13, 2011

[dota2] billet 4


Pour aujourd'hui, deux parties jouées.

La première perdue, Weaver, à nouveau, j'ai mal joué, il y en a un qui a râlé contre moi et un autre joueur et qui a pris le parti pris de lancer des insultes histoire de se consoler. Donc la peine de dire que c'est un des problèmes récurrent de Dota: dés qu'un des joueurs joue mal, ou qu'un joueur quelconque estime que c'est le cas, il pense que ça l'autorise automatiquement à insulter autrui. Mon point de vue est ce que n'est qu'un jeu et que ca n'aidera pas le joueur insulté à s'améliorer...
l'écran classique d'attente,
25 minutes aujourd'hui pour lancer la seconde partie...


On a bien du attendre 25 minutes pour qu'on atteigne les 10 joueurs pour la seconde partie. Partie étrange on j'aurai dit qu'on allait la perdre, mais au final on l'a gagné, au bout de plus de 70 minutes, ça a fini en super-creeps pour le camp 'Dire'.
Victoire des "scourges", enfin des "Dire"...


Je ne vais pas trop parler des parties jouées ici mais du système d'achat des items: Il y a des améliorations certaines par rapport à Dota 1: Il n'y a qu'un seul shop en ville, on peut acheter tous les objets qui étaient regroupés sur 5 "shops" auparavant. Les "shops" indiquant les recipes ont aussi été remplacés par des menus.

le "shop"
Au niveau du magasin, on peut remarquer plusieurs choses: un écran de suggestions, correspondant plus au moins au héros sélectionné. assorti d'un écran d'achat des items. Les suggestions différent selon les héros. On peut supposer et espérer que cela sera customisable dans le futur. On peut aussi remarquer une zone flottante s'activant quand on passe avec la souris au dessus d'un item.

Décomposition d'un item en ses composants.
L'achat se fait en double cliquant sur un item ou en le déposant sur la zone d'achat. Il est aussi possible de l'acheter avec un click sur le bouton droit. Une zone est réservée pour afficher les composants d'un recipe, avec l'arbre des évolutions possibles.


l'arbre d'évolution de l'item "necronomicon"
A noter ausis: le fast shop à droite du bouton 'shop'
un double click dessus est l'item est alors acheté automatiquement.
Une fonctionnalité à noter: on peut planifier les achats d'un ou plusieurs objets et donc les acheter par un double click sans ouvrir le magasin. C'est la zone de 'fast shop', à droite du bouton shop. Elle permet de réaliser ses achats importants dés qu'on à l'or nécessaire.



Finalement les items sont rangés par catégories (basics et upgrades) et sous-catégories:




"consumables"

"attributes"
"armaments"














"arcane"



"commons"

"support"















"caster"
"armor"
"weapons"


"artifacts"







Wednesday, October 12, 2011

[dota2] billet 3

Bon, aujourd'hui 3 parties jouées.

La première a été perdue. J'avais le "Earthshaker", skill inchangé, c'est juste la désorientation qui a continué. C'est un héros à enchaînement, j'ai eu beaucoup de mal. J'ai fait quelques kills mais je suis mort plein de fois. Au final, on s'est fait tordre.

La seconde était une parties d’entraînement contre les bots. J'ai pris "pudge" pour voir, le feedback est légèrement différent, les skills sont inchangé, si ce n'est 'flesh heap' qui ne correspond pas à ce que je connaissais, mais à nouveau le changement n'a pas été introduit par Dota 2. Au final, j'ai quitté la partie quand les bots d'en face ont commencé à gagner. Je n'arrive pas à enchaîner comme avant, je pense qu'il me faudrait définir les hotkeys que j'utilisais sur Warcraft III pour cela.


La troisième partie, je l'ai joué un peu plus tard dans la soirée: 'weaver' en 'Radiant'. Le premier skill a manifestement changé par rapport à ce que je connaissais. Encore une fois, le changement ne vient pas de Dota 2.
Partie gagnée haut la main. Petit détail amusant, j'ai pris le Juggernaut pour Dirge... Quelques morts mais sans conséquences. Au niveau item, j'ai opté pour une Monkey King Bar, avec des wraith bands et une paire de botte.

écran des scores de la dite partie...


détail de l'écran des scores...
L'écran des scores est assez similaire à ce que dota pouvait fournir comme information, excepté que l'information doit être encodé à la source et sans avoir à hacker les replays comme dans Warcraft III. je suppose qu'un système de Parser ou d'information par partie est prévu par Valve et qu'on aura pas besoin de développer et de recourir à des parsers externes comme on devait le faire pour dota 1.

[dota2] billet 2

Bon, aujourd'hui (en fait, c'est avant-hier si on considère le début de redaction du billet), j'ai joué une partie.
écran d'attente d'une autre partie...

Le temps d'attente a été relativement court... 3-4 minutes...

J'ai eu le "Tide Hunter" en héros aléatoire.

La désorientation continue mais elle est moindre: j'arrive à reconnaître les héros adverses. Le Tide Hunter a l'air similaire à la version de dota 1. En fait, je me suis rendu compte que son passif 'Anchor Smash' était devenu un skill actif et coûtant de la mana... Je pense que c'est un changement qui a été introduit depuis que j'avais arreté de jouer à dota 1, donc au final il n'y a pas vraiment de changement pour ce héros.

exemple de barre de skills.
On remarquera les 'x' 'c' et ',' indiquant les touches de raccourci.
le niveau du héros est indiqué par un 16 en jaune.
Les couts en mana de sorts sont indiqués en bleu.
Avant la partie, j'ai pris soin ce coup-ci de configurer mes touches de raccourcis... (les hotkeys qui me manquaient sur la première partie...) j'ai mis "xcvbn,". En jouant je me suis aperçu tel un idiot que les skills portait le nom des touches de raccourcis et qu'il me suffisait de lire la touche sur le bouton du skill...

exemple de barre d'objets. L'or est affiché, un click dessus permet d'accéder au menu shop.

J'ai encore du mal à skiller mes sorts, l'interface ayant changée. J'arrive péniblement à lire mon niveau: ça a aussi bougé.

Je regarde un peu mieux le système de shop: On peut assembler directement les objets de type 'recipe'. Je remarque aussi au bout d'un moment la présence d'objets conseillés et adaptés au héros: on peut maintenant aller plus vite dans les achats des objets sans avoir à les chercher longuement dans la liste.


autre image non contractuelle, mais plus réaliste vu qu'on a gagné ce coup-ci...
Les 'Sentinels' s'appellent maintenant 'Radiant'.

Le bilan de la partie, j'étais en "Sentinels", une victoire. J'ai du mourir 9 fois, mais j'ai eu autant de kills et d'assists que de morts ce coup-ci. Au niveau mécanique de jeu c'est bien du dota.

[dota2] billet 1

Bon le jeu est installé, premier lancement de l'interface:
Interface, j'ai enlevé le chat et mes stats avec gimp...
Je vois plusieurs onglets dont je discerne des fonctionnalités, notamment
  • Jouer.
  • Regarder des parties (streamcast).
  • Apprendre (dont l'onglet est pour l'instant vide).
  • D'autres onglets en relation avec la Beta, certains vides, d'autres contenant les news et les mises à jours effectuées.
l'interface permettant de regarder les steamcasts...
Je commence donc par regarder une partie, le chargement est assez rapide, je vois donc ce qui semble être une partie retransmise en direct (un streamcast?).

A priori:
  • La carte semble très similaire à celle de dota.
  • Je vois des héros se combattre, sans trop les reconnaître.
  • Je constate que la navigation est similaire à celle d'un replay, avec possibilité de suivre les mouvements des héros ou de se balader dans la carte, excepté qu'on se trouve dans un streamcast et non un replay.
  • Les graphismes sont différents de DotA 1, la résolution vidéo me parait peu élevée sur l'instant. En cherchant comment quitter le shoutcast, je sors du jeu. Je le relance, je vais dans les options et passe le jeu en 1920*1080. Les graphismes ont l'air mieux d'un coup. A noter que tous les effets ne sont pas encore implémentés dans les options, notamment les textures.
Note; c'est une capture durant le jeu, je n'avais pas fait de screenshot de shoutcast sur l'instant... mais çà ressemble bien à l'écran de jeu avec quelques indicateurs en plus...


Après une dizaine de minutes à regarder l'interface, je décide ce joindre ma première partie. Je n'y arrive pas, j'ai un message me disant que je dois sélectionner une zone pour jouer. Je relance donc le jeu.

Miracle, je constate les zones à sélectionner sur le premier écran, zones que pour une raison inconnue je ne voyais pas après m'être baladé dans les divers écrans. Je sélectionne 'Europe' et je demande à rejoindre une partie normale.
exemple d'écran d'attente pour rejoindre une partie...


Pendant 3 minutes, j'attends sur un message me disant que je suis seul dans la partie. Au bout de 7-8 minutes, la partie se lance finalement, avec un avertissement sonore. Il m'est demandé de confirmer ce que je fais, un joueur n'a pas confirmé, on se retrouve donc à attendre à 9 joueurs une minute de plus...

Puis la partie se lance, le temps de chargement est acceptable sur ma machine.

un screenshot illustrant les graphismes...

On se retrouve sur un écran de choix des héros, je suppose que le mode est "all pick". Je prend un héros au hasard. Première différence: pendant le choix des héros, on ne peut apparemment pas parcourir ou regarder la carte: on ne contrôle les héros qu'une fois que tous les héros ont été choisis, c'est à dire au bout de ce qui me semble être 30s (en fait le temps est de 60s).
l'écran de choix des héros...


Le contrôle des héros nous est donné. Je joue en "Scourge" (l'équipe du haut) (Note: je remarquerai plus tard que le nom des camps a changé entre dota 1 et dota 2... probablement pour des questions de droits et d’adaptation, vu que le jeu est passé de Blizzard, en tant que mod de warcraft III à Valve... mais peu importe pour l'instant...) J'ai eu "Vengeful Spirit" comme héros. Je vois que ses skills sont plus ou moins les mêmes qu'à Dota 1.

Pour être franc, les graphismes m'ont sérieusement désorienté: Le système pour acheter les items n'est évidemment pas le même: l'interface de Warcraft III limitait à 12 items par magasin. La, il y a un menu 'shop' avec la possibilité d'acheter des items par catégorie. je retrouve les items que je connaissais.
Un exemple de combat du coté de Roshan...

Au final j'opte pour une paire de botte et des tangos. j'arrive à les acheter et je rejoins la lane du bas ou je suis avec un autre héros. Je dois dire que j'ignore avec quel autre héros j'étais, je ne l'ai pas reconnu. Au bout d'un moment, je me suis rendu compte que j'étais contre "Lich"' et "Tide", j'ai reconnu le "Tide" au "Gush" que je me suis pris en pleine poire. J'ai aussi reconnu "Furion" en héros ennemi, principalement parce que je l'ai aussi pris en pleine poire.

J'avais des tangos pour échapper au sort de "Furion" ("Sprout"), mais je ne savais pas quels étaient les "hotkeys" associées. Je n'ai pas vu les "tooltips" les indiquant bien que les ayant cherché activement durant toute la partie (en fait, j'y reviendrais dans le billet n°2...). Donc il m'a été impossible d'utiliser les touches du clavier autrement que pour le chat pendant la dite partie.


Au final, j'ai feedé sur la partie. On s'est d'ailleurs fait proprement laminé. J'ai reconnu les râles typiques dans notre équipe sur le chat, comme on l'aurait vu sur une partie de dota 1 quand on perd une partie...

La légende n'est pas contractuelle, enfin à moitié, c'est un screenshot d'une autre partie, dans la partie réelle, on s'est fait tordre.


Bilan de la partie:
1-11 avec Vengeful Spirit. j'ai fait un kill sur la fin de la partie, alors que c'était perdu. L'honneur est sauf :D. Je n'ai jamais vraiment aimé ce héros, il est basique et prévisible, sa portée est réduite, les seuls points positifs sont le stun et l'ultimate, ce dernier permettant d'échanger sa position avec celle d'un autre héros, le prix à payer étant une durabilité et des statistiques très moyennes.

Mon impression sur la partie est que ça ressemble effectivement à du DotA, mais qu'il y a pas mal de changements liés à l'interface: j'ai été incapable de savoir quel niveau j'avais, même chose pour les niveaux des alliés ou des adversaires.

[dota2] billet 0

J'ai eu la chance d'avoir une clef pour la beta de DotA 2.

J'ai beaucoup joué à DotA dans le passé, c'est un des jeux que j'ai le plus apprécié.

Il me parait donc normal que j'en cause un peu ici.
La question que je suis posé était: sous quelle forme et de quelle manière? Comment?

Comme je n'ai pas trop le temps de jouer, je vais me limiter à 1 ou 2 parties par jour au maximum. Ce qui devrait se traduire par un article de blog pour chaque jour.

La thématique des billets sera a priori centrée sur les différences avec DotA 1  et les impressions que j'ai eu.

Je numérote ce billet en billet 0.