Sunday, October 25, 2015

segfault.

J'ai tenté une des deux approches me permettant d'avoir une animation d'attente pendant le chargement des niveaux. Et c'est un échec. L'émulateur se plante sur une instruction non-définie en cours de chargement du niveau 1. Le débuggeur fait crasher complètement l'émulateur avant même d'avoir atteint cette instruction.

Failed attempt to have some background task running while level loading is in progress. Something simple like moving some sprite on the bottom screen, playing samples to count the score, etc. But it changes quite a lot the execution context for the loading, and as of writing, it makes the emulator crash when loading level 1 and the debugger makes it crash even earlier. That's a job for some automated testing and I have plans to bring such techniques to my DS development since I had the opportunity to see it in action at work.

Je pense que ce serait un cas de figure à étudier avec l'approche de tests automatique inspirée de mes travaux au boulot, avec une couche d'abstraction du matériel pour que le test se passe en natif sur le PC. Mais c'est un peu gros à mettre en place: je préfèrerais que ce genre de développement ne mette pas en attente le jeu "school rush". Il me reste une deuxième piste à explorer succeptible de tout simplement raccourcir les temps de chargement: permettre de réinitialiser la map et la position des ennemis sans ré-interpréter l'entièreté des machines d'état.

Yet, I have another approach I could follow, which would make the whole loading process faster. I think I will try this first, and fall back to the auto-testing system if that doesn't work either.

PS: bonne nouvelle pour les lecteurs francophones: le message sur les bonus a été traduit.

No comments: