Aller au contenu
Martin Poiroux
Langue : English
Projets · CodeCode · Jeux · 2019

Blobby Volley

Le premier jeu de volley, écrit en Python pendant la prépa et joué le soir à deux sur le même clavier, sur les ordinateurs de l’école. La physique de BlitzVolley en descend.

Un terrain de plage, un filet, deux joueurs ronds et un ballon. Chacun joue de son côté du même clavier, Q, D et Z pour le rouge, les flèches pour le bleu. Le principe est celui de Blobby Volley, le jeu libre du même nom : on ne frappe pas le ballon, on le renvoie en le touchant, et tout se joue dans l’angle du contact.

Le jeu a été écrit pendant la prépa, avec Pygame, et joué le soir entre camarades sur les ordinateurs de l’école. Le code le garde encore : un réglage indique s’il tourne sur la machine personnelle ou sur une session de l’établissement, parce que les chemins des images n’étaient pas les mêmes.

Un échange en cours : le ballon garde sa vitesse, les deux joueurs sautent et se déplacent sous la même gravité.

La physique tient en quelques constantes : une gravité, un frottement au sol, un rapport de masse entre joueur et ballon, et deux coefficients pour les coups appuyés, la frappe en pleine course et le smash, chacun déclenché au-delà d’un angle de contact. C’est ce noyau qui a été repris des années plus tard pour BlitzVolley, cette fois en ligne, avec un serveur qui fait autorité.

Le joueur rouge va chercher le ballon au ras du sable, le bleu attend en l’air. Le score s’affiche dans chaque coin.

Le fichier contient aussi une ébauche d’adversaire : un petit réseau de neurones, cinq couches de 2 à 16 neurones, et une fonction de mutation appliquée à la main avec la touche Entrée. Rien ne sélectionnait les meilleurs réseaux, si bien que l’adversaire n’a jamais appris à jouer. L’idée a mis du temps à aboutir : les bots de BlitzVolley sont, eux, entraînés par renforcement.

En tête du fichier, la liste de ce qui restait à faire : des menus, des bruitages, de la musique, des coups spéciaux, la collision avec le poteau. Une partie de cette liste a fini par exister, ailleurs.

Projet privé, pas de lien public