sorchawalsh / ressources_cours_jeux_video_2D

Ressources pédagogiques pour le cours "Développement de jeux vidéo 2D" dispensé par Isaac Pante à l'UNIL (SLI, Faculté des lettres)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

image du cours

Développement de jeux vidéo 2D - Ressources

Retrouvez ici les différents ressources pédagogique mobilisées dans le cours Développement de jeux vidéo 2D dispensé par Isaac Pante en Section des sciences du langage et de l'information de l'Université de Lausanne.

Informations sur l'enseignement

Dispensé au SA2019, toutes les deux semaines, de 16h15 à 18h en salle 5183. Première séance le 23 septembre 2019. Les informations sur la validation, le nombre de crédits ECTS, les prérequis et les plans autorisés sont disponibles sur la page de l'enseignement. Attention, en 2019, ce cours ne sera dispensé qu'au semestre d'automne! Il sera ensuite dispensé – dès 2021 – chaque semestre de printemps.

Un laboratoire de réécriture de jeu vidéo est prévu le 22 novembre 2019 ! Inscriptions ouvertes Liste des jeux en cours de développement

Liste des travaux pratiques

  1. kontra_jump : exemple de jeu complet en kontra.js; interaction utilisateur, exemple de saut "cran par cran", génération aléatoire d'obstacles et cycle de vie des sprites (bonus : stockage et récupération du highScore dans le localStorage)
  2. phaser_json : importation de données au format JSON et affichage aléatoire.
  3. phaser_scenes_sequentielles : exemple simple de transition entre trois scènes avec et sans interaction utilisateur; chaque scène dispose de sa propre classe écrite dans des fichiers distincts; des données sont transmises entre les scènes 2 et 3 (bonus : chargement de musique de fond et accélération de cette musique dans la scène finale).
  4. phaser_scenes_paralleles : exemple de scènes parallèles avec interaction ; le déplacement du pointeur dans la scène principale se répercute sur une "minimap" dessinée dans une autre scène.
  5. phaser_input : exemple de déplacement d'objet au clavier, coup par coup avec des combinaisons de touche ou de manière continue avec les curseurs (bonus : ajout d'une police bitmap pour les instructions ; ajout d'un point d'arrêt contre les bords du monde avec physics : arcade).
  6. système physique (exemple commenté) : un exemple tout simple de deux sprites qui rebondissent contre le monde et entre eux.
  7. phaser_jump : réécriture de kontra-jump en Phaser; ajout de scènes.
  8. animations sans atlas : importation d'une spritesheet et création des animations pour les 4 points cardinaux.
  9. animations avec atlas et tweens : importation de deux spritesheet ainsi que d'un atlas JSON; les animations sont soumises à deux transformations (tweens) chaînées (bonus : évocation de l'alternative "timeline").
  10. phaser_pool_input : création d'un pool, utilisation pour l'affichage et la suppression d'objets.
  11. phaser_pool_animation : code de Richard Davey sur la génération de sprites animés tirés d'un pool.
  12. phaser_runner : un jeu complet d'Emanuele Feronato qui illustre l'utilisation de "pool" pour créer un infinite runner ; les identifiants ont été francisés pour faciliter la compréhension et des commentaires ajoutés.
  13. phaser_boilerplate_webpack : installation d'un boilerplate phaser utilisant webpack ; ajout d'un module externe et importation de la fonction de ce dernier.
  14. phaser_plugin_global : écriture d'un plugin global.

Liste des ressources externes

Documentation officielle de Phaser

  • Phaser Notes : la documentation officielle de l'API de Phaser 3 est souvent difficile à lire. Ces notes reprennent l'essentiel de la documentation sous une forme nettement plus adaptée.
  • Documentation officielle de l'API : la documentation officielle (et brute) de Phaser 3.
  • Liste d'exemples en Phaser 3 : des exemples classés par thématiques sur la plupart des composantes essentielles de Phaser 3.
  • PhaserWorld : la newsletter de Phaser, soit la meilleur source de tutoriels et d'informations sur les évolutions du framework. Abonnez-vous pendant la durée de ce cours!

Demande de support (Phaser)

  • Forums Phaser 3 : le meilleur endroit où poser une question spécifique au framework. Grande réactivité et information à la source.
  • Phaser sur StackOverflow : questions sur le framework ainsi que sur Javascript en général.
  • Demande de tutoriels : un tutoriel vous manque? Demandez-le sur ce thread. Egalement un excellent lieu où retrouver une liste de tutoriels suggérés par les participant·e·s.

Ressources thématiques

Tutoriels de jeux complets

Jeux complets (avec code source)

Demande de support (Phaser)


Logiciels

Logiciels génériques de développement informatique
Logiciels spécifiques au développement de jeux vidéo

Moteurs de jeu recommandés

  • Phaser.js : le plus célèbre des frameworks de développement de jeux vidéo en Javascript. Suppose une bonne connaissance de la programmation Javascript.
  • Kontra.js : le plus léger des moteurs de jeu en Javascript, développé pour la compétition js13k. Se limite au strict minimum des fonctions proposées par Phaser.js.
  • Construct 3 : webservice wysiwyg de développement web, il facilite grandement le développement de jeux vidéo Javascript. Reste qu'une connaissance de la programmation est nécessaire pour en tirer parti. | $
  • Twine 2 : moteur de développement de récits interactifs. Twine 2 est disponible en version logicielle et sous forme de webservice. Facile d'accès, il offre aussi des possibilités de scriptage avancé via du Javascript (Recommandé pour les débutant·e·s en programmation).
  • Monogatari : moteur de développement de visual novels. Facilite la prise en charge des dialogues et l'affichage des différentes scènes. Facile d'accès, il offre des possibilités d'animation et de scriptage avancés via du CSS et du Javascript (Recommandé pour les débutant·e·s en programmation).
  • Unity : le plus célèbre des environnements de développement de jeux vidéo. La difficulté de la prise en main dépend de la complexité de votre projet et des sommes investies dans différents kits d'assets. A recommander aux étudiant·e·s les plus chevronné·e·s. | $
  • Script-8 : un développemnt pur web ! Assets, son, musique et logique de jeu peuvent être créés directement dans Script-8, à l'instar de Pico-8, dont ce moteur s'inspire largement.
  • Bitmelo : un développement pur web à l'instar de Script 8. Bitmelo propose également un éditeur de carte.

Boilerplates Phaser 3


Assets

Banques de sprites

Banques de sons


Projets d'étudiant·e·s

Bientôt rempli par vos contributions !


Inspirations

jeux de médiation

jeux singuliers (interface atypique)

annuaires de jeux

Livres

Evénements

Varia

Cette liste ne demande qu'à s'enrichir! Merci d'envoyer vos suggestions à Isaac Pante.

image d'échange, sprites créés par Louiza ©Louiza pour les sprites

About

Ressources pédagogiques pour le cours "Développement de jeux vidéo 2D" dispensé par Isaac Pante à l'UNIL (SLI, Faculté des lettres)

License:MIT License


Languages

Language:HTML 59.1%Language:JavaScript 40.5%Language:CSS 0.4%