Program Arcade Games
With Python And PygameAvant de commencer...
Vous êtes ici parce que vous voulez créer votre propre jeu ? Parfait ! Vous trouverez ici quelques vidéos de jeux créés par des étudiants ayant suivi ce cours :
Cet avant-propos est en deux parties :
- Préparer votre ordinateur pour pouvoir créer des jeux.
- Métiers et perspectives de carrière dans le secteur informatique.
0.1 Installer et Démarrer Python
Avant de commencer, vous devez installer deux programmes : Python et Pygame. Python est le langage de programmation que nous allons utiliser, et Pygame est une bibliothèque qui rend la création des jeux plus facile.
0.1.1 Installation sous Windows
Si vous travaillez avec un ordinateur sur lequel Python et Pygame sont déjà installés, vous pouvez passer cette étape. Mais si vous devez installer Python et Pygame sur votre ordinateur personnel fonctionnant sous Windows, ne vous inquiétez pas, c'est vraiment très simple :
- Exécutez le programme d'installation pour Python téléchargeable depuis :
ProgramArcadeGames.com/python-3.3.3.msi - Exécutez le programme d'installation pour Pygame téléchargeable depuis :
ProgramArcadeGames.com/pygame-1.9.2a0.win32-py3.3.msi
Une fois que tout est installé, démarrez Python en sélectionnant l'Environement de Développement Intégré (IDLE) comme indiqué sur la Figure 0.1
Les fichiers fournis ici proviennent de la page de téléchargement de Python à cette adresse :
http://www.python.org/download/
...et les fichiers pour Pygame viennent initialement de :
https://bitbucket.org/pygame/pygame/downloads
Remarque : Il existe de nombreuses versions de Python et Pygame. Il peut être difficile d'obtenir des versions qui fonctionneront correctement ensemble. Je vous recommande donc d'utiliser les liens de téléchargement fournis ici sur ProgramArcadeGames.com plutôt que de télécharger depuis les sites de Python et Pygame.
Si toutefois vous devez utiliser une version de Python différente de celle indiquée ici, cherchez une
version de Pygame qui lui correspond sur ce site :
www.lfd.uci.edu/~gohlke/pythonlibs/#pygame
0.1.2 Installation sous Mac OS
Python et Pygame fonctionnent sur Mac. Cependant, compte tenu des maux de tête que les anciens étudiants ont attrapés en tentant de faire fonctionner Pygame sur Mac, je vous recommande d'utiliser Python / Pygame dans un émulateur Windows.
Si vous ne l'installez pas simplement pour essayer, mais que vous voulez le faire fonctionner directement sur un Mac, assurez-vous d'abord que les éléments suivants sont installés :
- XCode
- XQuartz
- pip
- hg
- homebrew
Ensuite, ouvrez un terminal sur le Mac, puis installez les dépendances nécessaires en tapant :
brew install sdl sdl_image sdl_mixer sdl_ttf portmidi brew tap homebrew/headonly brew install smpeg --HEAD
Finalement, téléchargez, compilez et installez le code source :
sudo pip install hg+http://bitbucket.org/pygame/pygame
Avec un peu de chance, ceci installera la version de développement depuis BitBucket.
0.1.3 Installation sous Unix
Unix et les distributions similaires offrent en général un paquet pour Pygame, ou du moins il est facile d'en trouver un. Si vous souhaitez compiler Pygame depuis les sources, voici ce que j'ai utilisé avec Linux Mint :
# Load required packages sudo apt-get install mercurial libsdl1.2-dev libsmpeg-dev sudo apt-get install libasound2-doc libglib2.0-doc python3-dev sudo apt-get install libsdl-ttf2.0-dev libsdl-image1.2-dev sudo apt-get install libsdl-mixer1.2-dev libportmidi-dev sudo apt-get install libavformat-dev libswscale-dev # Use mercurial to clone current code hg clone https://bitbucket.org/pygame/pygame # Build and install cd pygame sudo python setup.py
Le principal risque sur les systèmes UNIX, c'est que la version par défaut de Python soit dans la branche 2.x, et que les exemples donnés dans ce livre ne fonctionnent pas. Assurez vous d'installer et d'utiliser une version 3.x de Python.
0.1.4 Facultatif : l'EDI Wing
Python est fourni avec un éditeur et un environnement de développement. Malheureusement, il n'est pas très pratique. Mes étudiants rencontrent généralement les deux problèmes suivants quand ils utilisent l'éditeur par défaut de Python :
Premier problème : quand ils travaillent avec plusieurs fichiers, il est difficile d'avoir un aperçu clair de ceux qui sont ouverts. Il est alors fréquent d'oublier d'enregistrer un fichier avant d'exécuter le programme. Quand cela arrive, le programme s'exécute avec le dernier code qui a été enregistré, plutôt qu'avec le nouveau. Ceci peut être vraiment déroutant.
Deuxième problème : s'il y a une erreur dans un programme qui utilise des éléments graphiques, le programme Python plantera et se « figera ». Une fois que le programme est planté, il est difficile de le fermer. Le message d'erreur qui décrit pourquoi il a planté est souvent caché et difficile à trouver, comme vous pouvez le voir sur la figure 0.2.
L'EDI Wing résoud le premier problème en proposant un éditeur avec un onglet pour chaque fichier. Il avertira également qu'il faut enregistrer tous les fichiers avant d'exécuter un programme. Un programme exécuté depuis le débogueur de Wing ne se figera pas comme décrit dans le deuxième problème, mais au contraire l'éditeur indiquera immédiatement à l'utilisateur la ligne de code qui pose problème, comme vous pouvez le voir sur la figure 0.3.
C'est pourquoi, même si cela fait un programme de plus à installer, je recommande d'utiliser l'EDI Wing.
Il en existe une version gratuite appelée
« Wing IDE 101 » téléchargeable à cette adresse :
wingware.com/downloads/wingide-101/
Il n'y a aucune obligation de céder aux sirènes des fonctionnalités offertes par la version commerciale, mais elles sont utiles. Le programme vous aidera souvent en complétant automatiquement le nom des variables quand vous commencerez à les taper. Si vous avez de l'argent à dépenser et que vous voulez gagner du temps, vous voudrez sûrement acheter la version commerciale.
Dans les vidéos du site, j'utilise indifféremment l'éditeur par défaut de Python ou l'EDI Wing. Il existe beaucoup d'autres éditeurs que vous pouvez également utiliser :
Dans le milieu des développeurs, discuter de « quel éditeur est le meilleur » revient à demander à un groupe de personnes « quelle religion est la meilleure ». Vous feriez bien mieux de vous faire votre propore opinion et et d'éviter d'aborder ce sujet.
0.2 Afficher les Extensions des Fichiers
C'est une bonne idée de changer votre configuration de Windows pour afficher les extensions des fichiers. Un fichier a habituellement un nom de la forme Book report.docx dans lequel .docx indique à l'ordinateur qu'il s'agit d'un document compatible avec Microsoft Word. Par défaut, Windows cache cette extension .docx s'il y a un programme installé pour la prendre en charge. Si vous programmez, le fait de cacher cette partie du nom du fichier peut être ennuyeux.
Pour Windows 7, pour rendre visible les extensions des fichiers, ouvrez le panneau de configuration de votre ordinateur. Dans « Apparence et personnalisation », cliquez sur « Options des dossiers ». Cliquez sur l'onglet « Affichage », puis cherhez et décochez l'option « Masquer les extensions des fichiers dont le type est connu »
Pour Windows 8, ouvrez un explorateur de fichiers en appuyant simultanément sur les touches Windows et E. Cliquez alors sur l'onglet « Affichage », puis sur « Options » et « Modifier les options des dossiers et de recherche ». Dans la fenêtre d'options, cliquez à nouveau sur l'onglet "Affichage" puis cherchez et décochez l'option « Masquer les extensions des fichiers dont le type est connu ».
0.3 Apprenez à Faire des Jeux et Gagnez de l'Argent
Quand vous allez commencer à apprendre la programmation, vous allez rapidement vous rendre compte que cela ressemble beaucoup à un travail. Nous savons tous que nous ferions bien mieux de laisser tomber notre travail pour aller récolter de l'or dans World of Warcraft, Eve Online ou d'autres jeux, n'est-ce pas ? Alors pourqoi apprendre à programmer ? Quels avantages peut-on en tirer ?
Comment gagner de l'argent en faisant des jeux ? D'accord, je ne vous paierai pas, mais si vous apprenez à programmer, il y a des tas de gens qui vous paieront. Voici comment y parvenir :
- Apprenez à programmer des jeux.
- Prenez plaisir à concevoir vos propres jeux.
- Choisissez l'offre d'emploi qui vous plait le plus.
- Profitez.
Aucun mystère dans ce plan !
Réflechissez. Vous pouvez jouer à des jeux, mais tout le monde peut le faire. Avec un peu de recul, être très bon à un jeu vidéo n'est pas vraiment une fin en soi. Ou vous pouvez apprendre à créer des jeux. Les gens s'intéressent à ça.
Pendant que vous apprendrez à programmer des jeux, dites à vos parents et vos collègues que vous étudiez l'Informatique. Cela sonne mieux.
0.3.1 Pourquoi étudier l'Informatique ?
Reparlons d'argent. D'après l'enquête sur les salaires de la National Association of Colleges and Employers (NACE) d'avril 2014, l' Ingénierie est la profession où les salaires sont les plus hauts et l'Informatique tient la seconde place.
Salaire Moyen Par Profession | |
Branche Professionnelle | Salaire moyen proposé |
Commerce | 53 901 $ (≈ 41 462 €) |
Communication | 43 924 $ (≈ 33 787 €) |
Informatique | 61 741 $ (≈ 47 493 €) |
Enseignement | 40 863 $ (≈ 31 433 €) |
Ingénierie | 62 719 $ (≈ 48 245 €) |
Métier de la Santé | 51 541 $ (≈ 39 646 €) |
Sciences Humaines & Sociales | 38 365 $ (≈ 29 511 €) |
Maths & Sciences | 43 414 $ (≈ 33 395 €) |
(Données du "NACE April 2014 Salary Survey". Montants en euro estimés sur la base d'un dollar à 1,3€)
Tout en apprenant à programmer des jeux, vous obtiendrez en 4 ans un des diplômes offrant les meilleurs rémunérations. Et soyons honnêtes, obtenir un diplôme d'ingénieur prend généralement cinq ans. l'informatique est donc un très bon choix pour une carrière.
Pourquoi les diplomés en informatique sont-ils payés autant ? Parce qu'il y a beaucoup de demande, et pas assez d'étudiants. Voir la figure 0.5 et la figure 0.6.
Qu'en est-il des écoles qui proposent d'apprendre la programmation en deux ans? Après tout, les écoles en deux ans offrent une alternative moins chère que celles en quatre ans. Beaucoup moins cher. Mais jetez un oeil au tableau ci-dessous. Prenez ces données sur le « Salaire moyen par niveau d'éducation » comme une mise en garde sur le choix d'une école en deux ans:
Salaire moyen par niveau d'éducation | |
---|---|
Voie Professionnelle | 65 408 $ (≈ 50 313 €) |
Certaines écoles | 75 701 $ (≈ 58 231 €) |
Lycée | 79 370 $ (≈ 61 053 €) |
Militaire | 84 131 $ (≈ 64 716 €) |
Grandes écoles (4 ans) | 85 815 $ (≈ 66 011 €) |
Master | 97 811 $ (≈ 75 239 €) |
Doctorat | 113 600 $ (≈ 87 384 €) |
Selon les données de l'enquête de Dice.com, les personnes travaillant dans le secteur technologique qui obtiennent leur diplôme d'une école en deux ans gagnent en moyenne 20 000 $ (≈ 15 384 €) de moins que celles qui sont allées dans une école en quatre ans. En fait, elles gagnent moins que les décrocheurs des écoles en quatre ans, et que les personnes qui n'ont fait que des études secondaires ! Donc, choisissez une école en quatre ans et ignorez les écoles en deux ans.
Ces données proviennent de l'enquête Dice sur les salaires dans le secteur technique de 2012 à 2013. Notez que les salaires donnés
ne sont pas des premiers salaires. Les chiffres représentent le salaire moyen de tous les travailleurs,
quelle que soit leur expérience. Bien sûr, je pense que Simpson College a le meilleur département de science informatique
du Midwest :
http://simpson.edu/computer-science
0.3.2 Tirez le meilleur parti de ce cours
Vous voulez optimiser le temps passé ici ? Alors répondez aux questions de chaque chapitre ! Ne les sautez pas. Elles sont indispensables pour comprendre le contenu.
Faites les travaux pratiques ! C'est encore plus important. Apprendre en ne faisant que lire des cours est à peu près aussi utile que d'essayer de devenir un joueur de basket-ball professionnel en lisant un livre.
Entrainez-vous ! Vous verrez peut-être des gens qui n'ont pas besoin de s'entrainer. C'est injuste. Ou vous serez peut-être plus intelligent que d'autres, mais ils finiront par être meilleurs que vous parce qu'ils travaillent pour cela. C'est injuste également. C'est la vie. Il faut vous y faire. Entrainez-vous.
Prenez-vous cela comme un cours ? Très bien ! Savez-vous que vous pouvez gagner du temps en copiant les réponses et les travaux pratiques depuis Internet ? Vous pouvez aussi vous payer un abonnement à une salle de sport et envoyer quelqu'un d'autre faire les exercices à votre place. C'est aussi sensé.
Sérieusement, que pensez vous que copier sur quelqu'un d'autre va vous apporter ? Si vous ne comptez pas travailler, autant abandonner maintenant et commencer à postuler chez McDonald.
Si vous n'aimez pas apprendre en lisant, la plupart des informations sont disponibles
à travers des vidéos. Vous pouvez ignorer complétement le texte et regarder uniquement les vidéos en
utilisant la liste de lecture YouTube :
http://www.youtube.com/playlist?list=PL1D91F4E6E79E73E1
Vous ne pouvez pas apprendre sans travailler correctement. Lisez le cours. Posez des questions.
Faites les travaux pratiques. Posez des questions. Faites les exercices. Posez des questions. Visionnez les vidéos.
Et posez des questions à votre professeur.
0.3.3 Envoyez vos commentaires
Ceci est le texte que j'utilise au Simpson College pour le cours :
Computer Science 150
Fundamentals of Computing I
Il existe une version imprimée disponible sur Amazon et Barnes and Noble.
La version en ligne est disponible à l'adresse :
ProgramArcadeGames.com
Le but du texte, du site web, des exercices, des travaux pratiques et des vidéos est
d'enseigner les concepts de base
de l'informatique et d'obtenir que les étudiants puissent programmer leurs propres jeux le plus rapidement
possible.
Envoyez moi un message !
Si vous l'utilisez pour l'autoformation ou pour une autre classe, s'il vous plaît envoyez-moi un message. Plus il y aura de monde qui utilise cette ressource, plus je ferai d'efforts pour l'améliorer.
J'ai entendu parler de quelques lycées qui utilisent ce cours. Si vous êtes élève dans un de ces lycées et que vous aimez le contenu de ce cours, intéressez-vous au Département Informatique du Simpson College. Nous serions ravis d'avoir la chance de pouvoir travailler avec vous. Contactez-moi ou contactez le service Admissions pour plus d'informations.
Si vous remarquez des erreurs ou des oublis dans ce livre, merci de m'envoyer
un courriel. J'aimerais que cette ressource soit la meilleure possible.
Dr. Paul Vincent Craven
Department Head, Computer Science Department
Simpson College, Indianola, Iowa, 50125 USA
paul.craven@simpson.edu
You are not logged in. Log in here and track your progress.
English version by Paul Vincent Craven
Spanish version by Antonio Rodríguez Verdugo
Russian version by Vladimir Slav
Turkish version by Güray Yildirim
Portuguese version by Armando Marques Sobrinho and Tati Carvalho
Dutch version by Frank Waegeman
Hungarian version by Nagy Attila
Finnish version by Jouko Järvenpää
French version by Franco Rossi
Korean version by Kim Zeung-Il
Chinese version by Kai Lin