CPC Rulez
https://cpcrulez.fr/forum/

ASIC Powaaa !
https://cpcrulez.fr/forum/viewtopic.php?f=6&t=6141
Page 2 sur 3

Auteur :  marcel [ 28 Sep 2018, 07:50 ]
Sujet du message :  Re: ASIC Powaaa !

coucou Megachur
concernant l'intro, plusieurs points possibles d'amélioration
un "chiant", utiliser les sprites hard pour gagner du détail (par exemple le personnange en avant-plan de la forêt)
un facile, faire de la flashouille pour que le fadeout soit beaucoup moins saccadé
la flashouille se prête trèèèèèèèès bien au CPC+ car les couleurs sont proches. On n'y voit que du feu, surtout que la flashouille dure quelques frames
couleur1 / couleur1
couleur1 / couleur1
couleur1 / couleur1
couleur1 / couleur1
couleur1 / couleur2
couleur1 / couleur1
couleur1 / couleur2
couleur1 / couleur1
couleur2 / couleur2
couleur2 / couleur2
couleur2 / couleur2
couleur2 / couleur2
...

Auteur :  Megachur [ 28 Sep 2018, 17:51 ]
Sujet du message :  Re: ASIC Powaaa !

marcel a écrit :
coucou Megachur
concernant l'intro, plusieurs points possibles d'amélioration
un "chiant", utiliser les sprites hard pour gagner du détail (par exemple le personnange en avant-plan de la forêt)
un facile, faire de la flashouille pour que le fadeout soit beaucoup moins saccadé
la flashouille se prête trèèèèèèèès bien au CPC+ car les couleurs sont proches. On n'y voit que du feu, surtout que la flashouille dure quelques frames
couleur1 / couleur1
couleur1 / couleur1
couleur1 / couleur1
couleur1 / couleur1
couleur1 / couleur2
couleur1 / couleur1
couleur1 / couleur2
couleur1 / couleur1
couleur2 / couleur2
couleur2 / couleur2
couleur2 / couleur2
couleur2 / couleur2
...


coucou Marcel :

- un truc : quand tu es en Youtube, assure toi que tu es bien en qualité vidéo 1080p / HD !
--> Tu verras les détails de la vidéo ne seront plus floutés (merci google) et ce sera comme si tu étais devant un écran de + :magic: :kiss:
--> Y'a pas du tout de flashouille ici ! :sweatingbullets:
--> Tu verras qu'il y a déjà 8 sprites hard pour le personnage d'avant plan dans le marais devant la forêt ! :winner:

Le fondu de couleur est strictement identique à celui sur amiga : même vitesse !

Je suis pas un expert en 'graphisme', je m'attache juste à :
- à comprendre le fonctionnement et programmer l'ASIC pour montrer ces possibilités !
- à être le plus proche de l'original de 'Shadow of the beast'... comme l'a dit l'auteur, cf l'autre lien vers la vidéo avec un des deux auteurs du jeu original, "Shadow of the beast" a été surtout créé pour montrer les capacités de l'amiga (et pour avoir programmer dessus, je peux te dire qu'il en a dans le ventre, sans parlé de l'AGA !!!).
donc c'est une référence, cela me permet donc par rapport à cette référence, de voir ce qu'un ASIC peut faire tout simplement !!!

--> pour être complet, y'a déjà un screen en flashouille, dans l'intro qui est déjà fait comme sur l'original (dernier screen de la fin de l'intro) !
je montre pas tout non plus !
mais si un moment un graphiste rejoint le projet, je m'arrange pour l'instant à ce que les graphismes soient proches de l'original tout en étant facilement modifiables ;-) et intégrables !!!

Auteur :  marcel [ 28 Sep 2018, 17:54 ]
Sujet du message :  Re: ASIC Powaaa !

Mince, ce couillon m'avait mis une résolution pourrie par défaut, j'ai cru que c'était du mode 0 le personnage, désolé.

Auteur :  Kris [ 30 Sep 2018, 08:03 ]
Sujet du message :  Re: ASIC Powaaa !

Dommage que tu n'aies pas retouché les gfx sinon c'est propre ;)

Auteur :  Megachur [ 30 Sep 2018, 11:16 ]
Sujet du message :  Re: ASIC Powaaa !

Kris a écrit :
Dommage que tu n'aies pas retouché les gfx sinon c'est propre ;)


Comme je l'ai dit plus haut, je ne suis pas un spécialiste en gfx... j'ai fait à peine quelques retouches ;-), surtout pour quelques détails des screens d'intro (suprise ;-)) !
Si un artiste veut se joindre à moi dans cette aventure, je lui fournirai les gfxs originaux s'il veut les retoucher ! ;-)
Il n'y a pas d'urgence, pour l'instant, c'est juste un petit code pour exploiter l'ASIC...

allez une autre pour la route avec une question spéciale pour marcel : où sont les sprites sur ces deux écrans ?
indice : chercher les couleurs ou les détails ;-) supplémentaires !



Enjoy! :biere:

Auteur :  marcel [ 30 Sep 2018, 12:44 ]
Sujet du message :  Re: ASIC Powaaa !

À part les dents du monstre du deuxième écran, j'vois pas

Auteur :  Megachur [ 30 Sep 2018, 16:34 ]
Sujet du message :  Re: ASIC Powaaa !

marcel a écrit :
À part les dents du monstre du deuxième écran, j'vois pas


1/2, bravo !

--> à noter que le sprite est en résolution "mode 2" ;-) !

pour l'écran d'avant, il faut regarder le nombre de couleurs de cet écran qui est > à 16 !? facile non !?

Auteur :  Megachur [ 22 Oct 2018, 06:25 ]
Sujet du message :  Re: ASIC Powaaa !

@marcel : fin du concours !? indice -> regarde dans la trouée de l'arbre + de 16 couleurs par là ;-) !
D'ailleurs j'ai vu que sur la version ST, le programmeur à laisser cette zone vide -> arf !

bon, sinon, juste histoire de vous tenir au jus sur l'avancement :

- le truc fonctionne maintenant sur un vrai CPC+ en cartouche (Gerald C4CPC powaaa!) - je vous fait pas de vidéo ou de photo histoire de manager le suspens... mais juste en 1 mot : beautiful !
- merci WinAPE sur le bug sur l'émulation CPC+ - la zone mémoire #6800 de l'ASIC ->fin n'est pas lisible sur un vrai CPC+- cela m'a prit un peu de temps à comprendre ! Cela renvoi des octets différents en tout cas des valeurs qui y sont écrites !
- fini et cleaner/optimiser le code des transitions et de l'intro !
- rajouter le scan du keyboard !

Me reste un challenge et une grosse différence d'émulation entre WinAPE et un ASIC sur CPC+...

J'ai deux zones mémoire = écrans pendant le jeu... Cependant, j'ai une interruption qui se déclenche plus tôt de 4 lignes sur CPC+ par rapport à WinAPE (ce qui merdouille un peu le changement de couleurs à la cime de la chaine de montagne)...

Est-ce que si on est dans une interruption en cours (di) - début ligne 59 par exemple, mais qu'on demande une interruption à la ligne 60 par exemple et que l'interruption dure plusieurs lignes (exemple jusqu'à la ligne 61) et qu'on change à la fin de l'interruption la ligne d'interruption (PRI) à 65 ...

--> est-ce que l'ASIC déclenche une interruption dès la fin de celle-ci (ei) sans attendre la ligne 65 comme si l'attendait déjà celle de la ligne 60 qui a eu lieu pendant l'interruption ? En gros son registre de déclenchement d'interruption est déjà à oui même si on était en cours d'une interruption déjà !?

Je vais tenter de voir si ma théorie est bonne mais je manque toujours de temps pour ce genre de réglage car en attendant le reste n'avance pas !

bref, si c'est ça, c'est une sacré différence avec l'émulation CPC+ de WinAPE (et potentiellement d'autres émulateurs)...
Je ne peux malheureusement pas comparer avec Sugarbox qui n'arrive pas à faire fonctionner les changements de SSCR,SSA et PRI en pagaille que j'ai fait !

@Lone, si tu as améliorer ton émulation CPC+ je suis preneur ;-) !

prochaines étapes :
- réalisation de la scène à l’intérieure du puits (les graphs sont rip/prêt - le code commence ;-) )
- l'animation du sprite principale avec changement de sens du scroll (déjà programmé ça :kissed: )
- le <<beast>>ière de tous les autres personnages et leur animation
- la musique - Dans un 1er temps, je tente une conversion direct du code 68000 du player de l'intro vers du z80 (en cours) dans une premier temps et je verrai en fonction de ce qu'on peut faire avec l'ASIC et le temps machine dispo ! Ce que je comprends pour l'instant de la musique d'intro, c'est que le player joue des samples avec simple variation du volume du son... à voir par rapport à une vrai musique AY !

bref c'est pas fini, mais ça avance un peu qd même !!!

Auteur :  marcel [ 22 Oct 2018, 08:41 ]
Sujet du message :  Re: ASIC Powaaa !

Pour les interruptions en cours quand tu en as réglé d'autres, je dirai que l'interruption suivante doit être en attente et qu'elle se déclenchera peu après le EI

Faut faire gaffe avec le plein écran, les INT se déclenchent deux fois par ligne. Au début et à la fin de l'affichage des données écran. Ça se passe mieux quand on garde du border autour de l'écran

Pour la lecture de ce qui ne devrait pas se lire dans l'Asic, ça renvoie des choses selon ce qui est branché sur ton CPC+ (une bonne carte, t'auras toujours zéro en retour, sinon... :sweatingbullets: )

Offset appelle ça la haute-impédance de mémoire

Auteur :  Lone [ 22 Oct 2018, 09:31 ]
Sujet du message :  Re: ASIC Powaaa !

Megachur : As-tu un bout de code que je comprenne ce qui cloche ?

Auteur :  Megachur [ 22 Oct 2018, 19:44 ]
Sujet du message :  Re: ASIC Powaaa !

Lone a écrit :
Megachur : As-tu un bout de code que je comprenne ce qui cloche ?


En fait, je viens de retester la dernière version du code avec Sugarbox 0.30 -> et c'est tout bon, Sugarbox est bien conforme à ce que je vois sur un CPC+ :sweatingbullets: :JC_doubleup: !!!!!!!!!!!!!!!!!!!!!!!

--> trop fort :winner: :biere: !

C'est fixé maintenant et c'est bien ce que je pensais sur le fait que je demandai une interruption (PRI) pendant que j'étais déjà en interruption ! donc dès qu'on sort de la première, on se retrouve avec le déclenchement d'une interruption même si on a reprogrammer entre temps une autre ligne (PRI) plus loin !

Bravo Lone -> Sugarbox est très fidèle au comportement de l'ASIC et d'un CPC+ sur ce point !

Auteur :  Lone [ 22 Oct 2018, 20:04 ]
Sujet du message :  Re: ASIC Powaaa !

Megachur a écrit :
Lone a écrit :
Megachur : As-tu un bout de code que je comprenne ce qui cloche ?


En fait, je viens de retester la dernière version du code avec Sugarbox 0.30 -> et c'est tout bon, Sugarbox est bien conforme à ce que je vois sur un CPC+ :sweatingbullets: :JC_doubleup: !!!!!!!!!!!!!!!!!!!!!!!

--> trop fort :winner: :biere: !

C'est fixé maintenant et c'est bien ce que je pensais sur le fait que je demandai une interruption (PRI) pendant que j'étais déjà en interruption ! donc dès qu'on sort de la première, on se retrouve avec le déclenchement d'une interruption même si on a reprogrammer entre temps une autre ligne (PRI) plus loin !

Bravo Lone -> Sugarbox est très fidèle au comportement de l'ASIC et d'un CPC+ sur ce point !


Voila qui me fait plaisir :)
Je suis très impatient de voir le résultat de tout cela !

Auteur :  Megachur [ 14 Nov 2018, 20:25 ]
Sujet du message :  Re: ASIC Powaaa !

Après 1 mois de galère suite notamment à des difficultés à afficher les textures suite au scrolling bas et haut :sweatingbullets:, voici un niveau presque fini !!!
Il ne manque que la musique :winner: ou presque !!!



N'hésitez pas à me donner votre avis ! :biere:

Auteur :  hERMOL [ 15 Nov 2018, 15:50 ]
Sujet du message :  Re: ASIC Powaaa !

Excellent! tu nous ponds un jeu finalement!

Auteur :  Megachur [ 06 Jan 2019, 22:01 ]
Sujet du message :  Re: ASIC Powaaa !

Hello les amis !

:magic: Voici une nouvelle preview pour montrer l'avancement après 3 mois de dur labeur : :magic:

- gestion du score
- mise en place du moteur de sprites (reste les changements de taille de regroupement de sprites à implémenter (exemple : quand on faire un saut 'punch' on passe de 2x3 sprites à 3x2 par exemple), pour l'instant il se limite à gère le sprite de la bête et un sprite ennemi... cf ci-dessous !
- simple collision détection à la taille des sprites 16x16 pour l'instant !
- la totalité du code z80 et des datas tiens pour l'instant dans 16 ko :-), utilisation uniquement des zones &4000 et &c000 pour l'affichage, reste de 0040 à 3fff de libre (pour la musique par exemple :-)), bref cela marche impec sur GX 4000 !!!

Plusieurs points sont en réflexion, n'hésitez pas à me donner votre aide ou avis :

les 16 sprites HARD se répartissent pour l'instant comme cela en restant au plus proche de l'original Amiga :magic: :
- 1 pour le HearBeat
- 2 pour le score (avec des rasters dedans ;-))
- 1 pour le point de la bête -> pas encore utilisé !
- encore 6 pour la bête
reste 'que' 6 pour les ennemis !

conclusion, pour l'instant dans cette preview, je me suis donc limité à mettre seulement les sprites ennemis de taille 6 x sprites max !!!
les sprites sont limités à 6 couleurs (les 9 autres étant prises par la sprite principal)
cela explique que pour quelques sprites qui sont avec 7 couleurs, qu'une couleur clignote en blanc quand le perso est touché !

en réflexion, n'afficher que le score quand on est touché quand la bête est transparente -> récupérer ces deux sprites pour les ennemis !?

pour l'instant, j'utilise quasiment toutes une cartouche de 256kb avec les screens de l'intro, de transition, du menu et les sprites du niveau de la plaine ! les screens sont compressés avec exomizer mais pas de compression ou de delta pour les sprites pour l'instant !
si on rajoute la musique digit (n'hésitez pas à aider :biere: ) , cela risque de faire plusieurs cartouches au total !!!

je trouve dommage qu'il n'est pas codé dans l'ASIC la possibilité d'avoir simplement une retournement de sprite en utilisant les bits de poid fort du sprite :

0f -> sprite droite
f0 -> sprite gauche

juste en modifiant les bits poids fort du Z cela aurait été au top et aurait économisé simplement de l'espace et du temps machine de rafraîchissement pour les sprites HARD !!!
en hardware, cela aurait été un 'simple shift' à implémenter, bizarre qu'il ne l'ait pas fait !?! ou alors c'est bien caché !?

car cela nous fait stocker deux fois plus de données de faire les sprites en version 'droite' puis idem en version 'gauche' !

concernant les zones de changement de niveau (cf SPRITE 'IN') , je ne peux pas les afficher seulement en sprites (trop grand), avec le multi-scroll c'est très compliqué à afficher... En gros, soit je stop le scrolling et affiche l'entrée dessus les gfx, et on se déplace pour rentrer (ou pas) dans le puit, l'arbre ou le chateau !
soit on garde le scroll et j'affiche cela sur les montagnes mais cela limite la hauteur et en plus c'est 'horrible' à coder avec les scrolls !
pour voir ce que donnerait la seconde solution : cf youtube - vidéo shadow of the beast pour la master system - https://www.youtube.com/watch?v=2KmyfWn2SO8

je penche pour la première solution !?! ... ...

j'attends vos réactions, avis, aides et encouragements !!!

Ah si, sinon, @Thomas, dans Sugarbox 0.30 quand on joue au joystick si on fait rapidement droite/gauche on a les deux infos claviers qui arrivent en même temps et sur la même frame ce qui est impossible pour moi techniquement sur un cpc+ avec un joystick db9 (testé sur une gx4000) ! pas de soucis avec WinAPE...

la bête se balade sur les vastes plaines :


Page 2 sur 3 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/