Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Appli/Jeu Android] Cube Racer

Cube runner sur Android

    19 mai 2013 à 16:27:02

    Bonjour à tous,


    Je m'appelle Yann, aka Yannshu sur le site du zéro et sur le web. J'ai 22 ans, et je programme dans pas mal de langages depuis plusieurs années. J'ai commencé par le C, puis j'ai fait un peu de web, du C++, du Java, de l'assembleur, des langages bizarres (vous avez déjà entendu parlé du Brainfuck ? ), et j'ai aussi découvert pleins de libs et de frameworks. Ça fait un petit moment que je me suis mis au développement Android, et je me suis enfin décider à franchir le cap de la publication d'une première app, mon premier jeu sur Android !

    Ce premier jeu se nomme Cube Racer, et c'est un petit remake du jeu Cubefield sur navigateur, que vous connaissez peut-être ;)

    En savoir plus sur le projet

    Génèse

    Il y a quelques semaines, je voulais jouer à un cube runner sur mon smartphone Android, mais je n'ai pas réussi à en trouver un qui me conviennent, avec plusieurs niveaux avec des univers vraiment différents, avec des meilleurs scores en ligne, avec de la fumée qui s'échappe du réacteur de mon vaisseau... J'ai donc allumé mon pc, lancé Eclipse et hop, c'était parti ! Et après quelques semaines de dev, la première version est là !


    Généralité et avancement

    Cube Racer est un cube runner disponible sur Android (disponible ici).

    Dans ce jeu, vous incarnez le capitaine d'un vaisseau qui avance automatiquement dans un niveau. Pour contrôler ce vaisseau, c'est très simple, il suffit de pencher votre téléphone sur la droite ou sur la gauche pour diriger le vaisseau dans ces directions.
    Le but du jeu est très simple : il faut aller le plus loin possible et jouer le plus longtemps possible pour obtenir le meilleur score ! Plus votre score augmente, plus vous gagnerez des pièces d'or qui vous permettront de débloquer différents vaisseaux et aussi des boucliers pour protéger temporairement votre vaisseau.

    Plusieurs niveaux sont disponibles :

    - Dans le premier, vous devez éviter les cubes dans un environnement désertique et sous un soleil torride.
    - Dans le second, votre vaisseau a été téléporté dans la matrice et des cubes verts vous barrent le chemin !
    - Dans le troisième, une licorne arc-en-ciel vous accueille à chez les bisounours !
    - Et beaucoup d'autres...


    De plus, vous pouvez partager votre score sur le classement en ligne pour défier les meilleurs joueurs et aussi sur les réseaux sociaux Facebook et Twitter pour challenger vos amis !


    Objectifs

    J'ai réalisé les principales fonctionnalités souhaités dans cette première version de l'app. Pour la suite, je souhaite faire différentes choses :

    Sur le plan du développement de l'app : 
    - Optimiser l'application, notamment la fluidité.
    - Ajouter des nouveaux niveaux.
    - Améliorer les meilleurs scores en ligne.
    - Intégrer le partage vers d'autres réseaux sociaux (Google+, VK, Renren...).
    - Améliorer le moteur de particules qui génère la fumée derrière le vaisseau.
    - Supporter Android 2.2, et OpenGL ES 1.0.
    - Implémenter toutes toutes les nouvelles fonctionnalités qu'on me propose que je jugerai utiles !

    Sur le plan de la promotion de l'app :

    - Faire en sorte que l'app soit téléchargée le plus possible de fois (comme tout créateur d'app quoi ). Si vous avez des conseils à donner dans ce domaine et la ASO (App Store Optimization) en général, je suis preneur !
    - Traduire l'application dans d'autres langues. Grâce à mes amis aux 4 coins du monde, l'application est déjà disponible en français, anglais, espagnol, chinois et japonais. Si vous êtes intéressés pour traduire l'application dans une autre langue, faites moi signe (il n'y a pas grand chose à gagner, juste votre nom dans les crédits, voir une bière avec moi si vous habitez Paris - et que vous êtes majeur :p).


    Le projet et son originalité

    Plusieurs jeux du même type existe déjà sur Google play, mais aucun ne concentre toutes les fonctionnalités que j'ai réuni dans Cube Racer, à savoir :
    - Plusieurs niveaux avec des univers graphiques totalement différents.
    - Plusieurs modes d'apparition des cubes : aléatoirement ou en forme de tunnels
    - De la fumée qui s'échappe du réacteur du vaisseau.
    - Des meilleurs scores en ligne.
    - Le partage des scores vers les réseaux sociaux.
    J'estime donc que Cube Racer est plus complet, plus poussé, et plus élaboré que ces concurrents, et j'espère que c'est pour cela qu'il sera téléchargé !


    Le point technique

    Cube Racer a été développé en Java, avec le SDK Android (version 2.3). Pour toute la partie 3D, j'ai codé un mini moteur 3D et un mini moteur de particules en OpenGL ES 2.0. J'utilise aussi l'API de Facebook pour le partage Facebook et la lib twitter4j pour le partage sur Twitter.

    Pour les meilleurs scores en ligne, l'application communique avec un webservice créé avec AppEngine codé par mes soins, aussi en Java.

    J'ai utilisé Eclipse pour tout le développement, et pour toute la partie Design, j'ai utilisé the Gimp.


    Screenshots

    Voici quelques screenshots du jeu, pour vous donner envie !

    Le mot de la fin

    Vous pouvez télécharger l'application gratuitement sur Google Play ici:

    Si vous aimez le jeu, je vous invite à venir liker la page Facebook de l'application ici:



    Voilà, toutes les remarques sont les bienvenues, n'hésitez pas ;)

    -
    Edité par Yannshu 19 mai 2013 à 17:16:18

    • Partager sur Facebook
    • Partager sur Twitter
    Découvrez un petit jeu Android bien sympa : http://www.siteduzero.com/forum/sujet/appli-jeu-android-cube-racer
      26 mai 2013 à 12:31:28

      De nouvelles mises à jour ont été publiées !

      Ces nouvelles mises à jour apportent :

      • Des nouveaux paramètres pour gérer la sensibilité des capteurs pour diriger le vaisseau
      • Corrections de plusieurs bugs
      • Amélioration de la fluidité en partie
      • ET 5 NOUVEAUX NIVEAUX !

      Quelques images des nouveaux niveaux :

        


       


      L'application est disponible sur Google Play, toujours au même endroit !



      Merci de m'avoir lu ! Alors, vous en pensez quoi ?

      -
      Edité par Yannshu 26 mai 2013 à 12:33:40

      • Partager sur Facebook
      • Partager sur Twitter
      Découvrez un petit jeu Android bien sympa : http://www.siteduzero.com/forum/sujet/appli-jeu-android-cube-racer
        26 mai 2013 à 22:24:29

        Dommage que j'ai pas de smartphone, le jeu à l'air magnifique :o
        Je partage sur facebook pour avoir des retours de mes amis.

        -
        Edité par Kagami Tsuki 26 mai 2013 à 22:25:53

        • Partager sur Facebook
        • Partager sur Twitter
          27 mai 2013 à 3:14:43

          Je télécharge tout de suite et j'édite pour te faire un petit rapport de beug dès que je peux.
          Sinon c'est du très beau boulot. Tu as utilisé des tutoriaux? Si oui, lesquels ? 

          EDIT : Donc c'est vraiment bien fait, le seul problème que j'ai pu trouvé est que ta map se génère au fur et à mesure que l'on avance. Ce qui fait que le jeu beug. Peut-être vaudrait-il mieux que tu fasse un chargement au début de la partie qui génère une map jusqu'au score 1000 par exemple, et tout les 1000 points tu régénère une map.

          De plus un bouton pause ne serait pas de refus :).

          EDIT 2 : Je viens de remarquer que lorsque l'on utilise un bouclier, lorsque celui touche un bloc, il se détruit mais les blocs nous "agressent" directement ensuite donc on meurt directement. Solution: Lorsque l'on perd son bouclier, faire un trou de X blocs pour que l'on ai le temps de "respirer"..

          -
          Edité par ThanosS 27 mai 2013 à 3:35:37

          • Partager sur Facebook
          • Partager sur Twitter
            27 mai 2013 à 22:14:22

            @Kagami Tsuki: Merci, c'est super sympa !

            @ThanosS: Merci pour ton commentaire, je vais essayer de répondre à toutes les questions et remarques ^^

            Je n'ai utilisé aucun tuto, juste ma petite tête et mes connaissances (j'ai eu des cours de dev Android dans une université en Chine quand j'étais en échange d'étudiant, et je code des p'tits trucs en OpenGL par plaisir).

            Par contre, peux tu détailler un peu plus les bugs que tu as vu sur la génération de carte stp ? Qu'est ce qu'il se passe concrètement ?

            Générer une map au début de partie et la stocker, je suis contre. Ça prendrait une taille énorme en mémoire et les smartphones n'ont pas tous 2GO de ram. C'est pour ça que j'ai opté pour une génération en live, et je compte garder ce systeme, et l'optimiser.

            Pour l'épisode du bouclier, je pense que tu n'as pas eu de chance, il y avait peut-être deux cubes superposés, ou deux cubes qui se suivaient de très près, j'ai justement fait attention à ce point, et je viens de le re-tester pour être sûr. Quoi qu'il en soit, il faudrait que je corrige ces cubes qui sont trop proches l'un de l'autre !

            Et pour la pause, c'est prévu ;)

            Merci pour vos retours !

            -
            Edité par Yannshu 28 mai 2013 à 22:50:25

            • Partager sur Facebook
            • Partager sur Twitter
            Découvrez un petit jeu Android bien sympa : http://www.siteduzero.com/forum/sujet/appli-jeu-android-cube-racer
              29 mai 2013 à 8:55:17

              Yop!
              Déjà je viens de faire le best score ever (1749) ! :p.

              Pour la génération des cartes, tu pourrais stocker la carte dans un array et chaque case de l'array équivaudrait à un cube. Car là, ça beug vraiment alors que j'ai un bon portable bien puissant (LG Optimus 2x). De plus, tu pourrais mettre les cartes dans le magasin, et une liste pour choisir la carte en "scrollant" dans le menu.

              Pour le bouclier, en gros, tu devrais faire en sorte que lorsque l'on perd un bouclier, les 5 cubes autours de nous (par exemple) s'effacent afin de ne pas perdre nos autres vies "injustement". Ca éviterais les lignes qui nous tuent lorsque l'on mange un cube et qu'il y en a 4 derrière.

              Sinon, pour les graphismes, si tu as besoin d'aide tu peux me contacter via mp. Je serais ravis de t'aider à achever ce magnifique projet. Sinon OpenGL est dur à manier lorsque l'on débute ? J'aimerais tester de faire un petit jeu, limite un "doodle jump like" pour commencer puis partir sur du plus gros projet une fois l’expérience acquise.

              Bon, je cherche encore d'éventuels beugs ou problèmes et je te re-contact au cas où. Encore une fois, très bon jeu qui ne manque qu'à être développé. Continu ainsi tu as du potentiel.

              Amicalement,
              ThanosS.

              • Partager sur Facebook
              • Partager sur Twitter
                29 mai 2013 à 10:45:14

                Pourquoi s'embêter à faire disparaître des cubes ? Il ne suffirait pas de faire comme dans tous les autres jeux du monde en faisant un petit temps d'invincibilité ou le vaisseau clignote ? Autre chose : pendant les freezes, on peut passer à travers les cubes, ce qui permet notamment de sortir des tunnels.

                Dans la liste des trucs que je propose d'ajouter :

                • Des cubes qui bougent
                • Des capacités spéciales pour chaque vaisseau
                • De la musique
                Voilà tout, merci encore pour ce petit jeu plutôt sympathique ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  29 mai 2013 à 23:27:51

                  @ThanosS: J'ai vu ça, bravo pour le score ;-)

                  Pour la carte, tu ne me feras pas changer d'avis, mais je vais travailler sur la génération des cubes pour corriger les problèmes et lags.

                  Lorsqu'on perd un bouclier, je vais plutôt retenir la solution de MagicDemon, à savoir faire un petit temps d'invincibilité ou le vaisseau clignote. Ca me semble plus simple, plus instinctif, et plus facile à comprendre pour le joueur.

                  Pour les graphismes, merci pour ta proposition, c'est très gentil de ta part, mais une personne m'a déjà contacté pour me faire des graphismes et je suis en train de travailler avec lui en ce moment. Cependant, si tu souhaites participer, tu peux me proposer des idées de niveaux. Et si tu es intéressé par le code, je vais voir pour m'organiser pour publier certaines parties du code.


                  Pour OpenGL, je pense que ça peut être un peu déroutant aux premiers abords, surtout pour les versions actuelles. Les techniques utilisés pour gérer l'affichage sont plus bas niveau et plus différentes de ce que tu peux trouver dans des libs comme la SDL ou la SFML.

                  Cependant, pleins de tutos sont disponibles, dont notamment un sur le site du Zéro, qui semble plutôt bien pour ce que j'ai vu en le survolant. Petite note à part, sur mobile, ce n'est pas la même version d'OpenGL qui est utilisé que sur les PCs (OpenGLES sur mobile contre OpenGL sur PC). Globalement c'est très ressemblant, il y a juste certaines fonctionnalités qui ne sont pas disponibles dans OpenGLES.

                  @MagicDemon: Merci pour tes suggestions, je vais mettre à jour ma liste de chose à faire pour y ajouter tout ça !

                  Merci pour vos retours :)

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Découvrez un petit jeu Android bien sympa : http://www.siteduzero.com/forum/sujet/appli-jeu-android-cube-racer
                    30 mai 2013 à 13:10:58

                    Dommage que tu n'ai pas fait quelques modelisation 3d.

                    Suis pas fan des formes trop minimalistes.

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Découvrez Algoid le langage pour apprendre à programmer.
                      30 mai 2013 à 23:33:52

                      Ce n'était pas le but du jeu, je voulais justement faire un truc cubique ^^

                      Par contre, je suis en train de réfléchir sur un nouveau jeu, avec là moteur 3D plus sérieux, modèles, et etc ;)

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Découvrez un petit jeu Android bien sympa : http://www.siteduzero.com/forum/sujet/appli-jeu-android-cube-racer
                        31 mai 2013 à 7:26:42

                        Cool ;-)

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Découvrez Algoid le langage pour apprendre à programmer.
                          1 juillet 2013 à 2:24:20

                          Hello,

                          Si ça intéresse des gens, je viens de publier tout le code du jeu sur Github.

                          Pour récupérer et compiler le code, il vous faut un environnement de développement Android (Eclipse, Android SDK, ADT), le SDK de Facebook pour Android, et le client Github ou Git tout court. Tout est dispo ici: https://github.com/Yannshu/com.yannshu.cuberacer

                          Le code n'est pas commenté du tout, alors si vous avez des questions ou des soucis pour compiler / lancer le jeu depuis votre environnement, n'hésitez pas à poser des questions sur ce topic :-)

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Découvrez un petit jeu Android bien sympa : http://www.siteduzero.com/forum/sujet/appli-jeu-android-cube-racer

                          [Appli/Jeu Android] Cube Racer

                          × 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