Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android][Jeu] Shine - The lighting game

Un puzzle game dans l'espace !

    13 mai 2015 à 23:55:53

    Hello,

    Juste pour vous signaler qu'on aura bientôt besoin de testeurs. Du coup si ça vous tente et que vous avez Google+ vous pouvez demander à rejoindre cette communauté. Si j'ai décidé de passer par Google+ c'est parce-que ça s'intègre directement avec le Play Store et ça me permet de mettre à jour l'appli comme si elle était déjà sortie donc plus simple que d'envoyer l'APK à la main. Je peux également recevoir vos bugs en temps réel ou quasiment.

    À part ça on a décidé de montrer un peu plus comment on travaille. Du coup on postera bientôt sur notre chaîne YouTube un speed painting d'un des prochains environnements (ou planètes). Si ça plaît il y en aura d'autres par la suite. Pour ce qui est du code, je stream régulièrement quand je bosse sur le jeu depuis quelques jours. Donc pour ceux qui veulent me voir coder "en live" ou matter les enregistrements des précédents streams c'est ici que ça se passe. Vous pouvez aussi vous abonnez pour être notifié dès que je lance mon stream.

    • Partager sur Facebook
    • Partager sur Twitter
    ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
      13 juin 2015 à 22:46:17

      Projet très interessant ! Hate de voir la suite
      • Partager sur Facebook
      • Partager sur Twitter
        16 juin 2015 à 17:04:48

        Merci :)

        Ça prends du temps mais ça va finir par sortir ! Un jour ^^

        • Partager sur Facebook
        • Partager sur Twitter
        ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
          21 juin 2015 à 23:50:58

          Merci à tous ceux qui ont demandé à rejoindre la communauté Google+ pour tester le jeu, vraiment ! J'ai mis en ligne la première version de test cet après-midi. Donc s'il y a d'autres volontaires, n'hésitez pas à faire la demande également :)

          À part ça voilà enfin l'icône du jeu:

          • Partager sur Facebook
          • Partager sur Twitter
          ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
            22 juin 2015 à 10:09:39

            Sérieusement, je trouve les graphismes magnifiques :)

            Bravo pour ton jeu, j'ai hâte de pouvoir le tester.

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              22 juin 2015 à 16:13:12

              EDIT : Oups j'avais pas vu la page 2 ! :rouge:

              Je suis partant pour tester ce jeu !

              -
              Edité par Anonyme 22 juin 2015 à 16:14:46

              • Partager sur Facebook
              • Partager sur Twitter
                22 juin 2015 à 19:43:01

                N'en attendez pas trop non plus, c'est mon premier jeu. Soyez indulgents ^^ Surtout qu'il y a pleeeein de trucs à refaire au niveau du code! Heureusement que ce n'est pas (ou très peu) visible quand on y joue :D

                Sinon il ne reste pas grand chose à faire. La priorité actuelle c'est de changer le look des rayons de lumière dans le jeu qui ne sont pour l'instant que de simples traits. Je vais les remplacer par des 9patchs, mais moi qui n'en ait jamais utilisé là je galère! J'espère terminer rapidement pour pouvoir inclure ça dans la prochaine version. :)

                • Partager sur Facebook
                • Partager sur Twitter
                ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                  24 juin 2015 à 21:37:54

                  Salut beau projet.

                  Peux-tu nous faire un retour sur LibGDX ?

                  Facilité de prise en main...?

                  Merci

                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 juin 2015 à 22:11:52

                    Tout ce que je vais dire ne concerne que la partie dédiée à le 2D. À l'heure où j'écris ce post j'utilise la version 1.4.1 de libgdx alors que la dernière version est la 1.6.2.

                    Positif

                    Au premier abord il me semblait un peu intimidant mais il y a des classes toutes prêtes comme Sprite ou SpriteBatch qui permettent de pouvoir dessiner des images à l'écran en quelques lignes de code. Il y a aussi tout un système d'acteurs/groupes/actions ("scene2d") qui est bien pratique. Surtout les actions qui sont pour moi un des gros points forts de libgdx ! Ce que j'ai fais c'est que j'ai créé des classes qui héritent de ces classes, et je rajoute juste ce qui concerne mon jeu. Les classes de base contiennent déjà ce qu'il faut concernant l'origine, la position, la taille etc.

                    Il y a également tout un tas de widgets intégrés (Scene2d.UI) qui sont basés sur Scene2d et qui permettent de construire une interface utilisateur assez "facilement" (enfin c'est le but en tout cas). Tu peux même déclarer une partie de ton interface en JSON (comme le XML sous Android).

                    Si on veut aller un peu plus profondeur que dessiner un Sprite et dialoguer directement avec OpenGL il suffit d'utiliser Gdx.gl qui est un attribut statique qui contient toutes les fonctions OpenGL, donc plutôt pratique. Il y a aussi les classes classiques comme Mesh etc.

                    Côté fichiers je n'ai jamais eu à me plaindre. Il y a des classes toutes faites qui permettent soit de charger un fichier interne (dans un .jar ou une APK) soit un fichier externe (carte SD) ou encore en spécifiant un chemin absolu (genre C:...).

                    Côté doc c'est bien aussi. La Javadoc est disponible sur leur site et leur Wiki sur GitHub a l'air super complet. Il y a des articles sur quasiment tout. Au niveau de la communauté elle a l'air assez grosse au vu du nombre de forums, sites et autres qui parlent de libgdx. Et en cas de problème, suffit de poster sur leurs forums et on a des réponses assez rapidement donc c'est cool.

                    Autre gros point fort : le cross-platform. Du coup même si tu développes un jeu pour Android/iOS tu peux tester tes changements en lançant la version PC, ce qui est beaucoup plus rapide que d'avoir à repackager/uploader l'APK sur le téléphone. Ça te permet aussi de tester l'affichage sur des résolutions différentes (2 petites valeurs à changer).

                    Il y a aussi un loader pour charger ses niveaux TMX dans le jeu, le support des 9patch, des spritesheets etc. Franchement dans l'ensemble je trouve que c'est un framework assez complet avec un bon support. Malheureusement si ça peut paraître attirant au premier abord j'ai été un peu refroidis en allant un peu plus en profondeur.

                    Négatif

                    L'API Scene2d est pratique pour les débutants mais je la trouve mal faite pour ceux qui veulent créer leurs propres implémentations. Par exemple la classe "gérante" Stage manipule des Actor, mais Actor est une classe et non une interface. Du coup impossible de faire sa propre implémentation pour pouvoir faire ce qu'on veut de façon propre, il faut hériter d'Actor et bidouiller les attributs de la classe via les getters/setters mais malheureusement il n'y en a pas pour tous. C'est pas flexible du tout et du coup ça rend cette API beaucoup moins intéressante je trouve. Mais l'idée est bonne et certains trucs sont bien pratiques donc pas le choix de l'utiliser des fois mais le code final n'est pas joli.

                    Les widgets de Scene2d.UI sont, pour moi, une PLAIE à utiliser. D'ailleurs j'ai même pas essayé tellement rien que lire les codes d'exemple ça m'a découragé. Déjà tout fonctionne sur un système de Skin qui lui-même nécessite un ou plusieurs spritesheet(s). En gros tu créés toute ton interface sous Photoshop ou autre, tu exportes les différentes parties (chaque état de chaque bouton, design des scrollbars etc.) en 9patches que tu rassembles dans un spritesheet et boom dans ton code tu le charges dans Scene2d.UI. Génial non?... Ben non. Moi j'avoue j'ai pris l'habitude d'Android où tu peux créer un bouton et simplement lui donner une couleur/un dégradé en fond, rajouter du padding, margin etc. On retrouve la même chose en CSS. Là ce n'est même pas possible. D'ailleurs pour démarrer "rapidement" ils te fournissent une version basique des 4 fichiers dont tu auras besoin pour construire tes interfaces : uiskin.png et uiskin.atlas pour le spritesheet, uiskin.json et default.fnt.

                    Ah oui et le format JSON qui ressemble à une imitation du XML d'Android dans lequel tu peux déclarer tes vues et dont je parlais tout à l'heure c'est le fichier uiskin.json. Honnêtement je trouve ça illisible et en plus forcément il n'y a aucune auto-complétion (en tout cas dans Eclipse) contrairement au CSS ou aux vues XML d'Android donc ça rend son écriture encore plus pénible.

                    J'ai pas vu d'API pour faire des transitions entre les écrans de ton application et je crois que c'est parce-qu'il n'y en a pas tout simplement. Donc tu t'assoies sur cette partie de l'interface utilisateur ou alors tu développes toi-même ce système.

                    Il y a pas mal de classes comme SpriteBatch ou ImmediateModeRenderer qui utilisent un shader perso par défaut pour que les débutants n'aient pas à se préoccuper de ça. Heureusement ils ont quand même pensé à ceux qui veulent utiliser leur propres shaders et il y a des setters. Mais encore une fois pour moi c'est fait à moitié. Il n'y a pas la possibilité de spécifier le nom de nos attributs dans notre shader (comme la position, matrice de projection, couleur etc.). Pour que ça fonctionne il faut impérativement que nos attributs soient nommés comme libgdx le souhaite. Du coup encore fois l'idée de base est bonne mais en pratique peu flexible.

                    ... Du coup quand je me suis rendu compte de tout ça je me suis dis, "pas grave j'ai qu'à faire des classes qui héritent de celles de libgdx et modifier/rajouter ce dont j'ai besoin". Oui mais voilà, dans pas mal de classes (presque) tous les attributs sont déclarés private et non protected et certains n'offrent même pas de getters/setters. Du coup impossible de passer par l'héritage, il faudrait réécrire une nouvelle classe. Mais bon comme je croyais qu'un framework était censé faire gagner du temps lors du développement...

                    Pour la partie cross-platform il manque Windows Phone, c'est dommage. Sinon c'est génial de pouvoir toucher autant de monde avec le même code sauf qu'évidemment vu qu'il y a le support d'Android ET d'iOS beaucoup de jeux développés avec libgdx sont pour mobiles. Et là grosse déception, parce-que pour "convertir" ton code Java en code natif iOS il faut s'abonner à RoboVM (par la même team qui est derrière libgdx) et même si la première offre n'est pas super chère pour ce que c'est (200$/an), c'est pas forcément une option pour les devs solos ou ceux qui veulent publier des applis qui n'ont pas pour but de générer des revenus. Ben oui parce-qu'il faut pas oublier qu'il y a également la licence Apple à payer (100$/an).

                    Côté base de données, libgdx ne fournit aucun moyen cross-platform d'utiliser SQLite (qui est quand même utilisé sur Android et iOS, deux plateformes supportées par libgdx). Du coup obligé de passer par une implémentation tierce. Il y a des projets sur GitHub mais la plupart ne sont plus maintenus ou incomplets du coup ça se complique aussi de ce côté là. Actuellement j'utilise SQLDroid qui me permet d'utiliser JDBC sur Desktop ET sur Android avec le même code. Mais je n'ai pas trouvé le moyen de modifier la version de la base de données comme c'est le cas avec l'API de base d'Android. Du coup je ne sais même pas comment je vais faire si je veux faire une MAJ de la BD sans que le jeu plante chez ceux qui auront une version antérieure...

                    Conclusion

                    Points fort :

                    • Complet (2d/3d, loader TMX, 9patch, spritesheets, chargement de fichiers, sprites...)
                    • JavaDoc, Wiki, forums et bonne communauté
                    • Plateformes supportées (Android, iOS, Desktop, Navigateur Web...)

                    Points faibles :

                    • Scene2d pas très flexible (tu l'utilises comme c'est ou alors tu te débrouilles)
                    • Scene2d.UI n'en parlons pas
                    • Les classes de base sont très "fermées" et parfois c'est impossible d'utiliser l'héritage pour les modifier et bénéficier du polymorphisme
                    • Pas d'API cross-platform pour les base de données, obligé d'utiliser une implémentation tierce ou d'écrire la tienne
                    • Il manque le support Windows Phone

                    Maintenant on me dit souvent que je vois que le négatif dans les choses :p et il y a quand même pas mal de jeux qui utilisent libgdx donc apparemment il y en a beaucoup qui n'ont pas à se plaindre. Pour ceux qui cherchent une solution toute prête qu'ils peuvent utiliser sans trop se préoccuper de comment ça tourne derrière alors libgdx peut faire l'affaire. Mais perso j'aime bien bidouiller et modifier ce que j'utilise pour que ça s'adapte à mon code et comprendre comment ça fonctionne donc c'est pour ça que ce manque de flexibilité me gêne autant. Et aussi parce-que j'suis un râleur :D

                    -
                    Edité par Flawyte 25 juin 2015 à 23:34:13

                    • Partager sur Facebook
                    • Partager sur Twitter
                    ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                      25 juin 2015 à 23:04:34

                      Super, merci pour le retour!

                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 juin 2015 à 23:20:43

                        Derien.

                        J'ai rajouté le cross-plateform comme point positif, vraiment pratique pour tester ton jeu (même mobile) rapidement, et comme points faibles le fait que Windows Phone ne soit pas supporté + il faut payer un abonnement mensuel à RoboVM pour pouvoir déployer sur iOS (en plus de la licence dev Apple). :(

                        • Partager sur Facebook
                        • Partager sur Twitter
                        ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                          26 juin 2015 à 0:18:04

                          Et est-ce que tu as essayé Unity?

                          Pour avoir une petite comparaison?

                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 juin 2015 à 0:31:15

                            Nope. C'est mon premier jeu et j'ai voulu le faire "from scratch" comme ça ensuite même si je passe sur un vrai moteur de jeu je saurais un peu plus ce que je fais.

                            • Partager sur Facebook
                            • Partager sur Twitter
                            ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                              30 juin 2015 à 10:07:16

                              Pour ceux que ça intéresse, hier j'ai streamé le développement du jeu pendant 8h d'affilée. Du coup je compte le refaire aujourd'hui vu que c'est ce soir que je publie le jeu. Voilà le lien du stream : https://www.livecoding.tv/flawyte/

                              • Partager sur Facebook
                              • Partager sur Twitter
                              ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                                1 juillet 2015 à 18:14:57

                                Après de longs mois de travail acharné, de patience et de persévérance (surtout), Shine est enfin disponible sur Google Play ! http://bit.ly/1FONMLT

                                C'est mon premier jeu et on y a passé du temps pour que ce soit le plus agréable possible à jouer au niveau des graphismes et musiques. Du coup n'hésitez pas à le télécharger et à me dire ce que vous en pensez ! Sachez qu'on lit tous vos retours un par un (merci aux testeurs) et que quand on peut, on les prend en compte.

                                N'hésitez pas à le partager et si vous aimez le jeu laissez nous une note dans le store, ça nous fera plaisir ;)

                                • Partager sur Facebook
                                • Partager sur Twitter
                                ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                                  10 juillet 2015 à 22:44:46

                                  Hello,

                                  On vient juste de publier la version 1.1 du jeu. Changements :

                                  • Grosse amélioration des temps de chargement et de la consommation mémoire
                                  • Écran de jeu : Affichage du nombre de mouvements pour gagner 2/3 étoiles
                                  • Écran de fin de jeu : voyez à quel point vous êtes bons et comment vous améliorer

                                  • Plus facile de gagner 2 étoiles sur tous les niveaux

                                  • Ajout d'animations
                                  • Ajout des langues : espagnol, italien & portugais

                                  Pour télécharger le jeu => http://bit.ly/1FONMLT

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                                    11 juillet 2015 à 18:14:41

                                    Le jeu à énormément évolué bravo pour le boulot c'est toujours cool de suivre un jeu et de voir qu'il atteint son but et se retrouve publié sur le store. Alors rien que pour ça, encore bravo et j'ai hâte de suivre vos prochaines aventures ;)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      11 juillet 2015 à 19:05:41

                                      Merci ! :D et oui pour un premier projet ne pas avoir abandonné et pouvoir le publier sur le Store ça fait super plaisir !

                                      Mais on est loin d'en avoir terminé avec Shine. Là on prépare quelques mises à jour qui concernent surtout l'accompagnement du joueur pour qu'il comprenne mieux le but du jeu et comment jouer (apparemment il y en a qui galèrent à comprendre). Et ensuite on rajoutera de nouvelles planètes. ;)

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                                        20 juillet 2015 à 1:35:01

                                        Salut, 

                                        J'ai testé les 5 premiers niveaux et j'ai trouvé le concept sympa (difficultés pas forcement continue, j'ai galéré sur le 1.4 ^^, le principe des miroirs réfléchissant n'est pas expliqué). Sinon c'est bien rendu pour un premier jeu !

                                        Le jeu mériterais d'être plus connu. Tu as pensé à faire de la comm/marketing pour ton jeu ? Même sans investir financièrement
                                        tu pourrais essayer de contacter la presse spécialisée (Frandroid, XDA, jeuxvideo.com, techCrunch) en leur envoyant un presskit de ton jeu.
                                        Ça ne coûte rien et ça permettrait de faire connaître ton jeu (voir le rentabiliser).

                                        Bonne continuation

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Anonyme
                                          20 juillet 2015 à 8:37:26

                                          Tu vas avoir des telechargements en australie aussi, depuis que je leur en ai parlé ils en sont fous
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            20 juillet 2015 à 18:47:55

                                            @smartties

                                            Merci pour ton retour. Je sais que la difficulté au début n'est pas super bien jaugée malheureusement je ne m'en suis rendu compte qu'après la sortie du jeu...

                                            Pour les explications en fait on voudrait supprimer le texte qui apparaît sur le premier niveau pour le remplacer par autre chose comme une animation pour que ce soit plus claire. On fera la même chose pour le niveau avec le premier miroir. ;)

                                            smartties a écrit:

                                            Le jeu mériterais d'être plus connu.

                                            Complètement d'accord :D

                                            smartties a écrit:

                                            Tu as pensé à faire de la comm/marketing pour ton jeu ? Même sans investir financièrement tu pourrais essayer de contacter la presse spécialisée (Frandroid, XDA, jeuxvideo.com, techCrunch) en leur envoyant un presskit de ton jeu. Ça ne coûte rien et ça permettrait de faire connaître ton jeu (voir le rentabiliser).

                                            J'ai bien envie mais j'attends d'avoir au moins une deuxième planète. Parce-que c'est quand même un des gros points forts du jeu de pouvoir visiter différents endroits avec de nouveaux éléments etc. Là pour l'instant ce n'est pas le cas.

                                            Après même si je compte essayer je doute que ce genre de sites accorde de l'importance à des petits jeux "sans importance" comme ça. Je compte surtout sur les petits/moyens sites, des youtubeurs etc. Le gros problème c'est que ça prend beaucoup de temps, du temps que je ne passe pas à bosser sur le jeu. Il me faudrait quelqu'un pour gérer le marketing en fait... tout seul j'arrive pas à tout faire et c'est démotivant. Ça va faire presque 1 semaine que j'ai pas bossé dessus à cause de ça. :(

                                            Lubzorg a écrit:

                                            Tu vas avoir des telechargements en australie aussi, depuis que je leur en ai parlé ils en sont fous

                                            Génial ça, merci ! Mais c'est qui "ils" ? :D

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                                            Anonyme
                                              21 juillet 2015 à 2:00:04

                                              Ben les autraliens,  le la classe a laquelle j ai présenté le jeu :)
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                21 juillet 2015 à 12:11:12

                                                Ah ok. Super ! Merci beaucoup ^^ J'ai vu qu'on avait eu deux nouvelles notes (5/5) sur Google Play, c'est sûrement grâce à ça ! :D

                                                Le graphiste vient de partir en vacs pour deux semaines donc je pense pas qu'il y aura une MAJ d'ici là (sauf peut-être pour les testeurs). Ça me laisse le temps d'améliorer le code pendant ce temps donc c'est pas plus mal.

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.

                                                [Android][Jeu] Shine - The lighting game

                                                × 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