diff --git a/memo.txt b/memo.txt index 316ed30d..30c217d1 100644 --- a/memo.txt +++ b/memo.txt @@ -1,10 +1,35 @@ +Done: + - Connexion client/serveur via un Websocket + - implémentation basique (authoritative server) + - Matchmaking + - client prediction + - server reconciliation (buffer des inputs côté client + id sur les inputs) + - amélioration collision avec Hugo + - du son (balle, foule qui applaudi/musique de victoire) (son de la raquette "Oof" de Roblox ? 🤡) + - init de GameComponents partagé entre serveur et client. + - draw on the canvas "WIN", "LOSE", "MATCHMAKING COMPLETE", ... + - interpolation (mis à jour progressif des mouvements de l'adversaire) + - traitement groupé des inputs clients toutes les x millisecondes -- ball direction based on player hit location - ---- - -- node.js server for http access (and javascipt modules files split) - ---- - -- gamesocket with node.js +TODO: +- mode multi-balles +- Détruire les GameSession une fois finies. +- certaines utilisations de Math.floor() superflu ? Vérifier les appels. +- (prediction de l'avancement de la balle basé sur la latence serveur ?) +----------- +idées modes de jeu : + - mode murs mouvant (la zone de jeu rétréci / agrandi en continu) + - mode 2 raquettes (un joueur haut/gauche et bas/droite) + +- bonus divers (mode obstacle, multi-balles, skin patate, ...) +- mode spectateur +----------- +- BUG: Si la balle va très vite, elle peut ignorer la collision avec une raquette ou mur. +la collision est testée seulement après le mouvement. +Pour éviter ce bug il faudrait diviser le mouvement pour faire plusieurs tests de collision successifs. +- BUG mineur: sur un changement de fenêtre, les touches restent enfoncées et il faut les "décoincer" +en réappuyant. Ce n'est pas grave mais peut-on faire mieux ? +---------- +OSEF, rebuts: +- reconnection +- amélioration du protocole, remplacement du JSON (compression. moins de bande passante).