Salut,
Avec une équipe je bosse actuellement sur un jeu de type MMO, et actuellement je cherche à réaliser le launcher, soit le code qui se chargera de vérifier si les fichiers sont à jours, et dans le cas contraire, de les retélécharger.
Je précise que nous travaillons avec Qt 4.5 pour cette tâche.
Ce launcher devrait être capable également de télécharger tous les fichiers manquants, ce fichier sera le seul à être distribué (Avec les dll?) au public.
Cependant ceci pose quelques problèmes, par exemple j'aimerais savoir si je peux compiler les dll de Qt dans l'exécutable légalement, sachant que le jeu sera gratuit mais propriétaire (On ne distribuera pas le code source).
Ce serait plus esthétique et plus facile avec cette technique, mais elle ne pose pas de problème dans le cas contraire.
Un autre problème c'est pour modifier les fichiers, je sais comment faire mais je sais également que les fichiers comme l'exécutable lui-même, ou les dll de Qt (Dans le cas d'une mise à jour de Qt), ne seront pas autorisés en écriture pendant que le programme est lancé (Et difficile de le couper puis de le faire modifier des fichiers )
J'avais pensé à une architecture un peu à la World of Warcraft, c'est-à-dire que pour les mises à jour, ce serait un fichier d'installation qui serait téléchargé, puis exécuté afin de modifier le programme librement (après la fermeture de celui-ci).
Cette architecture pose plusieurs problèmes, par exemple le fait que les mises à jours devront être téléchargées dans l'ordre, et donc il faut imaginer un nouveau joueur acquérir le launcher et ne pas pouvoir jouer le temps que toutes les mises à jours soient effectuées, ce qui peut être très long sur certaines connections.
De plus, imaginons que un fichier soit endommagé, corrompu ou supprimé (délibérément ou non).
On ne peut évidemment pas passer par les mises à jours, car une mise à jour ne modifie pas tous les fichiers (Sinon ça équivaudrait à retélécharger tout le jeu à chaque fois) et il faudrait donc retrouver la dernière mise à jour qui touche le fichier en question, puis appliquer toutes les suivantes.
Cependant si le fichier est endommagé et que l'exécutable à pu se lancer quand même, c'est probablement un fichier auquel nous pouvons toucher, à ce moment là nous pourrions le retélécharger.
Mais imaginons que ça ne soit pas possible.
Enfin bref, que nous conseillez-vous pour mettre à jour notre jeu quand c'est nécessaire?
Merci d'avance
Partager