Forum Liberty Basic France

Jeux » Babylone Réfléchir avant d'agir.
Le 06/09/2012 à 22h26

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 1870
Voici donc "Babylone". version béta. Il y a un "help" qu'il est conseillé de lire, et qui peut rester ouvert durant le jeu.
Certaines options sont superflues ( preview et nBilles x,y ) puisque ces parametres sont accessibles dans les premières lignes du code. Je les ai faites en guise d'exercice, et les ai laissées.
Les boutons sont petits et sérrés, pour permettre la réduction du jeu.
Le bidouillage mériterait quelques améliorations:
- Faire clignoter la bille suivante, ce qui permettrait de virer le marqueur.( et ce que je ne suis pas arrivé à faire malgrés un gros investissement en matière grise.)
M'étant aperçu que lorsque plusieurs lignes sont completes, on ne peut plus y acceder, j'ai fait la V2 avec laquelle le lapin détruit toute le colonne sur laquelle il tombe. Cette version n'ayant pas été testée à fond, je laisse avec la version testée.
J'aimerais bien avoir quelques commentaires.. (critiques acceptées).

Babylone.zip



Edité par Roland Le 07/09/2012 à 01h18
____________________
Roro

   
Le 08/09/2012 à 12h27

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 1870
Nouveautés pour BabyloneV3:
Le bouton "help" est maintenant multi fonctions ( Save et load ) et doit etre validé par le bouton "<-oK" qui est à coté.
Lire le "help" pour les procédures de Save et de Load......à+

Babylone.zip
____________________
Roro

   
Le 08/09/2012 à 14h17

Libertynaute Avancé

Groupe: Membre

Inscrit le: 08/06/2012
Messages: 270
Testé et approuvé : super jeu ;)
____________________
Si le meilleurs langage de programmation existe, alors le Just Basic est loin devant.
Ne me tappez pas dessus ! Je débute :D

Web    
Le 24/09/2012 à 21h12

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 1870
J'ai mis la version anglaise dans le zip....
Si tu veux l'envoyer à l'ouest, il y a peut-etre des ajusteurs qui s'en dépatouillerons.

Babylone.zip
____________________
Roro

   
Le 27/01/2013 à 16h48

Libertynaute Débutant

Groupe: Membre

Inscrit le: 03/05/2012
Messages: 17
Salut m'sieur Roland (et tous les autres)

Bon, je viens de tester Babylone. J'ai tout un tas de remarques à faire. Je ne sais pas si elles auront une utilité quelconque. Les messages dans ce sujet datent de quelques mois, et tu es peut-être passé à autre chose depuis. Mais qu'à cela ne tienne, voici mon avis en tant que con-sultan en jeux vidéo, et en patates magiques d'écureuil magique aussi.

Pour commencer, félicitations d'avoir réalisé ce jeu. Malgré un certain amateurisme, on sent une volonté de bien faire les choses, et que ça fonctionne au mieux.

*** Bugs et trucs gênants ***

Sur mon PC, la fenêtre du jeu est un tout petit peu plus haute que mon écran (j'ai une résolution de 1280 * 720). Du coup, je suis obligé de réduire ma barre des tâches, sinon je ne voit pas tous les boutons du bas ! Le plus simple serait de faire une fenêtre un peu moins haute, mais plus large, et de placer tous les boutons sur le côté gauche ou droit. Evidemment, la fenêtre n'est pas retaillable (en anglais : "resaïzeubeule"), mais c'est peut être voulu. Modifier le jeu pour qu'il s'adapte à n'importe quelle taille possiblede fenêtre est peut-être un peu compliqué.

Lorsqu'on bascule sur une autre application dont la fenêtre recouvre celle de Babylone, puis qu'on revient à Babylone, la fenêtre babylonnienne devient tout blanche ! Ensuite, ça se redessine au fur et à mesure des mouvements de billes. Il doit y avoir un petit problème de refresh. Je ne sais pas exactement comment fonctionne le LibertyBasic, mais il faudrait faire en sorte que tout soit redessiné quand le focus revient sur la fenêtre babylonnienne.

Ce problème de non-redessinage, c'est ce qui m'a le plus gêné, et c'est la raison pour laquelle je n'ai pas testé le jeu autant que j'aurais pu. J'avais commencé une partie en me disant que j'irais jusqu'au bout. À un moment, je passe sur mon éditeur de texte pour noter un truc, je reviens et paf ! Plus de jeu. Ça m'est arrivé plusieurs fois, et ça m'a démotivé pour faire une longue partie. (Mon record est de 185 points, quand même).

Je pensais contourner le problème d'écran blanc en mettant une autre image de fond. Effectivement, ça redessine tout. Sauf que ça redémarre une nouvelle partie ! Tant pis, pas de contournement possible.

Il y a un fichier "error.log" qui est généré, contenant diverses info, et qui augmente en taille au fur et à mesure qu'on joue. J'ai rien contre, mais c'est mieux de vider ce fichier à chaque démarrage du jeu. On risque de se retrouver avec un log de trouzemille méga-octets si on joue trouzemille fois.

Le bonus de lapin peut parfois faire planter tout le jeu. Je ne saurais pas dire les conditions exactes. Le lapin était parti pour virer une colonne entièrement remplie, ça vient peut-être de là.

Lorsqu'on passe de preview=3 à preview=1, il y a, là aussi, des petits problèmes de redessinage. Certaines billes des colonnes 2 et 3 ne sont pas effacées.

Le curseur gris indiquant la colonne d'où partira la prochaine bille n'apparaît qu'au deuxième coup. En détail, ça donne ça :
- Je clique sur la 1ère bille pour la faire clignoter.
- Je clique à l'endroit où elle va se poser.
- À ce moment là, je devrais déjà pouvoir voir le curseur gris.
- Je clique à nouveau, pour poser la deuxième balle.
- Et c'est seulement maintenant que je vois le curseur gris.
D'ailleurs, maintenant que j'y pense, ce curseur gris, il pourrait être visible encore plus tôt. Dès qu'on fait clignoter la première bille, on pourrait immédiatement le voir, indiquant la colonne de la bille qui clignote.

Si possible (mais je connais vraiment rien au LibertyBasic), on devrait pouvoir sélectionner une image de fond au format bmp, png, jpg, ... Et les images du jeu devraient être stockées en .png. Ça prend moins de place, on garde la même qualité au pixel près, et ça reste un format d'image standard.

*** Le code ***

Je l'ai juste regardé vite fait, par curiosité. Je dois avouer que je n'ai pas le courage ni le temps de me plonger dans ce fabuleux langage. Ce sera donc rapide.

Je cite un commentaire : "Grrrr...! parce que le chiffre des colonnes commence à zéro !!!"
Euh... C'est normal. Tous les langages de programmation font ça. On commence toujours par compter les trucs (quel que soit ces trucs) à partir de 0. Ça a l'air bizarre de prime abord, mais ça simplifie plein de trucs. Bon, là, j'ai pas d'exemples concrets, mais dès que j'en trouve, je reviens poster un message. En attendant, Wikipedia et la langue de Shakespear peuvent apporter un début d'explication : http://en.wikipedia.org/wiki/Zero-based_numbering.

Il serait de bon ton de mettre les différents modules de code dans plusieurs fichiers. C'est beaucoup plus simple à relire, maintenir, modifier, explorer, ... Je suppose que le LibertyBasic doit avoir une instruction de type "include", "import", "using" ou quelque chose comme ça. Ne pas hésiter à en profiter !
*** Les graphismes ***

Le fait que les bonus soient représentés par des objets plus ou moins n'importe-quoi-t-esque ne me dérange pas. C'est totalement assumé, donc ça va. (Une banane, non mais franchement !)

Le fait que les graphismes des billes ne partagent pas un style graphique commun est déjà un peu plus gênant. Mais bon, c'est pas un jeu fait pour en mettre plein la vue avec des graphismes de dingues. Et ça aussi c'est totalement assumé, donc tout va bien.

Le seul petit truc qui me gêne, c'est la ressemblance entre les billes rouges étoilées de noir, et les billes rouges étoilées de jaune. (Sans compter les billes toutes rouges). Ça m'est arrivé d'être un peu distrait et de les confondre.

Les billes toutes simples, de couleurs différentes, sont à éviter. Pour une raison toute bête : tu empêches les daltoniens de jouer à ton jeu ! Il existe plein de jeux fonctionnant sur le principe d'association d'éléments entre eux, c'est un genre à part entière, appelé le "match 3". La plupart des jeux de ce genre différencient les éléments par la couleur, mais aussi la forme. Comme ça, aucun risque d'embrouiller les daltoniens. (Prochaine étape, les aveugles, avec des écrans en braille à picots rétractables).

*** Le jeu en lui même (le "gameplay", comme on dit) ***

Le défaut principal, c'est qu'il y a trop de tout. Trop de types de billes différents, une aire de jeu trop grande, et des bonus beaucoup trop bourrin. Quand on joue, on finit par se créer des zones "poubelles", contenant un gros tas désordonné de billes. Le système de jeu permet difficilement de faire autrement, et surtout, on sait qu'un bonus finira tôt ou tard par nous débarrasser de tout ce bazar.

J'ai essayé une fois de remplir l'écran au maximum, en jouant n'importe comment sans chercher à faire disparaître les billes. Ce n'est pas si évident. Il y a toujours une tour ou un éclair qui arrive et nettoie une bonne partie de l'aire de jeu. Quand on ne parvient pas à perdre dans un jeu, même en le faisant exprès, il y a des questions à se poser sur les mécanismes du jeu.

La banane est un malus, mais il est également assez bourrin. Non seulement on ne peut plus rien poser sur la colonne, mais en plus, on ne peut plus prendre les billes présentes dans cette colonne. C'est pas que la faute de la banane, et c'est pas non plus que la faute au mécanisme du jeu. Mais les deux ensemble font que banane = malus de bourrin.

Quelques idées de bonus/malus plus subtils :
- Une bombe qui détruit juste les billes adjacentes
- Un objet fantôme, qui disparaît dès qu'on le pose. Ça permet de repartir de la colonne que l'on veut.
- Bille joker, capable de s'associer avec des billes de n'importe quelle type pour faire une ligne.
- Objet que l'on doit placer en deux exemplaires, sur une même ligne ou colonne, lorsqu'on y arrive, toutes les billes situées entre ces deux objets disparaissent, ainsi que les objets eux-même. (Il y a une sorte d'éclair ou de rayon laser de la mort qui passe entre les deux objets).
- Objet malus qui ne s'associe à rien (mais sur lequel on peut quand même poser des billes).
- Bille gelée. Si on la place à l'extrémité d'une ligne de bille semblables, ça ne se détruit pas. La bille gelée doit être placée au milieu d'une ligne pour déclencher la destruction.

Tu vas me dire : "C'est pas grave si les bonus sont bourrins, le joueur peut changer leurs fréquences d'apparition, pour faire un jeu plus équilibré". Oui, mais ça, c'est au créateur du jeu de le faire ! C'est à toi de mettre différents mode de jeu (facile/moyen/difficile/sans bonus/n'importe quoi/...) et de déterminer les fréquences d'apparition les mieux adaptés à chaque mode. C'est un peu chiant, parce qu'il faut tester plein de fois le jeu, faire des mini-ajustements au poil de cul près, etc... Mais c'est la partie la plus difficile dans la création d'un jeu. Je te laisse imaginer le temps qu'ont passé les gens de chez Blizzard à équilibrer Warcraft 3 : les prix de chaque bâtiments, les stats de chaque unité (force, points de vie), leur capacités spéciales, ... pour que se soit intéressant à jouer et qu'il n'y ait pas qu'une seule technique possible. Un bon gros casse-tête.

Le jeu ne valorise pas les actions compliquées ni les coups prévus à l'avance, et c'est dommage. Lorsqu'on parvient à faire une réaction en chaîne, ou à aligner plus de 3 billes d'un coup, ou à créer une ligne en posant les 3 billes de même couleur à la suite, etc... On devrait être récompensé (par l'apparition d'un bonus supplémentaire, par du score, ...). Ça donne envie au joueur de trouver d'autres manières de jouer. De prendre un peu des risques.

Et sinon, à propos du score, j'ai pas pigé comment il est calulé, mais je dois avouer que j'ai pas trop cherché non plus.


Voili voilà, ça fait beaucoup de choses. Bon, je suis pas un participant régulier dans ce forum, alors je vais demander aux habitués de ne pas prendre ces critiques trop au sérieux. C'est juste mon avis, et je n'ai pas la prétention d'éclairer de mes immenses lumières les pauvres petits LibertyBasiquiens francophones qui seraient supposés être tout perdu sans moi. Bref, continuez ce que vous faites, il y a du foisonnement, de la création, (je fais le même genre de choses dans mon coin, mais avec d'autres langages et d'autres médias), et c'est top moumoute le mammouth !
____________________
Quand l'imbécile regarde la Lune, le sage lui met un doigt.
http://recher.wordpress.com

Web    
Le 27/01/2013 à 18h04

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 1870
Salut Recher,
Ptain, ça c'est du test Je n'ai pas lâché ce jeu, tes remarques vont servir à son amélioration.
Mais de grâce, jette cet ordi de m...e dont l'écran ne contient pas mon jeu. (que l'on redimensionner)
Merci d'avoir consacré de ton temps de serpentologue si précieux. ......à+
____________________
Roro

   
Le 31/01/2013 à 02h19

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 1870
Salut à tous,
Juste un mot pour annoncer une modif dans "Babylone":
Au lancement le fichier; "template.dat" est chargé.
Il contient les paramètres de jeu, qui peuvent êtres modifiés, et sauvés par: "SaveTempl". 'bouton: "Help"/"SaveGame"/"SaveTempl"/"Load"
et; "<ok" ( voir le "Help")
Autres modifs à venir. ....à+ . Babylone.zip
____________________
Roro

   
Le 01/02/2013 à 18h08

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 1870
Salut la compagnie,
Nouvelle modif:
On peut maintenant changer le nombre total de billes en cours de partie.
Voir l'aide
La version anglaise suit les modif, et son aide avec. Is véry luxuous...no?
.................................. Babylone.zip



Edité par Roland Le 01/02/2013 à 18h08
____________________
Roro

   
Le 23/09/2013 à 00h20

Libertynaute Débutant

Groupe: Membre

Inscrit le: 03/05/2012
Messages: 17
Coucou Roland, et tous les autres.

Je repasse un petit coup dans ce forum toujours aussi sporadiquement. Mais la sporadicité n'empêche pas l'intensité du propos.

Je viens de tester la nouvelle version de Babylone. Je suis content de voir que le jeu évolue.

J'y vais donc de ma critique, en tant que con-sultan autoproclamé en jeu vidéo.

Le fait de changer le nombre total de billes, c'est une bonne idée. Sauf que je pense pas que ça devrait s'appeler "nombre total de billes", mais "nombre total de couleurs des billes". Au début, je ne comprenais pas du tout ce que ça représentait, même après avoir regardé l'aide.

Et ça amène encore un défaut dans les mécanismes du jeu. Supposons que je veuille me faire une partie super facile, avec seulement 4 couleurs de billes. Je sélectionne "4" dans l'interface. Mais les billes actuellement en jeu ont les 24 couleurs de départ ! Donc pour jouer sereinement avec 4 couleurs, je suis obligé de faire tomber toutes les billes actuellement en jeu. Ça va me polluer l'aire de jeu, et il y en a certainement quelques-unes que je ne pourrais jamais détruire.

J'ai essayé de mettre le nombre de couleurs à 4, puis de redéfinir les dimensions du jeu pour démarrer une nouvelle partie, avec des billes en jeu initialisées correctement. Sauf que ça marche pas. La valeur nTot revient à 24 ! Mince alors. Il faudrait qu'elle reste, et qu'elle soit prise en compte lors des nouvelles parties.

D'autre part, quelle est ce délire avec les flèches qui font +2 et -3 ? (ou le contraire, je sais plus). Tu peux pas faire +1 -1 comme tout le monde ?


Dernière petite remarque : c'est très bien de faire une version anglaise et une française. Mais si tu veux moins te prendre la tête, ne fait pas un .bas pour chaque langue. Ça duplique ton code, c'est deux fois plus compliqué à maintenir et à faire évoluer. Je te laisse imaginer le bazar avec d'autres langues supplémentaires.

Le plus simple, c'est de mettre tous les textes du jeu dans des fichiers de données à part. Un fichier par langue, ou tout dans le même fichier, mais bien séparé comme il faut. Ton programme demande la langue au début. Selon le choix de l'utilisateur, tu vas utiliser un fichier ou un autre pour lire les textes du jeu, et tu initialises ton interface avec ce que tu as lu.

Idéalement, tu enregistres dans un autre fichier, (ou dans param.dat) la langue choisie. Comme ça tu ne la redemandes pas à chaque démarrage du jeu. Mais ça, c'est moins grave si ce n'est pas fait.


Voili voilà, c'était tout pour le moment, pour ce sujet là. À bientôt !
____________________
Quand l'imbécile regarde la Lune, le sage lui met un doigt.
http://recher.wordpress.com

Web    
Le 23/09/2013 à 00h47

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 1870
Hey, comme il y a autant de couleurs de bille que de billes;
la réduction du nombre de billes est aussi la réduction du nombre de couleurs..Et vice-versa.
Ok, je vais sauver le nombre de billes avec le reste à la sauvegarde de la partie (p...n, t'es difficile toi Lol)
Le +3 -2; c'est le moyen d'avancer plus vite que:1 par 1, et ça permets neammoins d'accéder à toutes les valeurs. (je suis particulièrement content de moi sur ce coup là )
Pour la langue, ton idée est bonne pour l'aide; mais pas pour les coms. Et les coms c'est important en open source........ Salut l'artiste..........à+.
____________________
Roro

   
Le 12/07/2014 à 15h50

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 1870
Salut général;
Bon, pour le refresh de la fenêtre quand elle a été recouverte. C'est trop merdique, il faudrait rafraichir périodiquement et systématiquement, vu que le jeu dans sa forme actuelle est statique.
Alors la solution, et ben c'est de sauver la partie avant de couvrir la fenêtre.
Et voila.! :D On va pas se prendre la tête non plus..;hein.
____________________
Roro

   
Jeux » Babylone Réfléchir avant d'agir.  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie