Developpez.com - Rubrique TypeScript

Le Club des Développeurs et IT Pro

Le jeu Mario5 avec TypeScript - De JavaScript à TypeScript, la conversion par l'exemple

Article de Florian Rappl traduit par Yahiko

Le 2015-03-31 12:57:42, par yahiko, Rédacteur/Modérateur
Le jeu Mario5 : cas pratique d'une conversion de JavaScript en TypeScript

Bonjour à tous,

J'ai le plaisir de vous présenter la traduction d'un article de Florian Rappl traitant de la conversion d'un projet initialement écrit en JavaScript vers le langage TypeScript.
Il se base sur le projet Mario5, un remake version navigateur du célèbre jeu de plate-formes de Nintendo.

Le jeu Mario5 avec TypeScript

N'hésitez pas à commenter !

  Discussion forum
2 commentaires
  • Sodium
    Membre extrêmement actif
    L'article est très intéressant et instructif.

    Dans l'exécution par contre, je trouve un peu dommage de ne pas avoir poussé plus loin le concept pour démontrer que l'on peut faire de jeux crédibles avec cette technique.

    Quelques points auraient pu être très facilement améliorés pour rendre l'expérience beaucoup plus agréable, par exemple :

    - La fluidité. Le jeu tourne très mal sur mon Firefox. Je n'ai pas compris comment le moteur de frames fonctionne. La meilleure solution est d'utiliser la méthode requestanimationframe de javascript qui permet de n'exécuter le code de rafraîchissement qu'à chaque réel rafraîchissement de la scène, au contraire d'autres techniques qui elles s'exécutent le plus souvent possible, alourdissant l'exécution avec des traitements inutiles. Je ne sais pas si le problème vient de là, d'une mauvaise optimisation ou encore de la transcompilation mais j'ai déjà réalisé un jeu affichant des dizaines de sprites à la fois parfaitement fluides sous firefox et même Android.
    - Le moteur de plate-forme : Une accélération / décélération progressive du personnage, une gestion adoucie de la gravité auraient été bienvenus et simples à mettre en place.
    - Le personnage saute en boucle lorsque la touche saut est maintenue.
    - etc...

    Je suppose que le but de l'auteur du jeu était de faire une simple démo technique, mais je trouve dommage d'y avoir mis tant de travail sans y avoir inclus quelques peaufinages simples mais importants.
  • Mat.M
    Expert éminent sénior
    merci pour le code c'est instructif