Salut, il y'a quelques mois j'avais le projet d'optimiser le chargement des maps, je vais vous expliquer mon approche et du résultat final (?).
> Mais pourquoi ?
L'idée c'est de faire à peu près comme le chargement de maps sur Dofus-Touch, on charge une image pour le sol et en suite on charge normalement le reste des calques,
Il faut savoir que le client officiel de Dofus pèse maintenant 4go, dont 2go sont uniquement dédié aux tiles des maps, maintenant imaginons qu'on enlève toute les tiles de sols du jeu et qu'on charge tout le sol via une requete http, dans la théorie on pourrait gagner beaucoup d'espace, le jeu prendrait probablement moins de RAM et serait globalement plus rapide.
Sans parler du fait qu'avoir ce genre d'image peut être utile pour un fan-site et autres sans avoir à reproduire tout le process de chargement de maps du jeu
> Déjà, de quoi je parle exactement ?
Je parle de ça https://ground.ether-game.eu/95420420/0.jpg
Vous pouvez retrouver la liste des 13 973 maps ici https://ground.ether-game.eu
Ça correspond a un fichier jpg qui contient le background + background color + toute les tiles du calque 0
> Comment je m'y suis pris pour avoir tout ça ?
A la base j'aurais pu juste faire un genre de tools qui charge toute les maps au format DLM et sauvegarder une image, sauf que c'est assez compliqué de gérer la color correction de flash, les shadow etc..
J'ai donc préféré modifier un DofusInvoker 2.51, en y ajoutant une fonction pour passer à travers toute les maps du jeu, en y chargeant uniquement les sols et le background et y prendre une capture de map. D'après moi c'est la meilleure façon d'avoir un bon résultat,
Le process prend environs 4h si mes souvenirs sont bons, le dossier final fait 3.5go
(il faut savoir que j'ai essayé de récupérer les autres calques séparément, et ça fait 80go :sue
> Quel est le résultat ?
J'ai donc modifié mon DofusInvoker pour y ajouter tout le chargement du sol via des requêtes, et pour le moment j'en suis pas vraiment satisfait; le temps de chargement des maps est quasi identique à la normal, j'ai l'impression que mes images sont bien trop lourde ou que mon serveur web est trop lent (?), et que donc ça prend trop de temps à charger, faute d'un résultat significatif par rapport au temps de travail que ça demande, je m'en suis donc arreté là,
Tout ça pour dire que si vous avez idées pour optimiser tout ça je suis prenneur et que si ça marche bien le résultat sera open-source
> Mais pourquoi ?
L'idée c'est de faire à peu près comme le chargement de maps sur Dofus-Touch, on charge une image pour le sol et en suite on charge normalement le reste des calques,
Il faut savoir que le client officiel de Dofus pèse maintenant 4go, dont 2go sont uniquement dédié aux tiles des maps, maintenant imaginons qu'on enlève toute les tiles de sols du jeu et qu'on charge tout le sol via une requete http, dans la théorie on pourrait gagner beaucoup d'espace, le jeu prendrait probablement moins de RAM et serait globalement plus rapide.
Sans parler du fait qu'avoir ce genre d'image peut être utile pour un fan-site et autres sans avoir à reproduire tout le process de chargement de maps du jeu
> Déjà, de quoi je parle exactement ?
Je parle de ça https://ground.ether-game.eu/95420420/0.jpg
Vous pouvez retrouver la liste des 13 973 maps ici https://ground.ether-game.eu
Ça correspond a un fichier jpg qui contient le background + background color + toute les tiles du calque 0
> Comment je m'y suis pris pour avoir tout ça ?
A la base j'aurais pu juste faire un genre de tools qui charge toute les maps au format DLM et sauvegarder une image, sauf que c'est assez compliqué de gérer la color correction de flash, les shadow etc..
J'ai donc préféré modifier un DofusInvoker 2.51, en y ajoutant une fonction pour passer à travers toute les maps du jeu, en y chargeant uniquement les sols et le background et y prendre une capture de map. D'après moi c'est la meilleure façon d'avoir un bon résultat,
Le process prend environs 4h si mes souvenirs sont bons, le dossier final fait 3.5go
(il faut savoir que j'ai essayé de récupérer les autres calques séparément, et ça fait 80go :sue
> Quel est le résultat ?
J'ai donc modifié mon DofusInvoker pour y ajouter tout le chargement du sol via des requêtes, et pour le moment j'en suis pas vraiment satisfait; le temps de chargement des maps est quasi identique à la normal, j'ai l'impression que mes images sont bien trop lourde ou que mon serveur web est trop lent (?), et que donc ça prend trop de temps à charger, faute d'un résultat significatif par rapport au temps de travail que ça demande, je m'en suis donc arreté là,
Tout ça pour dire que si vous avez idées pour optimiser tout ça je suis prenneur et que si ça marche bien le résultat sera open-source
- 3
- 1
- Show all