Exporter votre jeu¶
Votre jeu fonctionne. Vous pouvez y jouer sur votre ordinateur. Mais pour l’instant, personne d’autre ne peut y jouer.
Dans cette page, on va voir comment transformer votre jeu Pygame en un vrai programme, que vous pouvez partager.
Disclaimer : cette méthode a beaucoup de problèmes, donc ne l'utilisez pas en dehors de partager votre jeu avec vos potes.
Pourquoi exporter ?¶
Exporter un jeu permet de :
- le lancer sans ouvrir Python
- le partager facilement à des amis
- montrer votre projet sans expliquer comment installer Pygame
Un jeu exporté, c’est un vrai projet fini.
La solution la plus simple : PyInstaller¶
On va utiliser PyInstaller, un outil qui transforme un programme Python en exécutable.
Installation :
python -m pip install pyinstaller
Préparer son projet¶
Avant d’exporter, assurez-vous que :
- votre jeu fonctionne correctement
- tous les fichiers sont bien organisés
- les images et sons sont dans un dossier
assets/
Exemple de structure :
project/
├── main.py
├── player.py
├── enemy.py
├── settings.py
├── assets/
│ ├── images/
│ └── sounds/
Créer l’exécutable¶
Dans le dossier du projet, lancez :
pyinstaller main.py
Après quelques secondes, de nouveaux dossiers apparaissent :
build/dist/main.spec
Le dossier dist/ contient votre jeu.
Lancer le jeu exporté¶
Dans dist/, vous trouverez :
- un dossier
- ou un fichier
.exe(Windows)
Double-cliquez dessus : le jeu se lance.
Inclure les assets (très important)¶
Par défaut, PyInstaller n’inclut pas automatiquement les images et les sons.
Il faut les ajouter avec l’option --add-data.
Exemple :
pyinstaller main.py --add-data "assets;assets"
- le premier
assets: dossier source - le second
assets: dossier dans l’exécutable
Sous Linux / macOS, utilisez : au lieu de ; :
pyinstaller main.py --add-data "assets:assets"
Mode fichier unique (optionnel)¶
Pour créer un seul fichier exécutable :
pyinstaller --onefile main.py
Avantages :
- un seul fichier à partager
Inconvénients :
- lancement un peu plus lent
- debug plus compliqué
Fenêtre sans console¶
Pour un jeu, on ne veut généralement pas voir la console.
Sous Windows :
pyinstaller --noconsole main.py
Erreurs fréquentes¶
Le jeu ne trouve pas les images¶
C’est presque toujours un problème de chemin.
Utilisez des chemins relatifs corrects, et assurez-vous que --add-data est bien utilisé.
L’exécutable est énorme¶
C’est normal. Un exécutable Python contient :
- Python
- les bibliothèques
- votre code
C'est entre autres pour ça (et pour des raisons de sécurité) que Pygame n'est jamais utilisé pour des usage commerciaux.
Tester avant de partager¶
Avant d’envoyer votre jeu :
- testez l’exécutable
- lancez-le depuis un autre dossier
- vérifiez que sons et images fonctionnent
Quizz¶
pyinstaller main.py
Où se trouve l’exécutable généré ?
- Dans `build/`
- *Dans `dist/`
- Dans `assets/`
- Dans le dossier système
> PyInstaller place toujours le résultat final dans le dossier `dist/`.
Exercice pratique¶
Exportez un de vos jeux Pygame :
- Créez l’exécutable
- Incluez les assets
- Testez-le sur votre ordinateur
- Faites-le tester à quelqu’un d’autre
Bonus :
- Utilisez
--onefile - Supprimez la console
- Ajoutez une icône à l’exécutable
En résumé¶
Vous savez maintenant :
- À quoi sert l’export
- Utiliser PyInstaller
- Inclure les assets correctement
- Créer un exécutable propre
- Partager votre jeu facilement
À partir de maintenant, vos jeux peuvent vivre en dehors de votre PC.