Nouveau jeu pour Thomson : MABOOL

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
Mokona
Messages : 1036
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: Nouveau jeu pour Thomson : MABOOL

Message par Mokona »

Le '/' en fin de ligne indique que la ligne suivante est concaténée à la suite, séparée par un ':' dans le résultat (et donc sur la même ligne BASIC résultat).

Le traitement est dans rscript.js
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Nouveau jeu pour Thomson : MABOOL

Message par __sam__ »

Ahhh ceci explique cela. Merci! 8)

Du coup le 1er goto ayant ce /, cette erreur, ce bug, est mystérieux car présent volontairement dans le source.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Neotenien
Messages : 354
Inscription : 23 oct. 2020 19:15
Localisation : Le Mans
Contact :

Re: Nouveau jeu pour Thomson : MABOOL

Message par Neotenien »

Mokona a écrit : 05 sept. 2022 23:17 Le '/' en fin de ligne indique que la ligne suivante est concaténée à la suite, séparée par un ':' dans le résultat (et donc sur la même ligne BASIC résultat).
C'est dans le Basic des Thomson ça ? Je ne connaissais pas cette possibilité.
Daniel
Messages : 17288
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Nouveau jeu pour Thomson : MABOOL

Message par Daniel »

La syntaxe du programme source est celle du générateur de Basic utilisé pour développer le jeu. Elle n'a aucun rapport avec la syntaxe du Basic Thomson.
Daniel
L'obstacle augmente mon ardeur.
Baptiste
Messages : 121
Inscription : 11 mars 2013 15:17
Localisation : Vernouillet (78)

Re: Nouveau jeu pour Thomson : MABOOL

Message par Baptiste »

Ha, je me souviens maintenant pourquoi j'avais pris mes distances avec la communauté Thomson. :) C'est à croire que certains font tout pour que plus aucun nouveau développement ne soit fait pour leur machine.

Je devrai apprendre de mes erreurs passées, et arrêter de perdre mon temps à vouloir partager mes programmes avec vous.
Rien ne sert de courir, en plus tu risques de tomber.
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Nouveau jeu pour Thomson : MABOOL

Message par __sam__ »

Salut Baptiste,

Juste une question: Qu'est ce qui te fais revenir par ici ? Je ne comprends pas le lien entre ton message actuel et le sujet vieux de 6 mois. Ton jeu est très bien, par contre certains n'avaient pas compris que ce n'était pas du basic standard mais un truc généré ce qui explique sa (relative) lenteur.

Or il y a tellement de fausses infos qui circulent sur les réseaux sociaux concernant la lenteur des Thomson, qu'il faut très vite rectifier et indiquer les bonnes pratiques plutôt que de voir se multiplier les rêveries autour d'un upgrade CPU pour palier à lenteur là où une bonne programmation change tout (cf les développements récents sur TO8).
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
kirion
Messages : 343
Inscription : 22 sept. 2022 03:29

Re: Nouveau jeu pour Thomson : MABOOL

Message par kirion »

une idée comme ça : pourquoi est-ce que chaque personne ayant trouvé une anomalie dans le programme de Baptiste ne pourrait pas la corriger et proposer le programme modifié puisque vous avez tous fait des tests de rapidité.

même Daniel pourrait ajouter son programme couleur et à la fin on aurait un menu :

1-Ecran Monochrome
2-Ecran couleur

comme pour les jeux PC MS-DOS avec un menu où on choisissait Ecran Monochrome, Hercules, CGA, EGA, VGA...

enfin je dis ça, je dis rien :mrgreen:
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Nouveau jeu pour Thomson : MABOOL

Message par __sam__ »

En général, c'est à l'auteur de corriger son programme à partir des conseils de la communauté. Chacun ne va pas faire un clone et spoiler (dans le sens de le dépouiller de) son oeuvre sitôt qu'il découvre un bug.

Après l'auteur peut aussi très bien décider que son programme est parfait et ne mérite pas de passer plus de temps à l'optimiser à partir des bonnes pratiques générales indiquées (rappel: passer le basic en nombre entiers par défaut, mettre les data en fin de programme, réduire le nombre de sauts). D'ailleurs de tels conseils généraux sont bien plus utiles à l'ensemble de la communauté que fixer ponctuellement tel ou tel jeu (source).
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
kirion
Messages : 343
Inscription : 22 sept. 2022 03:29

Re: Nouveau jeu pour Thomson : MABOOL

Message par kirion »

Ah oui d'accord.
Asic512
Messages : 128
Inscription : 30 juin 2019 21:13

Re: Nouveau jeu pour Thomson : MABOOL

Message par Asic512 »

Le jeu a l'air très bien (au vu de vidéos) et les graphismes sont, je trouve, remarquables. C'est pour cela que j'avais voulu le tester sur TO8 mais il ne tournait pas. J'avais commencé à corriger les coquilles mais elles étaient si nombreuses et systématiques qu'elles laissaient penser à un bug dans un outil évolué qui produisait le code. J'avais simplement espéré que l'auteur puisse donne un correctif. Je précise que je ne suis pas programmeur et que je suis bien incapable de donner des leçons de programmation à quiconque.
Asic512
kirion
Messages : 343
Inscription : 22 sept. 2022 03:29

Re: Nouveau jeu pour Thomson : MABOOL

Message par kirion »

@Asic512 j'ai tout corrigé :

Lancement par touche B sur TO8

P.S. fichier final ci-joint avec toutes les modifs.
mabool-to8-rapide.fd.7z
(5.24 Kio) Téléchargé 33 fois
Dernière modification par kirion le 18 févr. 2023 17:23, modifié 2 fois.
Daniel
Messages : 17288
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Nouveau jeu pour Thomson : MABOOL

Message par Daniel »

Nous sommes tous d'accord pour dire que MABOOL est un bon jeu, original et intéressant.
Nous avons réagi négativement à cause de la programmation, complètement inadaptée aux ordinateurs 8 bits Thomson.
Ce sont des machines peu puissantes, on ne les programme pas comme les PC modernes avec des langages de haut niveau, ni avec un générateur de BASIC.
Il faut au minimum utiliser le BASIC intégré et optimiser au mieux le programme pour éviter des temps de réaction insupportables.
Rien qu'en corrigeant les maladresses que nous avons décrites le jeu deviendrait parfaitement jouable.
Daniel
L'obstacle augmente mon ardeur.
kirion
Messages : 343
Inscription : 22 sept. 2022 03:29

Re: Nouveau jeu pour Thomson : MABOOL

Message par kirion »

Quelques heures de passées pour rien :mrgreen:

j'ai effectué la plupart des changements préconisés dans ce fil:
-déplacement des DATA à la fin
-DEFINT A-Z
-modifications des IF préconisés et suppression des GOTO inutiles

Et finalement toujours aussi lent.


Lancement par touche B du TO8.

P.S. fichier final ci-joint avec toutes les modifs.
mabool-to8-rapide.fd.7z
(5.24 Kio) Téléchargé 33 fois
Dernière modification par kirion le 18 févr. 2023 17:23, modifié 3 fois.
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Nouveau jeu pour Thomson : MABOOL

Message par __sam__ »

Attention le CLEAR de la ligne 10 annule le DEFINT de la ligne 1. Si on échange les deux premières lignes, ca marche mieux, beaucoup mieux.

Quant à l'affichage du MENU de démarrage (très lent), il y a plein de trucs inutiles:
* le LOCATE et gestion X/Y car le PRINT avec un ";" gère cela lui même.
* le ",0" dans COLOR car le fond écran est déjà noir
* la présence du nom de variable dans le NEXT.

Avec cette version, l'affichage est nettement plus rapide:

Code : Tout sélectionner

1 CLEAR,,87
10 DEFINT A-Z
et

Code : Tout sélectionner

24 SCREEN,,0:COLOR 0,0:CLS:LOCATE 0,0,0
25 FORR=1TO320
26 READ A
27 IFA=0THENCOLOR4:?GR$(2);:GOTO31
28 IFA=1THENCOLOR4:?GR$(2);:GOTO31
29 IFA=2THENCOLOR7:?GR$(84);
31 NEXT
Mais on peut faire encore mieux en remplaçant les tests par des tableaux, et en réduisant le nombre de lignes.

Code : Tout sélectionner

24 SCREEN,,0:COLOR 0,0:CLS:LOCATE 0,0,0:DIMTA(2),TA$(2):TA(0)=4:TA(1)=6:TA(2)=7:TA$(0)=GR$(2):TA$(1)=GR$(2):TA$(2)=GR$(84)
25 FORR=1TO320:READ A:COLOR TA(A):?TA$(A);:NEXT
26
27 
28
29
30
31
Plus loin lors de l'affichage du tableau je propose de fusionner les lignes 70 (IG
Z0=0 THEN 73) et 71(ON Z0 GOTO):

Code : Tout sélectionner

71 ON Z0+1 GOTO 73,210,211,212,213,214,215,216,217,218,219,220,221,222,223
On trouve aussi un COLOR K,0 où le ",0" ne sert à rien (fond déjà noir) et où K est konstant ;) On aurait tout intérêt à le sortir de la boucle.

On a aussi un R qui est incrémenté de 1 et qu'il serait judicieux d'utiliser en indice de boucle FOR plutôt (plus rapide).

Enfin Z0 ne sert qu'une fois, autant utiliser S(R) à la place, ca évite de gérer une variable pour rien.

On peut aussi se passer de J0B et utiliser P à la place.

Code : Tout sélectionner

68 COLORK:FORR=0TO159:LOCATEP,Q
69 ON S(R)+1 GOTO 73,210,211,212,213,214,215,216,217,218,219,220,221,222,223
70
71
72
73 IFP=33THENQ=Q+2:P=3ELSEP=P+2
74 NEXT
75
(les lignes vides sont à effacer).
Ca fait pas mal d'optims pour un aussi petit bout de code.

Par contre il y a un bug: la ligne 200 dit GOTO 388, mais il n'y a pas de lignes après la 387 qui est la fin des DATA. Je pense que tu as cassé un truc en déplaçant les DATA.
Et si finalement c'était Baptiste qui avait eu raison de n'écouter aucun conseil en pensant que son jeu était bien comme ça ? :)
Je pense que non. Je crois même qu'on peut encore plus optimiser car les PRINT machin$+bidule$ forcent la création d'un max de chaines intermédiaires là ou PRINT machin$;bidule$ affiche la même chose, mais sans concaténer de chaines (opération couteuse).
Dernière modification par __sam__ le 16 févr. 2023 00:58, modifié 2 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
kirion
Messages : 343
Inscription : 22 sept. 2022 03:29

Re: Nouveau jeu pour Thomson : MABOOL

Message par kirion »

oui il faut remplacer :
200 GOTO 194

si tu as déjà tout modifié, tu peux peut-être publié le fichier .fd ?
ca sera plus simple plutôt que je retape toutes tes modifs demain :roll:
Répondre