Pourquoi tant de bogues dans les MMO ?

Répondre
Partager Rechercher
Citation :
Publié par HoRo²
Quand il s'agit de programmer l'IA du dernier missile infra rouge pour s'écraser pile poile sur les écoles en Irak, là, ça bug pas.
Quand il s'agit de programmer des soft embarqué dans des avions, dans des machines d'hopitaux, là, ça plante pas.

Mais quand c'est un soft pour ces pigeons d'utilisateurs lambda, là, on s'en fou si ça plante.
Je crois bien que dans les airbus, y a au moins 2-3 ordinateur secondaire pour corriger les éventuels erreurs que pourrait avoir l'ordinateur principal. Y a pas D'IA dans les missiles, faut arrêter de regarder les films SF , y a toujours un marquage au sol fait par l'homme.
Tout peu planter, même un processeur, même néo dans la matrice pouvant entrainer une erreur systémique et foutre un bordel monstre dans le système ou un peu comme la bourse avec l'économie mondiale Il y a des bons auteurs et bouquins SF là dessus
La réponse est très simple : l'informatique n'est pas une science exacte.

Un MMO comme WAR, ce doit être environ 1 bon million de lignes de code. Pour comparaison, Vista en compte environ 40 millions. Donc oui, c'est énorme.

Un MMO subit des changements de conception pendant le dev, ce qui oblige à revoir une partie du code mais il arrive très souvent que des morceaux de code non adaptés à ces modifications restent. Ce qui a pour effet de rendre l'appli instable selon certaines conditions.

J'ai l'impression que vous ne vous rendez pas compte du boulot de malade que cela représente. Gérer les différents flux entre poste client et serveur tout en prenant en compte les temps de latence, etc. C'est un travail titanesque.
Plus il y a de données à gérer, plus les échanges deviennent complexes et l'appli instable s'il y a du code mal optimisé.

Alors là vous allez me dire "bah faut optimiser", bah oui, c'est sûr mais loin d'être aussi simple. Il faut trouver l'élément perturbant, voir pourquoi et comment le modifier sans que cela impact le reste.

C'est un sacré mer*ier, l'équivalent d'un plat de nouille dans lequel tu dois tout dénouer

Et comme l'a dit une autre personne, s'ajoute à cela les différentes configurations des postes clients à gérer ou encore l'architecture serveur. ça peut buguer un serveur aussi et ce n'est pas la faute du développeur
Bref, une appli sans bug, ça n'existe pas, que ce soit dans un avion, à la Nasa, dans un satellite ou dans votre voiture.

A cela s'ajoute aussi les impératifs commerciaux liés à une politique d'entreprise qui vous dépassera toujours mais qui est nécessaire.

Le comparatif avec GW n'est pas à faire. GW n'est pas du tout un MMO.

PS : je ne suis pas dev mais j'en encadre
Pour une question de rentabilité. Bien tester son jeu avant la sortie demande beaucoup de testeurs donc de salaires payés sur un budget developpement ainsi que du temps, temps qui risque de faire passer le graphique du jeu comme obsolète si un concurrent sors le meme genre de jeu mais plus beau avant.

Tout comme war est sorti instable pile poil 1 mois avant l'addon d'un jeu concurrent qui annoncait du rvr et s'annoncait dangereux pour le succes de war. Pourquoi ? pour vendre plus de boites ... "Money, money, money"... "the winner takes it all", etc...

===> cours retirer mes paillettes et mon pantalon pattes d'elephants (pattes d'eph pour les intimes)

Ps: GW est un MMO. il n'a pas d'abonnement. Mais il possede le meme nombre de lignes de codes, le meme nombre de comptes/joueurs sur des serveurs, il est fait pour jouer en groupe.
C'est son approche instanciée qui le fait classer plutot mmocorpg que mmorpg, mais c'est un mmo.
Si le fait d'etre instancié empechait d'avoir le titre de mmo, beaucoup n'en seraient pas vraiment. (a commencer par war et ses bg en boucle. Son rvr theorique mais infaisable en pratique n'y change rien)
Citation :
Publié par Tapamilastiko
Bonjour,


Personnellement, je viens de Guild Wars, et je n'ai connu aucun bogue majeur en plus de 2 ans de jeu. Certes j'y suis arrivé un an après sa sortie, mais tout de même.
Reviens dans 9 mois et on en reparle
un fps et un mmo est pas comparable

sinon pour les mmo ça coûte tellement cher que au bout d'un moment les investisseurs demande un retour (oseille) sonnant et trébuchant quoi qu'il arrive
Citation :
Quand il s'agit de programmer l'IA du dernier missile infra rouge pour s'écraser pile poile sur les écoles en Irak, là, ça bug pas.
Quand il s'agit de programmer des soft embarqué dans des avions, dans des machines d'hopitaux, là, ça plante pas.

Mais quand c'est un soft pour ces pigeons d'utilisateurs lambda, là, on s'en fou si ça plante.
Non que je m'en félicite, mais bon, le code embarqué dans un satellite par exemple, c'est sizé à une heure par ligne. Et vérifié deux fois. Et mouliné avec des outils de test de la preuve, histoire d'être sur. Et revérifié par dessus. Nan parce que quand ça plante, ça fait cher pour le SAV.
Alors maintenant tu fais la même chose pour un MMO, qui est des milliers de fois plus complexe que le code des missiles/sat et autres joujoux onéreux, et ton MMO sort en 2158. Il ne tournera que sur des PC de musée, et il n'y aura personne dedans, mais ça tournera sans bug.

Le pire JV à produire, c'est le mmo. En même temps, c'est le plus cher. Et en plus, c'est celui où les bugs feront le plus de bruit et seront remontés le plus vite. Bref, tout est réuni pour que chaque MMO soit un bug parade. Et... c'est le cas !
Citation :
Publié par Repu Ewemek
on peut clairement se demander la compétence des dév...
Je pense qu'il s'agit souvent de cracher du code à moindre cout, donc pas forcément de prendre des gens compétents.
LOL. C'est pas le dev qui définit les protocoles de tests et qui les exécute/remonte proprement (enfin, on peut espérer). Produire du code de qualité c'est bien loin de ne dépendre que de la compétence des devs.
Citation :
Publié par reapefer
Euh y'a pas que les mmo qui sortent avec des bugs, le dernier FPS de Valve par exemple, un mois et 3 updates déjà
Parler de L4D concernant les bugs, très mauvais exemples ?

Tu y as joué combien de temps ?
J'dois être à 60_80h de jeun en un mois, en comptant la démo, j'ai vus un seul bug, qui m'a fait mourrir d'ailleurs.

Les jeux valve ont un contenu qui est bien suivis pour les gros bugs, faut arrêter le délire et parler de L4D comme un jeu bugué, sinon tu n'y as pas joué.
Pourquoi chaque années ont nous sort d'hypothétiques jeux vidéo, saupoudré d'une publicité pour venter le produit mais s'avérant finalement bogué au possible ?

Alors certes l'informatique est en constante évolution, ce qui met malheureusement en retard les développeurs sur pas mal d'éléments techniques et les contraignent à travailler avec ce qu'ils possèdent déjà.
Et souvent cette évolution crée des instabilités de dernier instant inconnu aux développeurs et aux joueurs obligeant les développeurs à chercher des solutions parfois désagréables (patch à l'arrache qui crées d'autre bogues etc.).
N'oublions pas également que faire jouer de nombreux joueurs ensemble est une tâche assez délicate (serveurs, stabilité, latence etc.)

Mais d'un avis personnel, je dirais que le facteur le plus important à ce problème est dû aux joueurs (consommateurs) qui acceptent de payer (sourire aux lèvres, vaseline en main évidement) des sociétés qui profitent du marché vidéo ludique en plein essors (marché juteux, ils ont bien vue) pour nous sortir des moitié de jeux et qui jouent d'un markéting monstrueux pour faire passer la pilule.

Mais est-il utile de rappeler que l'époque des programmeurs dans leur cave, "les bons copains des jeux vidéo et des joueurs" est révolue.
Ces sociétés sont comme leurs nom l'indique des sociétés, et souvent avec de très grand moyen financier et malgré l'évolution informatique, c'est certain qu'ils peuvent faire de grande chose, faut-il encore avoir la motivation et ne pas s'aligner sur le seul concurrent qui a plus ou moins réussi.
Alors de surcroît ça ne les permet pas de sortir de la merde (désolé messieurs, dames mais c'est le mot).

Pour résumer, tant que les joueurs accepteront d'être pris pour des pouls aux œufs d'or et de payer aveuglement des jeux bâclés et à excuser les sociétés qui vendent ces produits.
Effectivement, cette tendance pour les jeux bogués risque de ne pas s'arrêter.
Les systèmes embarqués dans les missiles/fusées/satellites, certains systèmes des hôpitaux, même certains systèmes dans des usines... En fait à peu près tous les systèmes qui sont "life critical", plus certains autres, comme les satellites, sont vérifiés par des outils de preuve mathématique, comme COQ.

Ca n'exclut pas pour autant qu'il puisse toujours exister quelques bugs, mais en définitive, ça fait bien le ménage quand même.



Pour ce qui est des MMO, des jeux, et des autres programmes, même des programmes professionnels, comme SAGE, Photoshop, windows, linux, etc...
Ils ne sont pas vérifiés par des outils de preuve mathématique, parce que vérifier des millions de ligne de cette manière a un coût prohibitif.
Si vous voulez un mmo "exempt de bugs ou presque", parce que vérifié avec COQ, par exemple, faut vous attendre à avoir un abonnement par mois de 500 euros. Voir plus.


Il reste souvent des bugs dans les autres programmes (mmo, jeux, etc..), et le plus drôle, c'est que la plupart du temps, le bug se situe entre le clavier et la chaise.

Du genre, une utilisation non prévue du système (quel qu'il soit) par ses utilisateurs, et hop, on se retrouve en dehors du jeu de tests. Et si ça n'a pas été testé, alors on peut pas garantir qu'il n'y a pas de bugs.

Notez que c'est pas les mêmes tests que ceux que COQ fait subir aux programmes.

COQ teste la validité du code par une preuve mathématique. C'est comme les démonstrations que vous faisiez/faites en maths à l'école. Si vous parvenez à prouver que (X+Y)*(X+Y) = X² + Y² + 2XY, alors vous saurez que ça sera toujours vrai, quelque soit X et Y.

Dans le cas des tests qu'on fait subir à aux autres programmes, on teste des cas d'utilisation et le bon comportement du programme dans ces cas d'utilisation (on appelle ça des tests unitaires).
Si un utilisateur trouve une utilisation à un programme qui n'a pas été prévue dans les tests unitaires, ça n'a pas été testé, ou alors ça n'a été testé qu'indirectement et sûrement partiellement seulement.
Si vous avez du bol, ça marche, pas de bugs, mais rien ne vous garantira qu'il n'y aura pas de bugs.

C'est l'exemple des joueurs qui trichent sur les MMO, ou qui font preuve de créativité pour surmonter le challenge X ou Y...
Je ne vois pas l'intérêt à ce que les sociétés de jeux vidéos crée leur jeux grâce à des codages ultra précis, vérifiés, minutieux [insérez ce que vous voulez] et que les joueurs achètent des super calculateur digne de la Naza pour espérer disposer d'un jeu jouable, intéressant et exempt de bugs.

Non bien entendu on ne pourra pas enlever les bugs des mmo (peut-être dans plusieurs années ?) mais du moins les minimiser et sa ça s'appel de la qualité de travail.

Chose que les sociétés ne sont pas prête à établir, et ce puisque pourquoi dépenser plus de temps et d'argent alors que les joueurs se satisfont du médiocre et en redemandent…
Citation :
Publié par Falkynn
Parce que ce ne sont pas 5 lignes de codes?
Parce que tout les utilisateurs n'ont pas le même matériel et les mêmes logiciels installés sur leur pc?
Parce que l'infinité d'actions possibles, des plus simples aux plus loufoques, ne peuvent être testées?

Même 10 ans après, un jeu aura toujours des bugs. Enormément moins qu'à ses débuts, mais il en aura.
Ah ? Parce que tu as trouvé un bug dans Starcraft ?
Blizzard>* en ce qui concerne les jeux avec le minimum de bugs et le meilleur suivit
Citation :
Publié par Foovy
Ah ? Parce que tu as trouvé un bug dans Starcraft ?
Blizzard>* en ce qui concerne les jeux avec le minimum de bugs et le meilleur suivit
Ce qui est cool avec JOL, c'est que ça rime avec LOL.
Citation :
Publié par Foovy
Ah ? Parce que tu as trouvé un bug dans Starcraft ?
Blizzard>* en ce qui concerne les jeux avec le minimum de bugs et le meilleur suivit


Toi t'as pas joué à Didi2 à sa sortie, les utilisateurs de cartes son Compatible SoundBlaster on du attendre 1 an et enfin 1 patch qui va bien avant de pouvoir joueur au jeu sans planter tout le temps
Même problème avec ceux qui avec des Cyrix... Bref la référence a aussi des bogs hein...

Tiens ça me rappel THE bug sur WoW :
Quelques temps après la release les premiers joueurs ont commencé à taper les Worldboss 60 et là ce qui c'est passé c'est qu'un mec voyant le wype arriver a eu l'étrange idée d'utiliser la pierre de rappel. (Qui ne devait pas fonctionner sous aggro en théorie) et ça a marché... Tellement bien d'ailleurs que le boss qu'il tapait à décider de venir avec lui faire un tour.
Voilà le résultat à Menethil c'était vraiment drôle mais pas prévu, un MJ est intervenu pour ramener le monsieur chez lui

http://img227.imageshack.us/img227/1...5001831um6.jpg + http://img227.imageshack.us/img227/9...5002012so4.jpg
Citation :
Publié par HoRo²
Quand il s'agit de programmer l'IA du dernier missile infra rouge pour s'écraser pile poile sur les écoles en Irak, là, ça bug pas.
Quand il s'agit de programmer des soft embarqué dans des avions, dans des machines d'hopitaux, là, ça plante pas.
un croiseur lance missile américain qui vaut plusieurs milliards de dollars est resté immobilisé au milieu de l'océan à cause d'un zéro oublié dans les lignes de code. il a fallu pas loin de 3 jours pour réparer les dégâts. c'est l'anecdote du yorktown, mais il y en a d'autres. et ù'est avis que si un ordinateur de bord d'airbus ne fonctionne pas correctement ça ne risque pas d'être ébruité volontairement.
les mecs se sont posés sur la lune avec des moyens informatiques misérables, genre mon téléphone portable est potentiellement plus puissant en calcul que tous les ordinateurs de la nasa de l'époque réunis.

je ne pense pas que comparer les softwares multiplateformes en constante évolution et ceux dév pour un hardware précis type grille pain à affichage digital qui fait des desseins sur tes toast @ electroluxdesign soit très pertinent.
Dépourvu de bugs certainement pas, mais force est de constater que pas mal de boîtes font l'impasse sur certains test pré release pour amortir tout en réparant grâce aux abos, c'est une pratique quand dans ces ressorts extrêmes devrait être sévèrement sanctionnée.
Citation :
Publié par |\|erGGa|_
Parler de L4D concernant les bugs, très mauvais exemples ?

Tu y as joué combien de temps ?
J'dois être à 60_80h de jeun en un mois, en comptant la démo, j'ai vus un seul bug, qui m'a fait mourrir d'ailleurs.

Les jeux valve ont un contenu qui est bien suivis pour les gros bugs, faut arrêter le délire et parler de L4D comme un jeu bugué, sinon tu n'y as pas joué.
J'y ai joué pas mal aussi et je n'ai pas rencontré un seul bug personnellement.
Par contre, dans le genre jeu à bugs, on pourrait citer la série des Sacred.
Citation :
Publié par Eva / Celivianna
...
A noter que pour prouver le fonctionnement d'un programme via ce genre d'outils, celui-ci doit être codé de manière particulière à la base, et je ne crois pas que ce soit applicable aux applications multithreads, particulièrement pète-couille à tester de manière unitaire par ailleurs .
C'est sûr qu'un langage fonctionnel se prêtera davantage à la preuve qu'un langage impératif, par exemple.

En revanche, je ne pense pas que le multi-thread soit réellement un problème.
Chaque processus/thread étant équivalent à un théorème, on jouera davantage sur les relations entre les différents théorèmes, j'imagine.

Mais bon, c'est sûr que c'est pas applicable à n'importe quel truc.
Des bugs il y en a pleins et ce sur pleins de jeux pc.
Neverwinter night par exemple est sorti bien plus bugé que war et beaucoup d'autres jeux.

A vrai dire, c'est le fait même de faire un jeu pc qui est bien plus compliqué qu'un jeu console, il faut être capable de l'adapter à toute une série de configuration différentes et ce sans avoir 1 hardware de référence.

Du coup rien qu'à cause des différentes configurations on peut avoir des bugs différents, et ce sans même parler des différentes résolutions et réglage graphique.

De plus, plus le temps passe et plus les technologies sont avancés et complexes de même que les différences de matériels.

Entre un gars qui a un quad core bidul machin chouette et le gars qui a son vieux celeron (ça existe encore ça? ) c'est un vrai casse tête pour les devs.

Donc il ne faut pas être surpris de trouver des bugs sur les mmo, on en entend plus parler que sur les jeux solo car les joueurs forment plus facilement une communauté et remontent ces bugs.

Mais la majorité des jeux tout court sont bugé, kotor 1 et 2 / neverwinter night / baldurs gates etc....
Citation :
Publié par Assurancetourix
A noter que pour prouver le fonctionnement d'un programme via ce genre d'outils, celui-ci doit être codé de manière particulière à la base, et je ne crois pas que ce soit applicable aux applications multithreads, particulièrement pète-couille à tester de manière unitaire par ailleurs .
C'est exactement ça. Pour les logiciels à fonctionnement dit "critique" dont il faut s'assurer à 100% qu'ils soient exempts de bugs, il faut utiliser les méthodes formelles, comme l'a dit Eva / Celivianna ces méthodes servent à prouver de manière mathématique que le programme fonctionne ET (le plus important) retourne le ou les résultats attendus.

Ca se fait à coup de spécifications, c'est chiant, laborieux et assez complexe. Enfin on a vu ça l'année dernière, et le temps passé à écrire les spécifications et à prouver que le logiciel sera exempt de bugs, c'est du temps passé sans coder l'avancement du jeu. Totalement inenvisageable à l'heure actuelle avec les investisseurs qui veulent de l'argent tout de suite. Ca n'est donc appliqué qu'aux logiciels dont les bugs peuvent mettre en danger la vie de personnes.
Simple constat, un peu général car cela ne touche pas que les mmo.
Depuis la mode des patchs et le boom d'internet :

C'est devenu une habitude de voir arriver des produits de moins en moins finalisés pour le passage en version gold.

Pour les joueurs c'est a la fois une bénédiction et une vraie peste.

-> On n'hésite plus a sortir des produits mal finis et de consacrer du temps et de l'argent pour continuer le développement uniquement si le jeu rencontre un certain succès.

-> L'excuse du piratage ( On nous l'a déjà sortie et je peux le comprendre mais c'est au détriment des joueurs, une excuse rien de plus )

-> C'est un moyen de sortir un produit très vite et de passer à la trappe les phases de test qui sont relativement couteuses si le travail est bien fait. Le joueur devient l'otage et un béta testeur bénévole malgré lui.

Par contre on a encore ( heureusement ! )
Des boites de développement sérieuses pour qui les patchs constituent de réels ajouts, voir du contenu supplémentaire gratuit ou de petites corrections.

N'oublions pas que si nous avons accepté cet état de fait c'est principalement à cause de ce facteur. Au départ les patchs étaient souvent excellents et apportaient un réel avantage mais en aucun cas n'étaient des résolutions de bug majeurs.

Je suis mitigé car je suis content de trouver un patch qui me permet de faire tourner un soft sur un autre os ou qui corrige quelques petites choses, voir qui apporte un plus à l'achat de départ.
On joue dans la continuité et je salue ce type de comportements.

Par contre pour les autres, pas de pitié. C'est à la limite de l'arnaque si on doit attendre un patch pour profiter du contenu annoncé et payé d'avance.

Bien évidement on reste dans le monde du jeu et même si c'est inadmissible certaines boites en use et en abuse juste pour gagner encore plus d'argent vu que personne ne va engager de poursuites en justice pour un motif pareil.

Edit : Les mmo "jamais finis" et en constante évolution sont souvent de simples arguments de vente repris en coeur mais il y a de quoi s'interroger.
Plus le temps à passé et plus on s'est éloigné de cette vision utopique des choses.
Pour le service marketing c'est un pain béni, on arrive a vendre ce qui n'existe pas encore !
On s'est bien éloigné des vrais softs pionniers en la matière ou les patch représentaient un réel argument de vente, un gage de qualité et de conscience professionnelle.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés