[Player #0] can be back ...
posté le 30 May 2006 à 22:44
Ça fait environ deux semaines ou deux semaines et demie que je suis là-dessus, et je commençais à en avoir un peu assez. Parce que du coup, je prends du retard sur d'autres choses importantes, notamment ne pas décourager les modeleurs en ne tenant pas compte de ce qu'ils ont fait.
En quoi ça consiste, exactement ? Il s'agit d'implémenter un système de sérialization/désérialization pour Samoth. Rien que ça, et déjà j'ai perdu la moitié de mes lecteurs.
En fait, le but est simplement de pouvoir sauvegarder une partie (i.e, un ensemble de maps visitées, la progression actuelle et le joueur lui-même) en quittant le jeu, et d'être capable de le restorer tel quel après. Pour cela, j'ai dû :
- implémenter quelques classes, parce que c'est bien facile de sérializer des trucs, mais encore faut-il qu'ils existent
- intégrer une bibliothèque capable d'écrire de manière élégante dans un .zip. J'ai finalement trouvé mon bonheur avec une bibliothèque ... dont le développement avait cessé il y a cinq ans. Donc il a fallu que je m'amuse à la modifier un peu, pour la rendre compatible avec les nouveaux standards.
- Pour chaque classe existante, créer une fonction *::serialize() qui enregistre les données dans un flux, au format xml.
- Au passage, me coltiner pas mal de machins que j'avais négligés (entre autres, Pathfinding, Effets magiques, ItemManager, SpellManager, etc.), histoire de faire un ensemble à peu près correct
- Corriger des erreurs de programmation, que j'ai repérées en parcourant le code.
- Créer la classe Deserializer, et toutes ses fonctions membres. Là, on nage dans le bonheur pur.
- Une fois tout ça fini (il y a deux jours, et encore, il en reste un peu), tester. Voir pourquoi ça ne marche pas. C'est long, rébarbatif, et tellement valorisant ...
- Mettre à jour une bibiliothèque utilisée, en pensant que ça corrigera un bug - qui se révélera être dû en fait à une simple erreur de ma part, mais passons. Oui, mais du coup, j'ai été bon pour environ six heures à essayer de comprendre pourquoi la nouvelle version d'Opal provoquait une erreur de segmentation. Joie. Heureusement que le principal développeur d'Opal m'a aidé.
Enfin, l'important, c'est que maintenant ça marche. On peut sauvegarder les données du joueur, et le recréer à partir d'elles. Carrément. D'ailleurs, voilà ce que ça donne, un joueur au format xml.
Un peu d'enthousiasme, bordel.
En quoi ça consiste, exactement ? Il s'agit d'implémenter un système de sérialization/désérialization pour Samoth. Rien que ça, et déjà j'ai perdu la moitié de mes lecteurs.
En fait, le but est simplement de pouvoir sauvegarder une partie (i.e, un ensemble de maps visitées, la progression actuelle et le joueur lui-même) en quittant le jeu, et d'être capable de le restorer tel quel après. Pour cela, j'ai dû :
- implémenter quelques classes, parce que c'est bien facile de sérializer des trucs, mais encore faut-il qu'ils existent
- intégrer une bibliothèque capable d'écrire de manière élégante dans un .zip. J'ai finalement trouvé mon bonheur avec une bibliothèque ... dont le développement avait cessé il y a cinq ans. Donc il a fallu que je m'amuse à la modifier un peu, pour la rendre compatible avec les nouveaux standards.
- Pour chaque classe existante, créer une fonction *::serialize() qui enregistre les données dans un flux, au format xml.
- Au passage, me coltiner pas mal de machins que j'avais négligés (entre autres, Pathfinding, Effets magiques, ItemManager, SpellManager, etc.), histoire de faire un ensemble à peu près correct
- Corriger des erreurs de programmation, que j'ai repérées en parcourant le code.
- Créer la classe Deserializer, et toutes ses fonctions membres. Là, on nage dans le bonheur pur.
- Une fois tout ça fini (il y a deux jours, et encore, il en reste un peu), tester. Voir pourquoi ça ne marche pas. C'est long, rébarbatif, et tellement valorisant ...
- Mettre à jour une bibiliothèque utilisée, en pensant que ça corrigera un bug - qui se révélera être dû en fait à une simple erreur de ma part, mais passons. Oui, mais du coup, j'ai été bon pour environ six heures à essayer de comprendre pourquoi la nouvelle version d'Opal provoquait une erreur de segmentation. Joie. Heureusement que le principal développeur d'Opal m'a aidé.
Enfin, l'important, c'est que maintenant ça marche. On peut sauvegarder les données du joueur, et le recréer à partir d'elles. Carrément. D'ailleurs, voilà ce que ça donne, un joueur au format xml.
Un peu d'enthousiasme, bordel.
6 commentaires
Poster un commentaire
Invité
Vous souhaitez commenter immédiatement ce billet. Vous ne pourrez pas l'éditer une fois envoyé.
Membre
Vous êtes membre ou souhaitez vous créer un compte sur l'asile.fr
L'accueil de l'asile.fr
Les blogs sur l'asile.fr
S'abonner au flux RSS des articles
Rechercher
Quelques mots ...
Lecteur, avant toute chose, je me dois de t'avertir du contenu de cet encart. Je ne vais pas m'y étendre sur ce que je suis ou ne suis pas. Non pas pour ne pas t'ennuyer, c'est le cadet de mes soucis pour le moment, et puis ça arrivera tôt ou tard ; mais pour ne pas trop en dévoiler. Ce blog est le mien, et en tant que tel m'est dédié de long en large : me dépeindre — ou tenter de le faire — en quelques mots serait, plus qu'une erreur, un mauvais calcul. Et je déteste faire de mauvais calculs, ça me frustre.
Articles importants
- “I think I can make it now, the pain is gone” (curl up and feel the joy.)
- Oh.
- Prayer
- Flawed
- Statistically speaking...
- Douleur ? Oh non.
- Thrice
- [06/04] The US are far (Retour)
- Emeth
- Bon, puisque c'est comme ça, je vais me recoucher.
- Un rêve en blanc ?
- Écriture à contrainte
- Si l'on enfermait un singe dans une boîte totalement hermétique avec une machine à écrire radioactive, est-ce qu'il composerait l'intégrale des oeuvres de Shakespeare avant d'être à moitié mort ?
- as she waits
- La Machine à créer des Héros
- Éthano
- À pic !
- Voyez !
- Anyway
- Des dangers de devenir brugnon
- Chandelle
- Avant ?
- La vérité, c'est très surfait
- Words, words, words
- Je voudrais pas crever
- Céphalée (6)
- Céphalée (5)
- Céphalée (4)
- Céphalée (3)
- Céphalée (2)
- Céphalée (1)
- Pour une plus juste répartition des bombes
- Taxinomie et bordel ambiant
- Comptine pour l'enfant huître
- Sympathy
- Tréfonds
- Générique
- Ecce homo
- Death of a clown
- Hammer song.
- Au passage, elle attend toujours.
- Pas facile d'être misanthrope : il m'a fallu bien des années.
- Ce triste sire
- Je crois ...
- (Et c'est trop cher pour vous)
- Réécrivons l'histoire
- 3
- Tant que cela te réussit.
- 2
- 1
- La porte.
- Vous échouez toujours
- Avant.
- Journal de vrac d'en bord.
- Fugitive
- Ballade en nature.
- Saint Con 2007
- Le coeur n'est qu'un organe, et l'on sait les greffer
- Vendu
- Pourtant, j'avais des ailes, avant.
- Arkham
- Un coucou régulier ...
- Passage à vide.
- À une passante.
- Et le vent sous mes bras qui ne sont pas des ailes
- Antoine.
- La jalousie est un vilain défaut.
- J'ai peur de mourir.
- C'est réciproque.
- Sept cent trente-deux grammes et un bec.
- Les cailloux se cachent pour mourir.
- Je suis un loup pour l'homme.
- L'éternité, ça dure longtemps ?
- Celui qui n'a jamais rêvé.
- Sauf moi.
- Gris.
- This product is meant for educational purposes only.
- Stairway to Heaven
- À quoi bon ?
- Sans faire de bruit ...
- Game Over.
- Le jour le plus long.
- Même pas mal.
- Chute.