Librairie de jeu vidéo simple - domleg45/cls420-411-MV GitHub Wiki

Dans l'optique de faire un jeu dans avec un temps limité, voici une section de documentation pour vous aidez à faire le jeu en Javascript. Pour se faire, PixiJS est mon choix de librairie pour vous montrer quelques trucs pour faire un jeu simple.

Limitation pour intégration avec objet connecté (sans serveur)

Il n'est pas nécessaire d'avoir un serveur d'application pour l'exécuter contrairement à certain de ses concurrents.

Architecture

https://pixijs.com/8.x/guides/basics/architecture-overview

Suivre le tutoriel pour un démarrage

https://pixijs.com/8.x/guides/basics/getting-started

Inclure la librairie dans votre html

<script src="https://pixijs.download/release/pixi.min.js"></script>

v7

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/pixi.min.js"></script>

Initialiser votre PIXI.Application

Déterminer la configuration de base de votre jeu, la résolution de l'écran du jeu.

const app = new PIXI.Application({ width: resolutionX, height: resolutionY, backgroundColor: 0x1099bb });

Créer un espace dans votre html pour le jeu

Ajouter les librairies après le div.

Ajouter la view au container

document.getElementById('pixi-container').appendChild(app.view);

Charger le fond d'écran avec un sprite répété

https://github.com/Alan01252/pixi-tilemap-tutorial

Choisir un sprite (lutin) ou un tileset

Charger avec un promise l'image à l'aide de Asserts.load.

const texturePromise = PIXI.Assets.load('img/imgGround.png'); texturePromise.then((resolvedTexture)=> {

Positionner vos items dans l'écran (2D)

sprite.x = 20; sprite.y = 30;

Créer le Sender à votre jeu connecté en version WEB (version Chromecast)

  1. Créez vos boutons de contrôle avec un id spécifique qui sera utilisé dans votre fichier JS.
  2. Importez la librairie de Chromecast:
<script type="text/javascript" src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"></script>
  1. Associez les événements à vos objets portant les ids.
  2. Créer une fonction pour chaque événement.
  3. Ajustez les coordonnées X et Y dans vos événements.
  4. Créez une fonction pour transmettre ces coordonnées.
  5. Choisir un nom de canal (namespace).
  6. Créer l'objet en JSON.

let message = {msg: positionObj}; message = JSON.stringify(message);

  1. Faire l'appel à la fonction sendMessage issue de l'objet session créer via une fonction de rappel (Callback).

currentSession.sendMessage(namespace1, message);

Voir la documentation: https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastSession 10. Ajouter la fonction initializeApi. 11. Associer cette fonction à un bouton dans votre html.

Transférer le jeu que vous avez conçu sur un serveur pour l'héberger

  1. Transférer le code de votre application sur le serveur. Transférez le repository au professeur.
  2. Créer l'application dans la console https://cast.google.com/publish/#/overview
  3. Publier l'application (bouton publish).
  4. Ajouter la librairie de chromecast receiver dans votre html après votre fichier javascript.
<script type="text/javascript" src="https://www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
  1. Créer le context du receiver.

const context = cast.framework.CastReceiverContext.getInstance();

  1. Copier la constante contenant le nom de votre canal de communication (namespace).

const CHANNEL = 'urn:x-cast:testChannel';

  1. Ajouter une méthode de rappel (callback) pour le canal en question.

context.addCustomMessageListener(CHANNEL, handleMessageFromSender);

Voir https://developers.google.com/cast/docs/reference/web_receiver/cast.framework.CastReceiverContext

  1. Dans la méthode de rappel, ajuster les coordonnées de votre joueur (ou autre).
  2. Démarrer le context avec les options.

const options = new cast.framework.CastReceiverOptions();

Voir documentation: https://developers.google.com/cast/docs/reference/web_receiver/cast.framework.CastReceiverOptions

...

context.start(options);

  1. Déployer le code sur le serveur.
  2. Ajoutez le appId dans le client pour commencer le test.

Planification

  1. Testez le jeu avec la configuration minimale sans objet connecté.
  2. Testez le contrôle avec l'objet connecté.
  3. Ajoutez des fonctionnalités à votre jeu.
  4. Commitez vos changement à chaque étape validée (test fonctionnel).
⚠️ **GitHub.com Fallback** ⚠️