mardi 9 octobre 2012

Carnet de bord du chef de projet, semaine 3

Voici l'intervention hebdomadaire de Jon Mavor sur le développement de Planetary Annihilation. Au menu : interface utilisateur, du réseau et les replays.

"Je travaille toujours sur le terrain du champ de bataille, et particulièrement la géométrie en ce moment. Steve continue sur les différents types de terrain possibles. WJ a commencé à coder un prototype d'interface utilisateur. Ce n'est qu'une wireframe mais c'est déjà fonctionnel. William travaille lui sur la partie réplication/serveur."

Par contre, je n'ai rien compris à son charabia sur les "curves". Je crois comprendre que cela permettra de sauvegarder une partie multijoueurs et d'afficher rapidement un certain moment d'un replay sans avoir à se taper le début de partie. Si vous comprenez autre chose, n'hésitez pas à le dire en commentaire. Voici la version originale :

"So far our idea of using curves to represent network replication seems to be working ok. The idea here is that every property that has to be replicated (e.g. position, velocity, aiming at etc) is simply represented as a curve. When a network client sees a unit all it gets is the curve for it's various properties which it then maps to actual graphics on the screen. Rendering a particular frame is as simple as interpolating all of the curves at the current time (t). Of course this implies you might be able to sample t in the past or move it backwards which gives us things like instant replays. As I alluded to in another thread the "save game" is simply a marker for time t within the replay. By allowing the client replay of the curves at time t to be injected into the sim we get a "load game". Technically this would allow splitting off a game from any point in a replay."

3 commentaires:

  1. En gros, les clients n'ont pas à connaitre la position à chaque instant t des unités adverses qu'ils doivent afficher. Il leur suffit de signaler au server qu'une unité se déplace depuis des coordonnées (x,y,z) selon une trajectoire décrite par un fonction f(x,y,z,t). Inversement le serveur communique aux clients pour lesquels une unité adverse rentre dans leur champ de vision la fonction f(x,y,z,t) de l'unité en question avec les conditions initiales x0,y0,z0,t0. Le client n'a plus qu'à calculer la position actuelle et future par interpolation de la fonction f.
    De cette manière celà limite les informations échangées sur le network.

    RépondreSupprimer
  2. Tu peux rajouter au carnet de bord que UBER vient de recruter Sorian !!!!!!!!
    http://soriandev.blogspot.fr/2012/10/change-is-good.html

    RépondreSupprimer
  3. Merci pour l'info Olivier, je news

    RépondreSupprimer