BizzyBros

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • Cotsz
    Peon

    • mai 2015
    • 23

    #1

    BizzyBros

    TYPE: Action / réfléction
    ÉTAT: En cours de développement.

    Bon et bien voilà, donc j’ai attaqué BizzyBros sous Unity3D.
    Le projet me sert surtout de leitmotiv pour apprendre et comprendre Unity.
    C’est encore très basique et cette version est loin de ce que sera BizzyBros (surtout sous Unity), mais c’est un petit jeu jouable, avec HighScores, et le résultat me pousse à avancer.
    Comme son nom l’indique : 1st Try : « Like a Boulder Dash supreme » ; Ce jeu est plutot une sorte de  « Boulder Dash » pour le moment, mais avec la physique, ce qui change beaucoup de chose.

    Pour ceux que ça intéresse, j’ai fait une petite page avec la version Web GL : BizzyBros

    Vos questions et commentaires sont bien sûr les bienvenus, sinon je n’aurais pas ouvert cette discutions, qui me servira aussi à vous tenir au courant des différentes évolutions.
    Dernière modification par Cotsz, 18 octobre 2016, 19h59.
  • Rag'd
    Legendary


    • octobre 2011
    • 3368

    #2
    Ça semble très bien .

    Commentaire

    • Warrens
      Champion


      • janvier 2003
      • 962

      #3
      J'ai joué jusqu'au niveau 6 , c'est sympa à jouer. J'avais déjà joué à un jeu similaire en 2004 : "Digging Jim" (une démo).
      Je dis Joker ! Je peux donc rejouer...

      Commentaire

      • Cotsz
        Peon

        • mai 2015
        • 23

        #4
        "Digging Jim"

        Envoyé par Warrens Voir le message
        J'ai joué jusqu'au niveau 6 , c'est sympa à jouer. J'avais déjà joué à un jeu similaire en 2004 : "Digging Jim" (une démo).
        Oui, pas étonnant, "Digging Jim" est une copie conforme de "Boulder Dash".
        Mon jeu ne fais que s'en inspirer...
        On peu faire plein de choses avec les "Boulders"...
        Les pousser mais aussi les faire rouler rien qu'en marchand dessus...

        Enfin, comment dire, il y a plein de chose que je n'ai pas programmer volontairement, qui découle de la gestion physique et que j'ai découvert en jouant.

        Donc en jouant on découvre plein de truc possible...
        Je veux pas trop vous spoliez alors je ne vous en dis pô plus

        C'est cela qui est aussi super pour moi, je découvre le jeu tout en le programmant.
        (C'est Unity qui gère la physique, je ne fait que des réglages)
        Ça augure de très bonnes choses car la physique donne un coté découverte supplémentaire au jeu.
        Dernière modification par Cotsz, 29 septembre 2016, 21h21.

        Commentaire

        • Rag'd
          Legendary


          • octobre 2011
          • 3368

          #5
          Envoyé par Cotsz Voir le message
          On peu faire plein de choses avec les "Boulders"...
          Les pousser mais aussi les faire rouler rien qu'en marchand dessus...
          Oui, les faire rouler pour atteindre des endroits où l'on souhaite creuser ... C'est cool d'avoir un moteur de gestion physique sans avoir à le programmer (je me suis déjà amusé à en programmer une partie d'un tel moteur et c'est assez prise de tête - utilisation des vecteurs indispensable)

          Commentaire

          • Cotsz
            Peon

            • mai 2015
            • 23

            #6
            Les vecteurs indispensable

            Envoyé par Rag'd Voir le message
            Oui, les faire rouler pour atteindre des endroits où l'on souhaite creuser ... C'est cool d'avoir un moteur de gestion physique sans avoir à le programmer (je me suis déjà amusé à en programmer une partie d'un tel moteur et c'est assez prise de tête - utilisation des vecteurs indispensable)
            Alors "OUI !", c'est très cool, c'est un des facteurs qui m'on entrainé vers Unity3D, mais faut quand même comprendre ce qu'est un vecteur et savoir les utilisés (par ex. c'est un vecteur qui permet à Tom de pousser les boulders).
            En fait mon code passe son temps à coupé la physique et à la restaurée sous les pieds de Tom (notre Taupe donc ) pour arriver à avoir ce mixe entre modulaire et physique.
            Cela donne des déplacements un poil bizarre (surtout les sauts) mais bon, c'est comme ça, c'est un gameplay que j'ai inventé finalement !
            Dernière modification par Cotsz, 30 septembre 2016, 11h59.

            Commentaire

            • Cotsz
              Peon

              • mai 2015
              • 23

              #7
              Bon il y aurrait plein de chose à dire mais cela désintéresserait le commun des mortelles,
              alors juste deux petits snapshots... (ouai, je sais c'est des version PC)

              Cliquez sur l'image pour la voir en taille réelle 

Nom : 		BizzyBros1.jpg 
Affichages :	1 
Taille :		191,6 Ko 
ID : 			715909Cliquez sur l'image pour la voir en taille réelle 

Nom : 		BizzyBros2.jpg 
Affichages :	1 
Taille :		186,6 Ko 
ID : 			715910

              A woui, pour ceux-ce qui cherche où ça ce passe: BizzyBros c'est ICIl
              Fichiers attachés
              Dernière modification par Cotsz, 09 octobre 2016, 15h56.

              Commentaire

              • Banedon
                Nomad

                • décembre 2005
                • 8

                #8
                J'ai essayé BizzyBros (je suis même rentré dans le top 10 lol).

                Prévois-tu le gameplay (et le gamedesign aussi) pour creuser vers le haut (au dessus de soi) ? (c'est peut être juste une vieille habitude de "boulder" ).
                Je trouve très intéressant (utile en fait ) que la ligne de terre/gazon tout en haut se reforme après un moment, ça évite de se retrouver bloqué.
                Je sais pas encore à quoi sert la barre d'Oxygène ? un test ? à venir ? j'ai pas jouer assez loin pour le découvrir ?
                Je vois la barre de fear augmenté, mais quelle en est sa conséquence ?
                Et pareil pour le "coup de pistolet" sur le clic gauche (qui tire toujours vers la droite de l'écran d'ailleurs) ... une utilité future, un test ?

                Petit bug quand on est au bord d'une pierre qui n'est pas "centrée" sur une case précise (je parle de case du quadrillage du jeu), le petit Tom ne sait pas s'il doit rester dessus ou descendre de la pierre et fait le "yoyo" rapide et prends des dégâts, selon le cas de manière infime (5% ou moins de vie perdue) et des fois de manière brutale de 100% PV à ... mort lol
                Et autre très petit détail quand on "pop" dans un niveau, on tombe légèrement et on prend 0.5% de fear, je sais pas si c'est voulu ou pas.

                Et petite suggestion "sonore", le bruit quand on "creuse" et un peu 8bits ... non 2bits ... non 1 bip
                Aurais-tu quelque chose d'un peu plus "gaming" dans tes ressources ?

                Sinon j'aime bien le principe des "ESC" limitée et du "mort avec encore des ESC ? tant pis pour toi, c'est game over" lol
                Et vu ce qui traine dans le jeu et que je n'ai pas vu l'utilité actuelle, curieux de voir où tu nous emmènes avec tout ça

                Commentaire

                • Cotsz
                  Peon

                  • mai 2015
                  • 23

                  #9
                  Envoyé par Banedon Voir le message
                  J'ai essayé BizzyBros (je suis même rentré dans le top 10 lol).
                  Cool, désolé pour cette réponse si tardive j'ai fait deux fois ce post à cause d'un bouton 'MOUSE3' trop
                  sensible et de la bêtise d'éditer un long texte dans un navigateur. (et je viens seulement de voir le "restaurer le contenu auto-enregistré", snif )

                  Envoyé par Banedon Voir le message
                  Prévois-tu le gameplay (et le gamedesign aussi) pour creuser vers le haut (au dessus de soi) ? (c'est peut être juste une vieille habitude de "boulder" ).
                  Je trouve très intéressant (utile en fait ) que la ligne de terre/gazon tout en haut se reforme après un moment, ça évite de se retrouver bloqué.
                  Ne pas pouvoir creuser vers le haut fait partit du Gameplay. C'est en quelque sorte en adéquation avec là physique, et c'est aussi comme ça que cela était prévu dans Bizzy Bros: "In Gold Fever".
                  Le jeu est entièrement aléatoire actuellement (entendons nous bien, je ne parle même pas de "générations procédurales"), et après avoir jouer des heures, en gros,
                  j'ai fini par conclure que pour éviter la création de levels infaisable, il fallait que l'herbe repousse
                  En attendant, le jeu n'a aucune limite, il ce peu que ça plante autour du 30ème ou 50ème levels par manque de mémoire, à vous de voir...

                  Envoyé par Banedon Voir le message
                  Je sais pas encore à quoi sert la barre d'Oxygène ? un test ? à venir ? j'ai pas jouer assez loin pour le découvrir ?
                  Je vois la barre de fear augmenté, mais quelle en est sa conséquence ?
                  Oui, la gestion de l’oxygène est implémentée mais elle est inutile actuellement car il n'y as pas encore les liquides prévus (eau, pètrole).
                  C'est un peu pareille pour la peur (fear),tu peu mourir si elle arrive à 100% mais sont utilité ne deviendra flagrante que lorsque l'on croisera des monstres...
                  J'ai codé les 3 barres en même temps, tout est basé sur les résulta physique, Tom à peur si il tombe ou lorsqu'il frôle les boulders, et plus il tombe de haut plus il à peur et plus ils ce fait mal.
                  Il à même parfois "peur" lorsqu'il est absorbé par la sortie! Le jeu est bien, actuellement, un "Boulder Dash" mais avec une gestion physique du GamePlay (Logique des dégâts liée au valeurs des vecteurs),
                  mais ils y à encore plein de correction à faire. C'est très expérimentale malgré que j'ai passé déjà beaucoup de temps à jouer et faire des réglages.

                  Envoyé par Banedon Voir le message
                  Et pareil pour le "coup de pistolet" sur le clic gauche (qui tire toujours vers la droite de l'écran d'ailleurs) ... une utilité future, un test ?
                  Oui, contre les futures monstres dans un 1er temps, puis dans très très longtemps contre les joueurs de l'autre équipe en réseau.
                  mais actuellement ça peu aussi faire bouger certain boulder... mais bon la version WebGL et pas terrible pour ça.
                  Pour entrée un peu plus dans les détailles, c'est vraiment juste que ça me démangeais après avoir passé les 1ère étapes du développement sous Unity.
                  Les Bizzy Bros venaient d'avoir 23ans, ce sont des CowBoys, il était temps qu'ils aient des révolvers !
                  ( Tom me remercie d'ailleurs tout les jours )


                  Envoyé par Banedon Voir le message
                  Petit bug quand on est au bord d'une pierre qui n'est pas "centrée" sur une case précise (je parle de case du quadrillage du jeu) ...
                  Bon, ce n'est pas vraiment un bug, c'est un problème qui découle directement de la physique et des collisions box, géré par le code d'Unity.
                  J'ai quelque idée pour solutionné le problème mais cela risque de changer pas mal les réaction du jeu... alors pour le moment ça reste comme ça !
                  (A noter que l'on peu dans certain cas forcer la descente en poussant vers le bas)

                  Envoyé par Banedon Voir le message
                  Et petite suggestion "sonore", le bruit quand on "creuse" et un peu 8bits ... non 2bits ... non 1 bip
                  Aurais-tu quelque chose d'un peu plus "gaming" dans tes ressources ?
                  Oki, c'est noté. mais bon cela vient surtout de la conversion de ce son pour la version WebGL. Le son est plus doux sur PC et il à deux temps.
                  Il claque moins, je vais voire, c'est en fait un bruit de pas qui viens d'un asset gratuit d'Unity.

                  Envoyé par Banedon Voir le message
                  Sinon j'aime bien le principe des "ESC" limitée et du "mort avec encore des ESC ? tant pis pour toi, c'est game over" lol
                  Et vu ce qui traine dans le jeu et que je n'ai pas vu l'utilité actuelle, curieux de voir où tu nous emmènes avec tout ça
                  Alors, oui, ce n'est que le début, tu fais bien de mettre le doigts dessus. une des chose a venir dans les prochaines versions,
                  c'est que comme les "ESC" il y aura aussi plusieurs vie et cela va entrainer une nouveauté importante dans le gameplay...

                  voilà.
                  Dernière modification par Cotsz, 15 octobre 2016, 20h15.

                  Commentaire

                  • Cotsz
                    Peon

                    • mai 2015
                    • 23

                    #10
                    Bon, tien comme ça viens de me le re-faire alors je vous fais un petit post.
                    Il pourrait aller ailleurs, dans le thread pour ceux-ce qui veulent ce mettre à programmer...

                    Programmer est une joie incommensurable, mais c'est aussi la plus grande source de capilo détérioration que je connaisse.

                    On pourrait croire comme ça, que je chouine pour détourné mon incompétence sur d'autres,
                    mais il ce trouve en fait qu'à notre époque programmer n'est vraiment pas une sinécure.

                    Pourquoi ? Parce que l’avènement de logiciels et langages dit de "haut niveau" est en fait un gouffre à bugs.

                    Je m'explique par une petite anecdote :

                    La version actuel de Bizzy Bros ce trimballe un bug, un VRAI bug.
                    Il ce produit sous toute les versions mais de maniéré occasionnel.
                    (donc déjà y'a pas pire comme bug)
                    Si vous avez jouer à la version WebGL de Bizzy Bros,
                    vous l'avez peut être déjà rencontré...
                    Ce petit salopard s'interpose au bon déroulement du jeu dès le premier level.
                    Vous mangé tranquille les une ou deux "gold" qui traine, et là, horreur, la sortie ne s'ouvre pas. Et le compteur de "gold" indique qu'il en reste, alors que non, y'en a plus dans le level !
                    Et bien sachez que mon code n'y est absolument pour rien.
                    En fait au départ, le nombre de "gold" était simplement compter lors de la création du level.
                    En gros, le level est crée ligne par ligne, avec tirage aléatoire pour crée un bloc de terre, une "gold" ou un "jewel".
                    Lorsque le tirage aléatoire sort une "gold" et bien j'incrémente tout simplement une variable compteur, qui bien sûr est mis à zéro au départ de la boucle créant le level.
                    Comment voulez-vous obtenir un bug la dedans ????
                    Et bien pourtant quand j'ai découvert ce bug je me suis tout d'abord mis en cause.
                    La solution évidente, après m'être dis qu'il y avait une gonade mâle dans ma boucle,
                    a était d'utilisé les fonctions C# d'Unity pour compter le nombre d’entités "gold" (gameobject) dans la scène.
                    c'est toujours la méthode que j'utilise actuellement, et pourtant le bug apparaît encore.
                    Alors, naturellement, je me suis dis: "Bah... ça viens d'un problème de corruption de la zone mémoire réservé par Unity pour ses variables!"
                    J'ai donc déplacé l'emplacement de sa définition dans le script, pensant qu’ainsi ce serrait une autre variable qui serrait affecter par le bug...

                    Bah, non, le bug persiste...

                    Alors je ne sais pas, mais si les plus programmeux d'entre vous on une idée...

                    Bah, je suis preneur.
                    Dernière modification par Cotsz, 18 octobre 2016, 00h21.

                    Commentaire

                    • Banedon
                      Nomad

                      • décembre 2005
                      • 8

                      #11
                      Je vais attendre alors que tout soit implémenté

                      Ah oui j'ai pas essayé d'aller vers le bas quand il sait pas trop s'il doit descendre ou non du rocher, j'essayais plutôt de sauter

                      Pour ton "bug", je ne suis pas programmeur, et je ne sais pas non plus comment est géré l'interface en WebGL, mais je pense qu'il reste une relation server/client (si on peut l'appeler comme ça) puisqu'on ne télécharge pas de jeu sur notre pc.
                      Donc notre pc envoie sur le serveur web (ou autre type de serveur) nos "commandes" et le serveur nous renvois le retour par le déplacement correspondant à l'écran.
                      Dans cette idée, est-ce que le comptage de "gold" peut être altérer par un "lag" (ou équivalent) entre nos pc et le serveur entraînant une erreur de comptage de 1 (ou plus selon le lag) ??

                      J'avais eu des problèmes un peu similaire sur un site web en php et dont certaines "variables" étaient dépendante du numéro de session de l'utilisateur, mais lorsqu'il y avait des micro-coupure web, ça rechargeait la page (mais comme elle était dans le cache, on ne s'en rendait pas compte) et du coup attribuait une nouvelle session entraînant une différence notoire dans mes variables. Puisque la première rester sur le serveur au moment de l'envoi du formulaire php était celle de la première connexion et la seconde que j’utilisais en "référence" pour comparaison était elle celle de la reconnexion.

                      Bref sinon je ne sais pas lol
                      Et comme disait quelqu'un :
                      Quand on ne trouve pas ce qu'on cherche c'est qu'on ne cherche pas où il faut.
                      (En gros si tu trouve pas tes clés dans tes poches ou sur la table, commence à chercher dans le frigo ou au WC, etc ...)
                      Ça s'applique aussi en programmation lol

                      Commentaire

                      • Cotsz
                        Peon

                        • mai 2015
                        • 23

                        #12
                        Envoyé par Banedon Voir le message
                        Je vais attendre alors que tout soit implémenté [...]

                        Pour ton "bug", je ne suis pas programmeur, et je ne sais pas non plus comment est géré l'interface en WebGL,
                        Merci mais j'ai précisé que c'était dans toutes les versions.

                        Cela arrive aussi parfois dans l'éditeur... Il suffit alors de quitter/relancer l'éditeur.
                        Pour la version WebGL, c'est pareil. Tu vide le cache du navigateur, et tu recharge la page.

                        Il est plutôt rare et en générale dès le 1er niveau. Et on le voit tout de suite, 2 Golds à manger en haut mais 1 seul sur le level.
                        Déjà casse-pieds au 1er, il en devient exaspérant lorsqu'il ce produit au dixième niveau.

                        le bug est trés rare il faut jouer beaucoup pour le voir. J'en ai fini par croire, à un moment, que c'était mon PC...
                        Donc merci, mais par contre ce qui peu m'être utile c'est que des gens joue et me signal si eux aussi le rencontre. (le bug)
                        Dernière modification par Cotsz, 18 octobre 2016, 20h01.

                        Commentaire

                        • Rag'd
                          Legendary


                          • octobre 2011
                          • 3368

                          #13
                          Je l'ai déjà eu à un niveau relativement élevé (7 ou 10 j'sais plus)
                          Comme tu le dis c'est le genre de bug à s'arracher les cheveux.

                          Commentaire

                          • Warrens
                            Champion


                            • janvier 2003
                            • 962

                            #14
                            Je ne connais pas c#, seulement C et C++ en programmation.
                            J'ai une proposition:
                            -créer une fonction retournant un booléen qui va parcourir tout le niveau en comptant les gold. Si tu tombe sur un gold la fonction retourne 'false' (return false; en C++) terminant la fonction sinon au bout (plutôt juste après) de la boucle itérative de parcours du tableau du niveau (toujours dans cette fonction, hein ) placer un return true; comme quoi aucun gold n'a été trouvé.
                            Alors attention : si cette fonction est placée dans la boucle du jeu 'presque infinie' (qui peut se terminer à l'appui d'une touche ou à la fermeture du navigateur ); elle va être exécutée à la sauvage ce qui peut poser un problème de performance. Je propose de la lancer à l'aide d'un booléen. Ce booléen seras mis à 'true' à chaque fois que tu mange un 'gold' lançant la dite fonction puis après la fonction le booléen sera mis à false , ce qui fait que la prochaine fois que la fonction sera lancée ce sera seulement lorsque qu'un autre 'gold' sera mangé.

                            C'est ce système que j'utilise pour un casse briques que je fais en C++ (avec les briques restantes si oui ou non , alors fin du niveau);

                            Code:
                            void determinerSiNiveauTermine(TypeTableauNiveau&  tabParamètre){
                                  for (auto const &i : tabParamètre ){
                                          if( i == GOLD ) //expression constante d'un chiffre identifiant un gold)
                                                 return false;
                                  }
                                  return true;
                            }
                            ----------------
                            Code:
                                      initialiseTabLevel( tabLevel );
                            
                                      while( continuerNiveau == true ){
                                             if( goldConsumed == true){
                                                     determinerSiNiveauTermine( tabLevel );
                                                     goldConsumed = false;
                                             }
                            
                                             testerCollisionJoueurAvecGold(tabLevel, goldConsumed);
                                      }
                            Ce genre de choses
                            Dernière modification par Warrens, 20 octobre 2016, 18h24.
                            Je dis Joker ! Je peux donc rejouer...

                            Commentaire

                            • Rag'd
                              Legendary


                              • octobre 2011
                              • 3368

                              #15
                              Cotz, est-ce que tu utilises une programmation objet, impérative ? Tu es sûr de ne pas avoir un effet de bord quelque part dans ton code ?

                              Sinon, comme dit Warrens, refaire une boucle ... je propose une de comptage de Golds à chaque fois qu'on pille un peu de gold pour régler le prob temporairement (c'est pas optimum, mais bon ...).

                              Commentaire

                              Chargement...