[MO6][ugBasic] Creepy Carrots

Cette catégorie traite de développements récents destinés à 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

Garland
Messages : 45
Inscription : 25 oct. 2018 19:40

[MO6][ugBasic] Creepy Carrots

Message par Garland »

Nouveau jeu pour MO6, le premier jeu d'action que j'écris avec des performances en langage machine.
Il s'agit d'un clone de Manic Miner dans lequel vous devez collecter toutes les carottes et atteindre la sortie du niveau.



Image

Image

Image

Le jeu est avant tout un prétexte pour montrer la puissance actuelle d' ugBasic : graphismes en 160x200x16, échange de pages vidéo, gestion de 3 banques de RAM en plus de la mémoire principale, lecture de plusieurs touches du clavier en même temps, et même si elles ne sont pas encore fournis de fonctions pour le son il est possible d'insérer de l'ASM inline donc le son présent dans le jeu est généré entièrement avec les routines NOTEH et les notes sont passées en valeur entre le code ugBasic et l'ASM.

ugBasic de spotlessmind1975 a apporté d'énormes améliorations et actuellement il est possible de gérer jusqu'à 28 Ko de code et 3 banques de graphiques, de cette façon j'ai pu insérer jusqu'à 4 niveaux différents, une limitation toujours présente est celle de l'insertion des données série directement dans le code mais avec spotlessmind1975 nous pensions déplacer la gestion des baies vers les bancs, ce qui combiné au chargement depuis le périphérique éliminerait toute limite technique pour créer des produits plus complexes.

L’avantage d’écrire avec ugBasic en termes de rapport temps/résultat est cependant très élevé. J'ai écrit ce jeu en quelques nuits alors qu'en ASM pur cela m'aurait pris beaucoup plus de temps. Par exemple, ugBasic charge et dessine une image avec une seule commande, adapte lui-même les formats d'image et calibre très précisément la palette du MO6 directement à partir des couleurs de l'image. L'économie de main d'œuvre est telle qu'elle nous permet de créer des jeux performants en peu de temps et ouvre la voie aux programmeurs qui voudraient écrire quelque chose pour cette machine mais sont souvent découragés par la lenteur du BASIC ou les inconvénients de l'ASM.

Ici vous pouvez télécharger les sources et le .k7 :
https://github.com/cttpla/Creepy-Carrots

Démarrez le jeu en BASIC 128 mode en écrivant :

CLEAR,&H2FFF: LOADM"CASS:",,R: EXEC

Enjoy! :)
Dernière modification par Garland le 26 mars 2024 13:25, modifié 1 fois.
__sam__
Messages : 7989
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [MO6][ugBasic] Creepy Carrots

Message par __sam__ »

Impressionnant ! J'imagine que le jeu marche du coup sur d'autres plateformes, ou est-ce que l'évolution d'ugBasic n'est pas équivalente sur toutes les machines.
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
Avatar de l’utilisateur
DataPro
Messages : 2807
Inscription : 07 févr. 2011 17:03
Localisation : France - Auvergne

Re: [MO6][ugBasic] Creepy Carrots

Message par DataPro »

C'est effectivement impressionnant.
L'animation est plutôt fluide et le jeu semble agréable.
Je n'ai pas de MO6.
Recherche: cartouches Mattel Intellivision Imagic (loose)
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
Bentoc
Messages : 179
Inscription : 14 sept. 2019 13:35
Localisation : Var - France

Re: [MO6][ugBasic] Creepy Carrots

Message par Bentoc »

Excellent !
Garland
Messages : 45
Inscription : 25 oct. 2018 19:40

Re: [MO6][ugBasic] Creepy Carrots

Message par Garland »

__sam__ a écrit : 11 mars 2024 08:01 Impressionnant ! J'imagine que le jeu marche du coup sur d'autres plateformes, ou est-ce que l'évolution d'ugBasic n'est pas équivalente sur toutes les machines.
Actuellement, il est écrit en utilisant des fonctionnalités spécifiques de MO6 donc je ne pense pas qu'il puisse soudainement fonctionner sur d'autres cibles sans travail supplémentaire, mais ce n'était pas le but du projet, ici je voulais juste montrer ce qui peut être fait aujourd'hui avec ugBasic sur MO5/6 et je dirais que nous sommes déjà à un bon niveau. Quiconque n'est pas un grand expert ASM (comme moi) rêve d'un compilateur depuis des années et nous l'avons enfin, écrire en se souciant uniquement de la business logic supprime un gros blocage au développement donné que nous le faisons en réserve temps :)
Garland
Messages : 45
Inscription : 25 oct. 2018 19:40

Re: [MO6][ugBasic] Creepy Carrots

Message par Garland »

Un utilisateur a essayé le jeu sur un vrai MO6 mais il ne se charge pas. Il indique Erreur de périphérique et réinitialise la machine.
Mais ça marche sur DCMOTO... comment puis-je enquêter ?

Merci :)
Daniel
Messages : 17426
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [MO6][ugBasic] Creepy Carrots

Message par Daniel »

To exec the K7 select BASIC 128 mode then type:
CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
J'ai essayé avec dcmoto et avec les vraies machines (MO6 et PC128). CLEAR,&H2FFF retourne l'erreur "Out Of Memory" s'il y a un lecteur de disquette connecté. Il faut donc débrancher le lecteur de disquette et le charger avec une cassette. Ce n'est pas pratique.

Pour que le jeu fonctionne sur disquette ou sur carte SD il faudrait le charger plus haut en mémoire, par exemple &H3200.

pc128.png
pc128.png (752 octets) Consulté 1024 fois
Daniel
L'obstacle augmente mon ardeur.
Brochiman
Messages : 3545
Inscription : 02 juin 2019 11:26
Localisation : Angers

Re: [MO6][ugBasic] Creepy Carrots

Message par Brochiman »

@Daniel il te faudrait une extension 512K pour ton MO6😂😂😂😂
Garland
Messages : 45
Inscription : 25 oct. 2018 19:40

Re: [MO6][ugBasic] Creepy Carrots

Message par Garland »

Merci Daniel :)

Alors est-il possible de le lancer depuis une cassette si le lecteur n'est pas connecté ?

L'utilisateur reçoit une erreur Device I/O et a fait la cassette exactement comme les autres jeux qui fonctionnent pour lui, il n'a même pas de lecteur de disquette, donc je ne comprends pas vraiment pourquoi il a des problèmes de lecture.
Pièces jointes
430999993_959593445875030_4393914047419720058_n.jpg
430999993_959593445875030_4393914047419720058_n.jpg (207.8 Kio) Consulté 997 fois
Daniel
Messages : 17426
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [MO6][ugBasic] Creepy Carrots

Message par Daniel »

Il y a une erreur de syntaxe dans la commande LOADM. Il faut deux virgules avant le R.
D'autre part, en l'absence de lecteur de disquette, CASS: est inutile. EXE est inutile après un LOADM"",,R et ne sera pas exécuté.

Mais du fait de la double erreur de syntaxe, la ligne de commande est valide (par miracle). Le R en premier paramètre permet de translater le programme de R octets. Si R n'est pas initialisé il vaut zéro et le programme n'est pas translaté. Il n'y a pas de R en deuxième paramètre, donc le LOADM ne lancera pas l'exécution. Heureusement il y a une autre erreur ensuite, l'EXEC inutile. C'est lui qui va démarrer le programme.

Je donne la syntaxe correcte :

Code : Tout sélectionner

CLEAR,&H2FFF:LOADM"",,R 
La cassette n'est pas un support fiable.
Si le magnétophone lit correctement d'autres cassettes, l'enregistrement de Creepy Carrots est mauvais.
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17426
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [MO6][ugBasic] Creepy Carrots

Message par Daniel »

Après conversion au format .sd j'ai pu tester Creepy Carrots avec SDDRIVE sur les vraies machines : PC128 et MO6.
Le jeu fonctionne bien.
creepy-carrots_mo6sd.zip
(29.29 Kio) Téléchargé 11 fois
creepy-carrots.jpg
creepy-carrots.jpg (149.5 Kio) Consulté 878 fois
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [MO6][ugBasic] Creepy Carrots

Message par 6502man »

Excellent, félicitations pour ce nouveau jeu MO6 :D
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Garland
Messages : 45
Inscription : 25 oct. 2018 19:40

Re: [MO6][ugBasic] Creepy Carrots

Message par Garland »

S U P E R !!! Merci Daniel :D :D :D donc si tu veux mettre ce jeu dans la liste DCMOTO n'hésite pas :)
Daniel
Messages : 17426
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [MO6][ugBasic] Creepy Carrots

Message par Daniel »

Le jeu a été ajouté au site dcmoto : http://dcmoto.free.fr/programmes/creepy ... index.html
Merci, et félicitations pour cette réalisation !
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
adnz
Messages : 213
Inscription : 10 janv. 2010 00:07

Re: [MO6][ugBasic] Creepy Carrots

Message par adnz »

Ca fait plaisir de voir arriver des nouveaux jeux sur Thomson, Bravo :)
Répondre