arcade
www.lecalamar.fr/posts/2025-11-02-pyconfr-calamars-et-pythons/
Pour rendre le code accessible au plus grand nombre
Mais en vrai, la qualité c'est important !
Mais pourquoi avoir choisi de parler de calamar ?
Pour une raison très personnelle
arcadearcade
Bibliothèque Python pour créer des jeux
Orientée 2D
Tourne sous Windows, Linux, Mac, Raspberry Pi…
API simple et bien documentée
Créé par Paul V. Craven quand il donnait des cours
arcade |
pygame |
|---|---|
| Licence MIT | Licence LGPL |
| 2016 (9 ans) | 2000 (25 ans) |
| OpenGL 3.3+ / pyglet | SDL 2 |
| Annotations de type | Pas d'annotations |
| Gestion rotation/scale | Support Android |
| Tiled Map Editor |
Comparaison de FPS sur des sprites en mouvement
Une bande de potes
Calamars et Pythons
Installez uv
Lancez le jeu
D'autres méthodes existent
Nous sommes un calamar
Nous adorons Python plus que tout
Des icônes de langages de programmation apparaissent
Attrapons les icônes Python (+3 points)
Repoussons les autres (-1 point par icône non repoussée)
Parties de 30 secondes
Le calamar n'a que deux tentacules
Mais il a 8 ou 10 bras
Le calamar est apparu il y a environ 200 000 000 ans
Homo sapiens a environ 300 000 ans
arcade ne sait ouvrir qu'une fenêtre à la fois
Vidons le fichier src/calp/__init__.py
Créons le fichier src/calp/main.py
Créons src/calp/constants.py
Modifions src/calp/main.py
Créons src/calp/main_window.py
Création d'une aborescence pour les médias
Modifions src/calp/main_window.py
Ajoutons des vagues, nous sommes dans l'eau
Modifions src/calp/main_window.py
Modifions src/calp/main_window.py
Limitez les communications entre CPU et GPU
=> Performance quand beaucoup de tracés
Modifions src/calp/main_window.py
Modifions src/calp/main_window.py
Modifions src/calp/main_window.py
Créons src/calp/calamar.py
Modifions src/calp/calamar.py
La plupart des calamars font moins de 60 cm de long.
Certains atteignent 13 m.
D'autres pèsent une demie tonne.
Modifions src/calp/calamar.py
Modifions src/calp/calamar.py
Gravure d'un calamar géant échoué en 1877 sur la baie Trinity, à Terre-Neuve
Modifions src/calp/calamar.py
Modifions src/calp/main_window.py
Modifions src/calp/calamar.py
Modifions src/calp/calamar.py
Certains calamars volent
Ou plutôt sautent, au-dessus de l'eau, sur plus de 30 m !
Modifions src/calp/main_window.py
Modifions src/calp/calamar.py
Modifions src/calp/main_window.py
Ajoutons src/calp/icon.py
Le calamar est comestible
Alors souvent appelé encornet
Modifions src/calp/main_window.py
Modifions src/calp/calamar.py
Modifions src/calp/icon.py
Modifions src/calp/main_window.py
Modifions src/calp/calamar.py
Créons src/calp/score.py
Des calamars se font dorer la pilule
Modifions src/calp/score.py
Modifions src/calp/main_window.py
Des calamars prêts à être dégustés
Modifions src/calp/main_window.py
Modifions src/calp/calamar.py
Ajout d'un effet spécial (feu d'artifice quand on repousse une icône)
Basé sur un fragment shader OpenGL
Sujet encore expérimental dans arcade
Modifions src/calp/main_window.py
Ajoutons src/calp/assets/firework.glsl
Ajoutons src/calp/fireworks.py
Modifions src/calp/calamar.py
Le calamar peut être sculpté
Utilisons PyInstaller
PyInstaller permet de créer un fichier exécutable contenant tout notre projet
Résultat dépendant de l'OS
PyInstaller a besoin de configuration pour les cas particuliers
Ajoutons hook-arcade.py
Exécutons PyInstaller
arcade est assez agréable à utiliser
arcade est bien documenté
Nous avons vu les notions de base, il est possible d'en savoir plus dans la documentation officielle
arcadeView)Mais au fait, pourquoi tous ces calamars ?
www.lecalamar.fr/posts/2025-11-02-pyconfr-calamars-et-pythons/ |
|