Logicielsmoto.com
http://www.logicielsmoto.com/phpBB/

Outillage pour développement de jeux sur TO8
http://www.logicielsmoto.com/phpBB/viewtopic.php?f=3&t=620
Page 12 sur 40

Auteur:  fxrobin [ 26 Aoû 2021, 14:51 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Bentoc a écrit:
Au passage merci à fxrobin pour sa première contribution au github (je viens d'intégrer son premier pull request).
Il a fait les tests et les adaptations nécessaires pour que la compilation fonctionne sous linux et réglé des incompatibilités avec les dernières versions java.



De rien.

Moi je suis très impressionné par le rendu sur Sonic !!!!!

Auteur:  fxrobin [ 26 Aoû 2021, 14:54 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Samuel Devulder a écrit:
Il faudrait que TEO émule le fonctionnement de la cartouche MegaRom2. (TEO possède aussi un débuggeur sympa.)


C'est TEO que j'utilise sous Linux d'ailleurs.
En revanche, je ne suis pas (encore) très à l'aise avec son Debugger.

Auteur:  Bentoc [ 26 Aoû 2021, 15:04 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Yoann Riou a écrit:
Quand tu parles d'images compilees, tu veux dire que c'est du code assembleur qui les affiches (plutot qu'une routine generique qui lit dans les data des images pour les afficher) ? Si c'est le cas, on effet, ca doit prendre de la place mais en retour, c'est "ultra" rapide. Pour les demos que j'ai ecrit, et notament "Vector Balls" et "Space Dance", tous les sprites sont affiches direct par assembleur avec toutes les optimisations possible par rapport a chaque octets, et au passage si possible en utilisant la valeurs des octets precedents lorsqu'on peut en tirer quelque chose.


C'est exactement ça, c'est un générateur en java qui le fait tout seul (j'y ai passé quelques mois ...)

La dernière phase du générateur (une fois que le code est produit) c'est un algo "brute force" qui va permuter les registres et trouver les combinaisons les plus rapides en se basant sur le principe que tu as décrit : si un registre est déjà chargé avec la bonne valeur elle est réutilisée et on économise son chargement.

Bon on ne fait pas le test de toutes les combinaisons évidement ... mais en général ça fait gagner qq % en cycles

Auteur:  Bentoc [ 26 Aoû 2021, 15:19 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

En fonction des suites de pixels rencontrées j'utilise différents patterns.
Si je prend un bout de code au hasard en plein milieu d'une image (en sortie du générateur) on a par exemple :

Code:
     LDA #$b0
     STD -8,U
     LDA #$00
     LDX #$00dc
     PSHU D,X,Y
     LEAU -34,U

     STD -8,U
     PSHU D,X,Y
     LEAU -34,U

     STD -8,U
     LDX #$00bc
     LDY #$6888
     PSHU D,X,Y
     LEAU -34,U


(ça correspond à trois lignes d'une image)

C'est quand même pas mal ... bon a la main on peut faire mieux dans certains cas mais le but c'est le traitement en masse.
Peut être qu'en faisant une revue du code généré on pourrait améliorer le générateur.

Tu n'avais peut être pas vu au début du fil mais il y a deux générateurs, le second sauvegarde le background dans un buffer avant d'écrire en mode sprite compilé. Le code est entremêlé et tout se fait en une seule passe => gain de temps ;-)

Auteur:  Yoann Riou [ 26 Aoû 2021, 16:21 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Bentoc a écrit:
Tu n'avais peut être pas vu au début du fil mais il y a deux générateurs, le second sauvegarde le background dans un buffer avant d'écrire en mode sprite compilé. Le code est entremêlé et tout se fait en une seule passe => gain de temps ;-)


Dans Space Dance, vu que le background est static, je ne le sauvegarde mais pour chaque sprite, je le recharge directement a partir de la page ou le background est stocke. Ca evite de sauvegarder ce qu'on a deja en memoire.

Auteur:  Bentoc [ 26 Aoû 2021, 17:23 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Oui avec un fond fixe et tous les sprites qui sont rafraichis à chaque image c'est carrément la meilleur des solutions de venir réutiliser le background.

Au passage : Bravo pour votre belle collection de démo.

Auteur:  Fool-DupleX [ 07 Sep 2021, 16:26 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Citation:
Tout avoir sur une carte : c'est "chaud" d'un point de vue taille car chacune des deux "cartes son" fait déjà la taille d'un SDDRIVE ;-) et puis au niveau du coût, de la fabrication ...

J'aimerai bien aussi me fabriquer un clone de la carte de synthèse vocale, personne ne l'a fait ?


Pas ma connaissance, mais tout cela est relativement facile et il y a beaucoup de marge pour reduire les couts et ameliorer l'integration de ces cartes son.

La synthese vocale avec le MEA 8000 n'a pas grand chose dessus. Peut-etre un projet pour quand j'aurais du temps ... :violon:

Le truc avec ce MEA8000, c'est pas le hard, c'est sa programmation. Je reve d'un outil qui determine automatiquement les phonemes les plus proches d'un son digitalise pour pouvoir le rejouer (avec une qualite forcement degradee). La bande passante du MEA8000 se compte en centaines de bits, max 1-2 kbits/s, c'est tres leger.

Auteur:  Bentoc [ 07 Sep 2021, 17:20 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Ils parlent de cette technique dans une publication technique (http://c.papy.free.fr/ZX81/original/mea8000-1.pdf) :

Fichier(s) joint(s):
mea8000-1.png
mea8000-1.png [ 61.52 Kio | Vu 5575 fois ]


Le processus semble décrit dans le pdf ici :
https://patentimages.storage.googleapis.com/27/c9/ba/289fd73333b28b/NL8603163A.pdf

ça dépasse largement mon savoir mathématique et linguistique ;-)

Auteur:  Fool-DupleX [ 10 Sep 2021, 09:06 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

C'est un A, donc le brevet n'a pas été accordé ou a été retiré avant acceptation, ce qui explique sans doute le manque de traduction. Cela signifie qu'il n'apporte rien à l'état de l'art, je vais regarder les références qu'il mentionne.

Mais j'ai compris l'idée et ça correspond à ce que j'avais déjà imaginé dans les grandes lignes : analyse spectrale avec une petite transformée de Fourier et extraction des 4 fréquences principales. Ca se tente, finalement ...

Auteur:  Bentoc [ 11 Sep 2021, 12:12 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Fool-DupleX a écrit:
Citation:
Tout avoir sur une carte : c'est "chaud" d'un point de vue taille car chacune des deux "cartes son" fait déjà la taille d'un SDDRIVE ;-) et puis au niveau du coût, de la fabrication ...

J'aimerai bien aussi me fabriquer un clone de la carte de synthèse vocale, personne ne l'a fait ?


Pas ma connaissance, mais tout cela est relativement facile et il y a beaucoup de marge pour reduire les couts et ameliorer l'integration de ces cartes son.


le code vhdl de ces puces (ym2413, SN76489, ...) existe, pourquoi pas un fpga + sortie audio.
Sur MSX ce genre de chose existe (sous forme de cartouche) :
https://www.msx.org/wiki/RBSC_Carnivore2

Sur Thomson il me semble que le son n'est pas connecté au port cartouche, on resterai sur le port d'extension.
Si on intègre en plus les fonctionnalités de sddrive ... ce serait effectivement top et permettrai de développer/utiliser des extensions "virtuelles".
Bon je comprend que ça puisse ne pas plaire à tout le monde, on perd un peu en authenticité.

Le code + circuit du carnivore2 est dispo sur github :
https://github.com/RBSC/Carnivore2

Auteur:  Bentoc [ 16 Sep 2021, 22:52 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Voila ce que donne le moteur de Tilemap.
J'ai ajouté une fonction auto-scroll, dont le pas de déplacement correspond à un tile.
L'auto-scroll tient compte des limites min et max de camera pour la submap et s'arrête en butée si nécessaire.
Quand on le lance on choisi une direction, une vitesse ainsi qu'une durée.

Les submaps, les sprites ainsi que la camera ont un positionnement dans la map codé sur 16bits pour x et 16 bits pour y.
Cette position est ensuite ramenée à un systeme 8bit pour le positionnement écran des sprites et submap en fonction de la position de camera.

Pour avoir un rendu fidèle à RD, le code objet fige les contrôles et l'animation lors de l'auto scroll.

Le changement de submap est opéré de la manière suivante :
- a chaque tour de la boucle principale on vérifie si le personnage entre en collision avec une zone positionnée dans la map.
- on ne contrôle que la zone de sortie de la submap en cours (évidement)
- en cas de collision, on charge la submap suivante et on passe à la routine de détection suivante

phpBB [video]


Le code est modulaire et peut être adapté a tout type de jeu ...
J'ai encore pas mal d'idées pour les tiles et le scroll, mais je dois avancer sur d'autres sujets, j'y reviendrai plus tard.

Auteur:  Samuel Devulder [ 17 Sep 2021, 07:34 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Ca a l'air de marcher pas mal. C'est cool :sol:

Auteur:  Yoann Riou [ 17 Sep 2021, 13:46 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Samuel Devulder a écrit:
Ca a l'air de marcher pas mal. C'est cool :sol:


Ca déchire tu veux dire ! :eek:

[edit : Ca prend combien de place cette petite demo ? ]

Auteur:  fxrobin [ 17 Sep 2021, 14:48 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

Bentoc me corrigera si me trompe, mais sur disk ça prend un peu moins de 16 Ko
mais comme tout est passé à exomizer, après décompression, en RAM cela représente un peu plus de 40 Ko

Auteur:  Bentoc [ 17 Sep 2021, 15:00 ]
Sujet du message:  Re: Outillage pour développement de jeux sur TO8

merci ;-)

Pour les chiffres je vous donne ça ce soir en détail.

Page 12 sur 40 Heures au format UTC + 1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/