début de la mise en place du jeu (partie client uniquement).
This commit is contained in:
45
JEU2/memo.txt
Normal file
45
JEU2/memo.txt
Normal file
@@ -0,0 +1,45 @@
|
||||
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 (rebonds de la balle, "Oof" de Roblox sur un point)
|
||||
- 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
|
||||
(BUG désynchronisation: revenu à un traitement immédiat en attendant)
|
||||
- Détruire les GameSession une fois finies.
|
||||
- mode multi-balles
|
||||
- mode murs mouvant (la zone de jeu rétréci / agrandi en continu)
|
||||
- Selection des modes de jeu via HTML
|
||||
- Selection audio on/off via HTML
|
||||
|
||||
TODO:
|
||||
- Match Abort si tout les joueurs ne sont pas pret assez vite (~15 secondes)
|
||||
- mode spectateur
|
||||
- certaines utilisations de Math.floor() superflu ? Vérifier les appels.
|
||||
(éventuellement Math.round() ?)
|
||||
- un autre mode de jeu alternatif ?
|
||||
- changer les "localhost:8080" dans le code.
|
||||
- sélection couleur des raquettes (your color/opponent color) dans le profil utilisateur.
|
||||
Enregistrement dans la DB.
|
||||
init des couleurs dans GameComponentsClient() basé sur les variables de l'utilsateur connecté.
|
||||
-----------
|
||||
idées modes de jeu :
|
||||
- mode 2 raquettes (un joueur haut/gauche et bas/droite)
|
||||
- skin patate ???
|
||||
- (prediction de l'avancement de la balle basé sur la latence serveur ?)
|
||||
- d'autres sons (foule qui applaudi/musique de victoire)
|
||||
-----------
|
||||
- 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).
|
||||
Reference in New Issue
Block a user