Krowten Emagyp Développement d’un jeu en language Python
Mise en contexte Équipe: David Thivierge-Gaulin Matthieu Tanguay-Carel Michel Boivin Développement d’un jeu réseau temps-réel sur un language de haut-niveau
Plan Exigences du client Objectifs fixés Approche utilisée Tests préliminaires Risques associés Planification Conclusion
Exigences du client Fonctionnement sur Windows et Linux Nombre arbitraire de joueurs Impression de temps réel conservée pour toute latence <= 100ms 1 seule partie Modifications persistantes à l’environnement Serveur peut demeurer en ligne un minimum de 24 heures
Méthodologie Méthodologie employée: Agile software development Développement de logiciel en de courts cycles itératifs. Chaque cycle améliore l’itération précédente. Réduit certains risques
Tests préliminaires: Graphiques Ordinateur: AMD Athlon 2 GHz (3000+) avec une carte graphique SiS M741 de 32 MB avec 512 MB de RAM. Conditions: Sphères de 64x64 pixels Détection de collision entre les blocs Transparence. Résolution de 640x480, pas d'accélération graphique Reproduction: Tag SVN
Tests préliminaires: Graphiques Résultat du test:
Tests préliminaires: Graphiques Conclusion: Affichage -> O(n) Collisions -> O(n^2) Restrictions: Cap de 30 FPS avec 120 objets Doit restreindre les collisions en fonction de l'environnement.
Tests préliminaires: Réseau 2 goulots possibles Engin graphique Communications réseaux 3 architectures réseaux 1 processus / requête 1 thread / requête Multiplexage des requêtes avec select()
Tests préliminaires: Réseau Résultat des tests
Risques associés Méthode d'approximation des risques:
Planification à court terme Implantation d’un jeu multi-joueur simple Ajout graduel de fonctionnalités: Effets sonores ‘Sprites animés’ Modifications a l’environnement
Conclusion Démo Questions?