INF4715 Ingnierie des applications multimdia interactives - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

INF4715 Ingnierie des applications multimdia interactives

Description:

INF4715 Ing nierie des applications multim dia interactives ... Si le joueur allume les lumi res de son sous-marin, alors il est important que ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 16
Provided by: grange4
Category:

less

Transcript and Presenter's Notes

Title: INF4715 Ingnierie des applications multimdia interactives


1
INF4715 Ingénierie des applications multimédia
interactives
Jean-Noé Morissette Carlos Valcarcel
jean-noe.morissette_at_polymtl.ca carlos.valcarcel_at_po
lymtl.ca
2
Multiple joueurs
  • Jeux consoles 5.2 milliardJeux PC 1.1
    milliardJeux consoles (portables) 1.0
    milliard(rapport pour lannée 2004 du
    Entertainment Software Association (ESA) )
  • 24 millions consoles XBOX vendues (fin 2005,
    pcvsconsole.com)
  • 101.37 millions console PS2 vendues(fin 2005,
    pcvsconsole.com)
  • 43 des gamers jouent en ligne!!!(estimé du ESA,
    une hausse de 31 depuis 2002)

3
Concepts de base
  • Peer-to-PeerChaque poste joue un rôle client et
    de serveur. Cest-à-dire que chaque poste offre
    des services, ainsi que chaque poste peut
    profiter des services offert par un autre.

Le poste A peut utiliser limprimante du poste B.
Dans ce cas, le poste A est un client du poste
B. Mais linverse est aussi possible.
4
Concepts de base
  • Client-ServeurUn poste, le serveur, gère toutes
    les ressources et a le dernier mot sur tout. Les
    autres postes peuvent interagir avec le serveur
    suivant les règles établies par ce dernier.

5
Concepts de base
  • Commnication dactions vs communication
    détatsAction Transmettre les actions dun
    joueur aux autres (first person shooter).État
    Transmettre les changements détat aux autres
    (Massively Multiplayer Online Role Playing Game).

6
Concepts de base
  • Une façon de réduire votre charge de travail
    cest de sassurer que votre équipe travaille
    AVEC vous et non CONTRE vous.Pour réussir, il
    faut un système simple que les autres
    programmeurs nhésiteront pas à utiliser.Mais
    comment réussir à mettre au point un système qui
    fera du travail compliqué mais offrira un
    interface simple à la surface?

7
COUCHEÔ
  • On cache le code de bas niveau en lisolant sous
    différentes couches logicielles.

Système de messagerie Système simple et
compréhensible pour facilité la mise en réseau
des systèmes des fonctionnalités de lengin.
Permet aux autres programmeurs de nous faciliter
la tâche.
Module de réseau prend les fonctionnalités de
bas niveau et offre un jeu simplifié de
commandes. Fait le lien entre la couche réseau
et le style de lengin.
Code de bas niveau Packets, protocols,
connections, pertes, vitesse
8
Prise de décision
  • Il faut déterminer qui prend les
    décisions.Exemple-Jeu de rôle où on joue à
    tour de rôle-Architecture Peer-to-Peer-La
    machine à qui sest le tour prend les décisions

Tour 1Action Joueur 1 attaque le joueur 2 et
lui cause 2 points de dommage.Réseau Machine
1 informe toutes les autres que joueur 2 perd 2
points de vie.
Tour 2Action Joueur 2 se guérit.Réseau
Machine 2 informe toutes les autres que joueur 2
regagne ses points de vie.
9
Problème potentiel
  • Si personne ne sassume, il pourrait y avoir des
    problèmes.

Au même momentMise en situation Dans un jeu de
guerre, deux joueurs sadonnent à un face à
face!
Sur la machine 1Action Le joueur 1 tire sur
le joueur 2 et il est malheureusement
décédé.Réseau Il envoie le message aux autres
que le joueur 2 est mort.
Sur la machine 2Action Le joueur 2 tire sur
le joueur 1 et il est malheureusement
décédé.Réseau Il envoie le message aux autres
que le joueur 1 est mort.
10
Problème potentiel (suite)
  • La machine 1 déclare le joueur 2 comme étant mort
    et reçoit ensuite le message que le joueur 2
    vient de le tuer.
  • La cohérence de la partie est compromise.
  • Sur la machine 1, quelle animation doit jouer sur
    le joueur 2? Un sous-marin qui tire, ou un
    sous-marin qui coule?

11
UDP vs TCP
  • UDP (User Datagram Protocol) On nest pas
    certain que linformation va se rendre Ni de
    lordre dans laquelle elle arrivera Mais si
    tout se passe bien, ce sera rapide!(environ 32
    bits dentête)
  • TCP (Transmission Control Protocol) Protocol
    qui assure la réception et lordre de
    linformation, il peut même distinguer le type
    dinformation pour une même destination.(environ
    192 bits dentête)
  • Dans le domaine du jeu, les deux peuvent être
    utiles

12
UDP vs TCP (exemple)
  • On peut envoyer la position du joueur à tous les
    secondes et en sauter une de temps en temps.
  • Si le joueur allume les lumières de son
    sous-marin, alors il est important que le message
    se rende, car on ne le répétera pas.

13
Comment être efficace
  • Il y a des solutions mathématiques ou des
    techniques de programmation.Ex. Un vecteur
    unitaire peut être envoyé avec deux angles plutôt
    que trois composantes (X,Y,Z).Ex. Envoyer un
    quaternion au lieu dune matrice de
    rotation.Ex. Compacter les données dans un
    champ de bits plutôt que denvoyer plusieurs
    booléennes.
  • Il y a des solutions logiques.Ex. Le serveur
    envoie un message de simulation pour dire quun
    joueur a tiré. Le serveur envoie ensuite un
    message de statistique pour indiquer le nouveau
    décompte. On pourrait remplacer le tout par un
    seul message.

14
Comment être efficace (suite)
  • Il y a des compromis.Ex. Lorsquon tire un
    projectile, plutôt quenvoyer une direction, un
    point dimpact et la normale de limpact, il est
    possible de seulement envoyer la direction et
    recalculer le point dimpact et la normale
    dimpact sur chaque client.
  • Bien balancer entre le nombre de messages et la
    grosseur des messages.

15
Conseils
  • Mettre sur place un système troué que les autres
    programmeurs sauront utiliser (système détats).
  • Isolé le joueur réel de son entité dans la
    simulation.
  • Approche itérative dabord ça fonctionne,
    ensuite ce sera rapide.
  • Les concepts de base demeurent vrais couvrir
    ses arrières, Data Driven Design, et tous les
    autres classiques!
Write a Comment
User Comments (0)
About PowerShow.com