Skip to content

Latest commit

 

History

History
319 lines (238 loc) · 25.9 KB

README.md

File metadata and controls

319 lines (238 loc) · 25.9 KB

image du cours

Lien Zoom & serveur Discord

Formulaire d'annonce de projet

Les projets doivent être annoncés au travers du formulaire en ligne ci-après : https://bit.ly/projet-jv2d. Pour un aperçu global avant remplissage, vous pouvez consulter une version complète au format PDF.

Attention : ce formulaire ne sert qu'à annoncer votre projet et à voir votre idée validée par l'enseignant. Pour voir votre travail évalué à une session, vous devez avoir envoyé un mail contenant le nom du projet et le lien github avant le début de la session durant laquelle vous souhaitez voir votre projet évalué. Des informations plus complètes vous attendent dans la FAQ.

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é le lundi, au SP, chaque semaine, de 16h15 à 17h45. 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.

Liste des travaux pratiques

  1. Phaser Breakout : code commenté d'un Breakout en JS
  2. 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)
  3. phaser_json : importation de données au format JSON et affichage aléatoire.
  4. 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).
  5. 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.
  6. 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).
  7. système physique (*exemple commenté*) : un exemple tout simple de deux sprites qui rebondissent contre le monde et entre eux.
  8. phaser_jump : réécriture de kontra-jump en Phaser; ajout de scènes.
  9. animations sans atlas : importation d'une spritesheet et création des animations pour les 4 points cardinaux.
  10. 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").
  11. phaser_pool_input : création d'un pool, utilisation pour l'affichage et la suppression d'objets.
  12. phaser_pool_animation : code de Richard Davey sur la génération de sprites animés tirés d'un pool.
  13. 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.
  14. phaser tilemap : importation de tilemap avec deux layers; la carte tire partie du ScaleManager pour s'adapter à l'écran.
  15. phaser_boilerplate_webpack : installation d'un boilerplate phaser utilisant webpack ; ajout d'un module externe et importation de la fonction de ce dernier.
  16. phaser_plugin_global : écriture d'un plugin global.

Code source du laboratoire de réécriture de JV

Liste des ressources externes

Documentation officielle de Phaser

  • Documentation officielle de l'API : la documentation officielle révisée de Phaser 3.54.
  • 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.
  • 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)

Annuaires de jeux en Kaboom JS


Logiciels

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

Moteurs de jeu recommandés

Environnements génériques

  • Kaboom js
  • 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. Plus puissant (et plus lourd) que Kaboom.
  • 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. | $
  • 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.
  • Stage.js : une librairie pour le développement de JV2D multiplateforme en HTML5.
  • VoxelSpace : un algorithme de rendu pour générer des mondes en 2.5D.
  • Hex engine : un pur moteur JS inspiré de React encore en développement, à surveiller de près.
  • 24 a 2 : un moteur de jeu JS pour des jeux dans une grille de 24 par 24.
  • Bitsy game maker

Fictions interactives & Visual novel

  • 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).
  • Inky : Puissant outil de fiction interactive textuelle exploitant le langage ink. Autorise des exportations web et JSON (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).
  • Fungus : Librairie Unity 3D pour le développement de fictions interactives à partir de flowcharts (Recommandé pour les débutant·e·s en programmation).

Boilerplates Phaser 3


Assets

Banques de sprites

Banques audio


Projets d'étudiant·e·s

  • "That House" sur itch.io et son archive : une aventure textuelle codée "from scratch" sur les phases du deuil par Joël Rimaz.
  • "La bataille de Salesbières et son archive : une visual novel éducative basée sur la littérature française médiévale par Mathilde Ançay, jouable sur itch.io
  • "Limited" et son archive : jeu de sensibilisation à l'épuisement des ressources naturelles par Florian Rieder.
  • "Cooking for the king" et son archive : jeu de sensibilisation à la diététique médiévale.
  • "MuseeX" et son archive : fiction interactive de médiation en histoire de l'art (Raphaël Garnier).
  • "Isolation" et son archive : un jeu sur la déprivation sensorielle (Loris Rimaz)
  • "Simulateur d'entretien" et son archive : un visual novel de simulateur d'entretien en sciences sociales (Clémence Danesi et Antonin Wyss)
  • Vote now ! : variante de Reigns sur les votations suisses. Primé du Swiss Game Developer Award Junior 2022 (Joël Rimaz)

Inspirations

jeux de médiation

jeux singuliers (interface atypique)

annuaires de jeux

Livres

Evénements

Varia


Zone d'archives

## Projet Anthropole

Ressources projet Anthropole

Installation locale & lancement de serveur

  1. Installation de node
  2. Installation de Github Desktop
  3. Cloner le répertoire LikeLike-online (Code > Github Desktop)
  4. Ouvrir le répertoire Github/likelike-online sous VS Code
  5. Ouvrir un Terminal sous VS Code
  6. Taper dans le terminal : npm install
  7. Taper dans le terminal : node server.js
  8. Aller sur http://localhost:3000 (ou autre port indiqué)

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