Partage
  • Partager sur Facebook
  • Partager sur Twitter

Flash pour les noobs

    4 avril 2006 à 12:56:54

    Bonjour a tous...

    Bon j ai de bonnes notions de graphisme, quelques notions de langages comme php et je me lance dans flash et son rigide ActionScript... Autant dire que je suis un n00b donc. ;)

    Alors ceci pour que quelqu'un m'aide en me dirigeant vers un endroit qui me lancera précisément dans l apprentissage de ce que je veux apprendre. Vous comprendrez qu'il ne s agit pas de graphisme, mais bien de code!


    Imaginez mon projet!

    Connaissez vous la série des ff ou autre jeux de rôle visant un mode de combat au tour par tour, via une jauge d attente relatant de la vitesse du personnage? Eh bien c est précisément cela que j essaie de faire...

    Je voudrais réussir a connecter des équipes de 3 de chaque côté du filet et les faire combattres. Mais chacune de ces 3 personne est un joueur physique sur le web. Vous voyez ce que je veux dire???

    En gros, vous vous connectez a mon site, vous créez votre personnage et celui ci obtient des caractéristiques (force endurance, vitesse, intelligence etc). Et puis vous pouvez entrer en combat seul contre un ordi, ou joueur contre joueur.

    Je voudrais réaliser ceci en flash et je sais que c est possible. Mais évidemment je ne sais pas le faire. Je cherche donc un support cours (j imgine que des tutos pour ce genre de projet, c est un peu court) qui me permette de réaliser quelque chose comme une connection constante au serveur entre 6 joueurs maxi.

    Qlq un?

    Merci en tout cas...
    • Partager sur Facebook
    • Partager sur Twitter
      4 avril 2006 à 21:11:32

      2 solutions.

      - Soit les données du combats doivent être échangées en temps réel entre les joueurs et dans ce cas là il te faudra installer un serveur qui gérera tou çà.

      - Soit un un temps de latence de quelques secondes n'est pas grave, et dans ce cas là une simple BDD+php suffira.

      Donc en clair, il faudra que tu apprennes Flash et Actionscript à fond avant de faire ce que tu veux, tu trouveras des tutoriaux sur le net www.flash-france.com www.flashxpress.net ou encore un big-tuto à moi sur le SDZ. Un fois que tu connaitras bien la notion de clip, que tu sauras comment fonctionnent les variables en flash, que tus auras dessiner ... Il faudar que tu te tournes vers la calsse xml ou laodvar pour les échanges de données avec un script côté serveur en PHP. Tu trouveras des tutos pour tous ces trucs sur els sites indiqués ci-dessus.

      @+

      P.S. Pour réaliser ton jeu, compte 1 an d'apprentissage minimum, à moins que tu maitrises déjà très bien un langage similaire (Javascript possède la même base commune par exemple)
      • Partager sur Facebook
      • Partager sur Twitter
        4 avril 2006 à 23:51:06

        En tout cas merci énormément, validateur bien aimé. enfin une réponse qui en est une en sois. Effectivement, comme il s'agit de combats au tour par tour, un temps de latence n'est pas très grave. Disons que le déroulement d'une action se fait comme suit:
        1) Le joueur attent que sa barre d'attente (dépendant de sa caractéristique vitesse) soit a 100%

        2) le joueur lance une action via son menu qui apparait une fois la barre d attente a 100%

        3) le script déclanche une animation (un perso avec une épée va toucher l'autre perso)
        (le script calcul si le joueur réussis son coup ou non, puis le nombre de points de dégats effectués selon un principe d'essai)

        4) Le joueur de l'autre côté recoit le coup et voit SANS RECHARGER la page les dégats occasionné et la même animation

        5) La barre d attente revient a 0% et un nouveau tour recommance.

        En gros assez simple... Mais pk je t explique cela? Eh ben juste parce que comme cela tu pourras me répondre, Validateur bien aimé (trop de lèche?), si cela permet ce temps de latence?

        En gros, il faut qu'il y ait une connection PERMANENTE depuis la machine (la page, l'animation) avec le serveur, pour tous les joueur qui sont en combat...

        En tout cas... Merci énormément...

        ++
        • Partager sur Facebook
        • Partager sur Twitter
          5 avril 2006 à 13:14:00

          Bon, en fait il faut bien comprendre que flash n'est qu'une technologie de présentation de données, comme Xhtml ou Javascript.

          Alors pose-toi la question suivante : "est- ce que je veux que ce soit javascript qui calcul si le coup réussi ou non ?" (c'est un exemple).

          Bien entendu ta réponse sera "non", car ce calcul est très important et pour éviter toute tricherie, il faut qu'il se fasse sur le serveur.

          Et bien idem pour Flash, il faut que tous les calculs importants et communs à tous les joueurs se fassent sur le serveurs, et que l'animation FLash aille chercher elle même (à l'aide de la classe loadvar ou xml) les informations sur le serveur, de façon sécurisée en envoyant à cahque fois un identifiant et un password pour que le serveur vérifie ce qu'il à le droit d'envoyer comme informations.

          Je ne sais pas si tu connais Counter-strike:source, mais c'est un bon exemple. Dans CSS quand tu tires une balle, en fait tu envoyes au serveur l'action "j'ai tiré une balle à cette position et avec cette arme". C'est le serveur qui va calculer la trajectoire, éventuellement voire si elle collisionne avec un autre joueur etc ... et le serveur va te renvoyer la trajectoire. Ensuite, le moteur de jeu va seulement afficher ses infromations à l'écran en les animant. Mais une particularité de Counter-strike source c'est les petits objets décoratifs sur le sol. Ceux qui sont particulièrement petits et qui n'influent pas sur le gameplay ne sont pas calculé sur le serveur. Ainsi si tu tires sur un pack de lait dans le jeu, le serveur va calculer la trajectoire et dire qu'il y a collision avec un pack de lait à tel position. Mais c'est ton ordinateur qui va calculer comment va réagir ce pack de lait, car qu'il aille à droite ou à gauche, les autres joueurs s'en foutent.

          Donc voilà, quand tu vas programmer ton truc (compte un an minimum), tu vas déjà devoir te schématiser els conenxions client-serveur. Qu'est-ce qui sera calculer par le serveur ? Qu'est-ce que devra calculer le client ? La connexion sera-t-elle permanente (dans ce cas là il faudra que tu apprennes un autre langage de programmation pour créer un vrai serveur) ou alors non-permanente (dans ce cas, un flash ira simplement appeler un script php pour récupérer des informations, c'est la solution la plus simple) ?

          Voilà good luck.
          • Partager sur Facebook
          • Partager sur Twitter
            5 avril 2006 à 19:23:46

            Ecoute
            Je dois dire que ton post me fait assez peur dans le sens ou il me fait douter de la bonne marche des opérations a suivre. J aimerais réellement réaliser ce que je t ai dit, mais j ai l impression que je vais devoir coder des choses de game making d un niveau de WOW...

            Merci pour ta comparaison avec Half life (CSS), je connais assez bien et ce que tu m as dit etait on ne peu plus clair.

            J espere trouver un autre moyen, ou alors avoir un petit génie dans une bouteil pour qu il m insufle la quantité de connaissance qu il faut apparemment avoir.

            Je te remercie pour ces deux postes très clair et très sérieux. C'est de plus en plus rare...

            A bientôt
            • Partager sur Facebook
            • Partager sur Twitter

            Flash pour les noobs

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown