Journal Intégrer scoreserver en ajax

Posté par (page perso) . Licence CC by-sa
6
18
mai
2013

Bonjour Nal,

Je t'écris pour te faire part d'une petite évolution de mon serveur de gestion de scores, le bien nommé scoreserver.

Il était déjà capable de:

  • gérer la création de jeu, de niveau et l'édition des scores et des joueurs avec une interface d'administration.
  • recevoir et mettre à jour les tables des meilleurs scores via une simple requête http.
  • présenter sur le web ces meilleurs scores par jeu et par niveau ou par joueur:

pasbelle

Cette interface n'étant pas très belle, j'ai fait en sorte qu'il soit maintenant possible d'intégrer ces tables dans d'autres pages via une simple requête ajax (par exemple avec jQuery):

<h1>Scores</h1>
<div id="newton_adventure_highscore">
</div>

<script>
function load_newton_adventure_highscore() {
    jQuery('#newton_adventure_highscore').load('/scoreserver/ajax_game/newton_adventure/');
}
jQuery(document).ready(load_newton_adventure_highscore);
</script>

Le serveur réponds ensuite avec les tables des scores:

<table>
    <tr><th colspan="2">Arctic</th></tr>
    <tr>
        <td>398</td><td>anonymous</td>
    </tr>

    <tr>
        <td>100</td><td>devnewton</td>
    </tr>    
    <tr>
        <td>30</td><td>bloub</td>
    </tr>
    <tr>
        <td>10</td><td>devnewton2</td>
    </tr>
    <tr>
        <td>-32</td><td>Feust</td>
    </tr>
    <tr><th colspan="2">Egypt</th></tr>
    <tr>
        <td>1436</td><td>Feust</td>
    </tr>
    <tr>
        <td>669</td><td>anonymous</td>

Voici ce que ça donne sur le site de Newton Adventure:

scores na

  • # Html en dur

    Posté par . Évalué à 9.

    C'est dommage de retourner du HTML en dur…
    Tu pourrais retourner seulement les données brutes en XML ou JSON et laisser au client la liberté de l'afficher comme bon lui semble.

    • [^] # Re: Html en dur

      Posté par (page perso) . Évalué à 3.

      J'y ai pensé et je le ferais sans doute bientôt, mais je voulais une solution très simple et rapide à mettre en œuvre.

      Je réfléchis d'ailleurs à étendre scoreserver pour gérer d'autres choses que les scores: sauvegardes, partage de contenu ingame, groupes…

      http://devnewton.bci.im

      • [^] # Re: Html en dur

        Posté par (page perso) . Évalué à 5.

        Je réfléchis d'ailleurs à étendre scoreserver pour gérer d'autres choses que les scores: sauvegardes, partage de contenu ingame, groupes…

        Oui, ça pourrait carrément devenir un système de jeu en ligne global ! Tu pourrais l’appeler STEAL ;)

        =>[]

  • # L'effet du web

    Posté par (page perso) . Évalué à 2.

    Ça fait souvent cet effet de passer d'un environnement de programmation classique au web. L'environnement où tu fais quelque chose de relativement compliqué en 3 lignes de code compréhensibles et que ça te donne envie d'en faire des journaux sur linuxfr.

    À quand Newton Adventure codé directement en HTML5 ? :P

    • [^] # Re: L'effet du web

      Posté par (page perso) . Évalué à 1.

      Les journaux sont fait pour ce genre d'informations! Trois fritures de plus et je faisais une dépêche!

      À quand Newton Adventure codé directement en HTML5 ? :P

      Quand Javascript sera aussi performant que Java :-)

      http://devnewton.bci.im

      • [^] # Re: L'effet du web

        Posté par . Évalué à 1.

        » Quand Javascript sera aussi performant que Java :-)

        C'est pas déjà le cas?

        Pop pop pop… La sortie, c'est ici -----> [ ]

        Ruby est le résultat d'un gamin qui apprend le Java, puis jette un œil à Perl et se dit « je peux le réparer! »

        • [^] # Re: L'effet du web

          Posté par . Évalué à 3.

          Non, malgré le poids du navigateur, la consommation de RAM n'est toujours pas suffisamment élevée…

          cherchez pas, je suis déjà dehors…

          • [^] # Re: L'effet du web

            Posté par . Évalué à 3.

            Non, malgré le poids du navigateur, la consommation de RAM n'est toujours pas suffisamment élevée…

            Faudrait te mettre à jour tu passes pour un charlot. Le problème actuel de Java (enfin de la plupart des JVM) est de ne pas être capable d'utiliser la RAM des machines.

            Le hardware à un peu changé depuis 10 ans, la taille de heap max pas tellement…

            • [^] # Re: L'effet du web

              Posté par . Évalué à 3. Dernière modification le 19/05/13 à 16:11.

              … Pas chez moi… Mais c'est pas moi qu'il faut mettre à jour, c'est ma machine…

              Je suis déjà assez à jour pour ne pas troller sur la vitesse — parce que java est quand même devenu vachement bon à ce niveau, je trouve… De toute façon, meilleur que javascript (ou alors je suis plus à jour la dessus non plus…?).

              Après, il est possible que tu m'aies prit au sérieux, alors je précise : c'était de l'humour. Un ordinateur pourri et de l'humour, voila la confirmation que je suis un charlot…

              Et pour te donner raison, en fait, je pourrais même dire que c'est sympa les arguments de Java qui permettent de limiter la quantité de RAM totale utilisée par la VM : ça m'a permit de faire tourner un programme qui se faisait normalement tuer parce qu'il bouffait toute la mémoire. D'ailleurs, la machine en question a dix ans (mais la VM est à jour).

              L'humour de LinuxFR, c'était mieux à vent…

        • [^] # Re: L'effet du web

          Posté par . Évalué à 2.

          Bin non tu comprends pas le challenge de réussir à faire tourner un jeu type 1985 et 1990 quand plus de 15 lois de moore sont passées !

          • [^] # Re: L'effet du web

            Posté par (page perso) . Évalué à 4.

            Dans ces années là, un même jeu aurait été en 320x200 avec une musique 11khz, il aurait fallu arrêter toutes les autres applications pour jouer, il coûterait 400F et serait pwivateur :-)

            La bloat attitude a gagné, mais on n'est pas toujours perdant!

            http://devnewton.bci.im

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.