Wing War pour Intellivision
+5
drfloyd
Putois Blagueur
Matari
crapahute
Vincehood
9 participants
Page 3 sur 4
Page 3 sur 4 • 1, 2, 3, 4
Re: Wing War pour Intellivision
Oui c’est bien ça pour la détection hardware
YannAros- Patient incurable
- Nombre de messages : 1487
Date d'inscription : 24/09/2020
Re: Wing War pour Intellivision
Vincehood a écrit:Oui j'avais vu cette version là.
C'est quelle resolution le Ti99?
Le sprite ressemble à un bébé dragon :)
la même que Colecovision :256x192 / 16 couleurs (avec contraintes)
_______________________________________________________
Re: Wing War pour Intellivision
Tu comptes reproduire les nivaux à l'identique ou alors te lacher ?
_______________________________________________________
Re: Wing War pour Intellivision
Et si tu commençais par une version à l’identique et puis plus tard une version améliorée ?
Avec une zone d’exploration étendue et un scrolling au lieu d’écrans fixes. Avec 35 tiles pour toute la grotte il te reste assez de memoire pour les sprites et tu pourras encore ajouter des petits effets.
Avec une zone d’exploration étendue et un scrolling au lieu d’écrans fixes. Avec 35 tiles pour toute la grotte il te reste assez de memoire pour les sprites et tu pourras encore ajouter des petits effets.
YannAros- Patient incurable
- Nombre de messages : 1487
Age : 50
Localisation : Pas assez loin
Date d'inscription : 24/09/2020
Re: Wing War pour Intellivision
Oui, je vais essayer de faire qqch proche de l'original pour commencer.
C'est vrai que l'idée du scrolling et une résolution des salles correspondant à la version Coleco me botte bien. Mais ca implique de refaire toutes les salles...
Ca serait sympa aussi de pouvoir choisir le dragon (version Coleco, Ti99, Atari 800,...)
Le plus gros risque dans tout ca, c'est le manque de temps et la perte de motivation.
Le nombre de tiles utilisé jusqu'à présent laisse effectivement une bonne marge de manoeuvre. L'idée était initialement d'identifier les tiles communes pour les salles sous-terraines. Je pense definir un autre ensemble de tiles pour le monde extérieur
C'est vrai que l'idée du scrolling et une résolution des salles correspondant à la version Coleco me botte bien. Mais ca implique de refaire toutes les salles...
Ca serait sympa aussi de pouvoir choisir le dragon (version Coleco, Ti99, Atari 800,...)
Le plus gros risque dans tout ca, c'est le manque de temps et la perte de motivation.
Le nombre de tiles utilisé jusqu'à présent laisse effectivement une bonne marge de manoeuvre. L'idée était initialement d'identifier les tiles communes pour les salles sous-terraines. Je pense definir un autre ensemble de tiles pour le monde extérieur
Re: Wing War pour Intellivision
je ne sais pas comment fonctionne le scrolling en intybasic, mais je suppose que c'est se compliquer grandement la tache ? (ou pas ?)
_______________________________________________________
Re: Wing War pour Intellivision
Super simple en fait!
Une fois qu’on a compris les 2-3 subtilités du truc sur l’affichage des sprites c’est enfantin et ça se fait en quelques lignes de code.
Un exemple est dans la distribution intysdk.
Une fois qu’on a compris les 2-3 subtilités du truc sur l’affichage des sprites c’est enfantin et ça se fait en quelques lignes de code.
Un exemple est dans la distribution intysdk.
YannAros- Patient incurable
- Nombre de messages : 1487
Age : 50
Localisation : Pas assez loin
Date d'inscription : 24/09/2020
Re: Wing War pour Intellivision
ca ne bouffe pas de la memoire par rapport a des ecrans fixes ?
_______________________________________________________
Re: Wing War pour Intellivision
si je me réfère à la doc de l'intybasic :
- 3 variables 8 bits
- 20 variables 16 bits
soit 43 octets!
Sinon, il faut aussi masquer une ligne et/ou une colonne de bloc pour éviter de voir les bloc se rafraichir, c'est à dire qu'on perd 8 pixels en hauteur et 8 pixels en largeur pour un scrolling multidirectionnel.
- 3 variables 8 bits
- 20 variables 16 bits
soit 43 octets!
Sinon, il faut aussi masquer une ligne et/ou une colonne de bloc pour éviter de voir les bloc se rafraichir, c'est à dire qu'on perd 8 pixels en hauteur et 8 pixels en largeur pour un scrolling multidirectionnel.
YannAros- Patient incurable
- Nombre de messages : 1487
Age : 50
Localisation : Pas assez loin
Date d'inscription : 24/09/2020
Re: Wing War pour Intellivision
A Vince de décider !
_______________________________________________________
Re: Wing War pour Intellivision
Je me suis cassé la tête une bonne partie de l'après midi sur la collision logicielle (detection du type de tile sous le sprite) donc les histoires de scrolling multi-directionnel...
Mais bon je viens de faire une percée concernant les collisions et je devrais m'en sortir!
Pour le scrolling horizontal je sais deja faire. Par contre, je n'ai pas encore essayé le scrolling vertical (et donc pas les deux en même temps). Pour l'horizontal, il faut organiser ses écrans en lignes verticales. Donc j'imagine que c'est le contraire pour le scrolling vertical. Et qu'il faut une organisation verticale et horizontale des écrans pour scroller horizontalement et verticalement?
Mais bon je viens de faire une percée concernant les collisions et je devrais m'en sortir!
Pour le scrolling horizontal je sais deja faire. Par contre, je n'ai pas encore essayé le scrolling vertical (et donc pas les deux en même temps). Pour l'horizontal, il faut organiser ses écrans en lignes verticales. Donc j'imagine que c'est le contraire pour le scrolling vertical. Et qu'il faut une organisation verticale et horizontale des écrans pour scroller horizontalement et verticalement?
Re: Wing War pour Intellivision
Hey, je sais pas si c'est une bonne méthode mais voici ma façon de faire:
Je prends les coordonnées x et y d'un point et je les mets dans deux variables: point_x et point_y. Ensuite, je définis sur quelle "case" de l'écran je suis:
Puis, je fais un peek mystérieux dont la formule change selon le mode d'affichage:
Pour le mode FG/BG:
Pour le mode Stack:
En soustrayant 256 à #Mcard, ça devrait donner le numéro de la tile en GRAM (si tu utilises pas les graphismes de la GROM), soit un nombre compris entre 0 et 63.
A partir de ça, on peut gérer ses collisions comme on veut, si je me suis pas planté quelque part.
Je prends les coordonnées x et y d'un point et je les mets dans deux variables: point_x et point_y. Ensuite, je définis sur quelle "case" de l'écran je suis:
- Code:
case_id = point_y/8*20 + point_x/8
Puis, je fais un peek mystérieux dont la formule change selon le mode d'affichage:
Pour le mode FG/BG:
- Code:
#Mcard = (peek($200 + case_id) AND $09F8)/8
Pour le mode Stack:
- Code:
#Mcard = (peek($200 + case_id) AND $FF8)/8
En soustrayant 256 à #Mcard, ça devrait donner le numéro de la tile en GRAM (si tu utilises pas les graphismes de la GROM), soit un nombre compris entre 0 et 63.
A partir de ça, on peut gérer ses collisions comme on veut, si je me suis pas planté quelque part.
Invité- Invité
Re: Wing War pour Intellivision
Dans les dernières versions d’Intybasic il existe un tableau directement accessible #BACKTAB(case) pas besoin de peek.
Tu dois pouvoir utiliser le même masque pour voir le numéro de la tile en GRAM si tu n’utilise que la GRAM.
Il y a une page Wiki quelque part qui donne le contenu des registres du STIC.
Tu dois pouvoir utiliser le même masque pour voir le numéro de la tile en GRAM si tu n’utilise que la GRAM.
Il y a une page Wiki quelque part qui donne le contenu des registres du STIC.
YannAros- Patient incurable
- Nombre de messages : 1487
Age : 50
Localisation : Pas assez loin
Date d'inscription : 24/09/2020
Re: Wing War pour Intellivision
Merci pour tous les conseils!
Je fais qqch de similaire (sauf que j'utilise des coordonnées fractionnelles - multipliées par 256 - donc je dois tout diviser par 256):
Par contre, pour la detection de collision, je vais essayer d'utiliser une méthode qui consiste à encoder le type de tile basé sur 2 bits qui ne sont pas utilisés.
Par exemple, imaginons des rangées de tile de ciel bleu:
Je souhaite que la rangée du haut soit infranchissable. Il est possible d'utiliser le bit 14 & 15 des tiles sans en affecter la representation. Du coup, je définis l'écran comme cela:
($8200 = $0200 + 2 * $4000*)
et ensuite je teste de cette manière:
Avec cette méthode, il est possible de différencier 4 types de tiles "de manière invisible" (0 * $4000, 1 * $4000, 2 * $4000, 3 * $4000)
Je n'ai rien inventé, j'ai trouvé cette méthode en cherchant des infos sur Atariage et ai posé des questions supplémentaires, la discussion est ici:
https://atariage.com/forums/topic/319223-software-collision-using-card-types/
Affaire à suivre. Je vais intégrer les niveaux de cavernes et tester ca plus en détail
Je fais qqch de similaire (sauf que j'utilise des coordonnées fractionnelles - multipliées par 256 - donc je dois tout diviser par 256):
- Code:
#backtab_addr = BACKTAB_ADDR + (((#x/256 + 4) / 8 ) + (((#y/256) / 8 ) * 20))
#card = (PEEK(#backtab_addr))
Par contre, pour la detection de collision, je vais essayer d'utiliser une méthode qui consiste à encoder le type de tile basé sur 2 bits qui ne sont pas utilisés.
Par exemple, imaginons des rangées de tile de ciel bleu:
- Code:
screen1_cards:
DATA $0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200
DATA $0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200
...
Je souhaite que la rangée du haut soit infranchissable. Il est possible d'utiliser le bit 14 & 15 des tiles sans en affecter la representation. Du coup, je définis l'écran comme cela:
- Code:
screen1_cards:
DATA $8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200,$8200
DATA $0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200,$0200
($8200 = $0200 + 2 * $4000*)
et ensuite je teste de cette manière:
- Code:
IF ((#card AND $C000) = (2 * $4000)) THEN collision = 1
Avec cette méthode, il est possible de différencier 4 types de tiles "de manière invisible" (0 * $4000, 1 * $4000, 2 * $4000, 3 * $4000)
Je n'ai rien inventé, j'ai trouvé cette méthode en cherchant des infos sur Atariage et ai posé des questions supplémentaires, la discussion est ici:
https://atariage.com/forums/topic/319223-software-collision-using-card-types/
Affaire à suivre. Je vais intégrer les niveaux de cavernes et tester ca plus en détail
Re: Wing War pour Intellivision
ceci fait bien comprendre aux débutants en basic tentés par cet Inty basic que si ce basic est accessible à tous, pour faire des choses sexy il faut vraiment maitriser.
_______________________________________________________
Re: Wing War pour Intellivision
Voilà une petite video de la première visite de la grotte :)
Il reste beaucoup de choses à faire mais ca progresse un peu.
Il reste beaucoup de choses à faire mais ca progresse un peu.
Re: Wing War pour Intellivision
Très chouette!
Le changement d'écran est très rapide ce qui permet de ne pas stopper l'action
Je trouve le dragon un peu gros par rapport aux décors, mais je ne connais pas le jeu original.
Le changement d'écran est très rapide ce qui permet de ne pas stopper l'action
Je trouve le dragon un peu gros par rapport aux décors, mais je ne connais pas le jeu original.
Dernière édition par YannAros le Lun 12 Avr 2021 - 11:56, édité 1 fois
YannAros- Patient incurable
- Nombre de messages : 1487
Age : 50
Localisation : Pas assez loin
Date d'inscription : 24/09/2020
Re: Wing War pour Intellivision
Merci!
oui le dragon est un peu trop gros.
J'ai gardé la taille et le niveau de detail de la version Coleco alors que les paysages sont en resolution Intellivision.
Ca fait partie des nombreuses choses à optimiser/ retravailler
oui le dragon est un peu trop gros.
J'ai gardé la taille et le niveau de detail de la version Coleco alors que les paysages sont en resolution Intellivision.
Ca fait partie des nombreuses choses à optimiser/ retravailler
Re: Wing War pour Intellivision
Vincehood a écrit:oui uniquementdrfloyd a écrit:le doublement c'est donc vertical ?
Mon dragon utilise 8 GRAMs (4 en horizontal sur 2 en vertical). Je l'ai organisé en 4 sprites DOUBLEY
Vous parlez bien de doubler/étirer les sprites ?
Dans l'intro.bas ça indique qu'on peut les doubler 1x en largeur et jusqu'à 8x en hauteur (et mixer les tailles/effets). On peut donc avoir et utiliser des sprites de 16x64 ?
Re: Wing War pour Intellivision
Oui tu peux avoir des sprites énormes, mais la résolution restera d'au max 8x16 pixels.
Tu auras des doublement horizontaux (ZOOMX2) et verticaux (ZOOMY2/Y4/Y8) possible.
En Y par défaut les sprites ont une résolution 2 fois plus importantes que le fond (160x192 pixels au lieu de 160x96 pour le fond).
Donc un sprite occupera au max:
- 8x2 = 16 pixels en X
- 16x8/2 = 64 pixels en Y
Mais il sera très "blocky"
Ce qui est interessant, c'est que tu peux faire des couleurs avec des sprites étirés et des détails avec des sprites haute résolution :
Ici j'ai 1 sprite gris (8x8) pour la couleur, et deux sprites noirs (8x16) pour les détails:
SPRITE 0, X + VISIBLE, Y - offset_y + ZOOMY2 + DOUBLEY , SPR10 + SPR_BLACK
SPRITE 1, X+8 + VISIBLE, Y - offset_y + ZOOMY2 + DOUBLEY + FLIPX , SPR10 + SPR_BLACK
SPRITE 2, X + VISIBLE + ZOOMX2, Y - offset_y + ZOOMY4 , SPR12 + SPR_GREY
Il y a aussi 2 sprites rouges pour les missiles détachable...
SPRITE 3, Xb1 + VISIBLE, Yb1 - offset_y + ZOOMY2 , SPR13 + SPR_RED
SPRITE 4, Xb2 + VISIBLE, Yb2 - offset_y + ZOOMY2 , SPR13 + SPR_RED
Tu auras des doublement horizontaux (ZOOMX2) et verticaux (ZOOMY2/Y4/Y8) possible.
En Y par défaut les sprites ont une résolution 2 fois plus importantes que le fond (160x192 pixels au lieu de 160x96 pour le fond).
Donc un sprite occupera au max:
- 8x2 = 16 pixels en X
- 16x8/2 = 64 pixels en Y
Mais il sera très "blocky"
Ce qui est interessant, c'est que tu peux faire des couleurs avec des sprites étirés et des détails avec des sprites haute résolution :
Ici j'ai 1 sprite gris (8x8) pour la couleur, et deux sprites noirs (8x16) pour les détails:
SPRITE 0, X + VISIBLE, Y - offset_y + ZOOMY2 + DOUBLEY , SPR10 + SPR_BLACK
SPRITE 1, X+8 + VISIBLE, Y - offset_y + ZOOMY2 + DOUBLEY + FLIPX , SPR10 + SPR_BLACK
SPRITE 2, X + VISIBLE + ZOOMX2, Y - offset_y + ZOOMY4 , SPR12 + SPR_GREY
Il y a aussi 2 sprites rouges pour les missiles détachable...
SPRITE 3, Xb1 + VISIBLE, Yb1 - offset_y + ZOOMY2 , SPR13 + SPR_RED
SPRITE 4, Xb2 + VISIBLE, Yb2 - offset_y + ZOOMY2 , SPR13 + SPR_RED
YannAros- Patient incurable
- Nombre de messages : 1487
Age : 50
Localisation : Pas assez loin
Date d'inscription : 24/09/2020
Re: Wing War pour Intellivision
Ca donne envie de s'y mettre
Me reste plus qu'à trouver une LTO... c'est pas gagné
Me reste plus qu'à trouver une LTO... c'est pas gagné
Re: Wing War pour Intellivision
Pour la LTO c'est pas gagné pour en avoir une de suite, il faut attendre le prochain batch.
Il y en a une de temps en temps sur ebay mais à des tarifs hors de propos.
Mais sinon pour développer, la LTO n'est que le dernière étape du test.
Pour tout le reste avec le SDK d'IntyBasic tu restes sur PC, de mon coté je ne passe sur la console réelle que très rarement l'émulateur intégré au SDK est très fidèle (attention tout de même, par défaut il est en NTSC, du coup les jeux sont plus rapide que sur une console PAL, mais on a aussi moins de temps CPU pour chaque image...)
Il y en a une de temps en temps sur ebay mais à des tarifs hors de propos.
Mais sinon pour développer, la LTO n'est que le dernière étape du test.
Pour tout le reste avec le SDK d'IntyBasic tu restes sur PC, de mon coté je ne passe sur la console réelle que très rarement l'émulateur intégré au SDK est très fidèle (attention tout de même, par défaut il est en NTSC, du coup les jeux sont plus rapide que sur une console PAL, mais on a aussi moins de temps CPU pour chaque image...)
YannAros- Patient incurable
- Nombre de messages : 1487
Age : 50
Localisation : Pas assez loin
Date d'inscription : 24/09/2020
Re: Wing War pour Intellivision
Vincehood a écrit:Voilà une petite video de la première visite de la grotte :)
Il reste beaucoup de choses à faire mais ca progresse un peu.
Superbe.
très fidèle au jeu original !!!!!!! Tu es obligé d'aller au bout désormais !
_______________________________________________________
Re: Wing War pour Intellivision
Vincehood a écrit:Voilà une petite video de la première visite de la grotte :)
Il reste beaucoup de choses à faire mais ca progresse un peu.
Vincehood: une mise à jour pour ceci?
(hope I got it right :-)
cmadruga- Patient en incubation
- Nombre de messages : 49
Age : 50
Localisation : USA
Date d'inscription : 07/06/2021
Re: Wing War pour Intellivision
cmadruga a écrit:Vincehood a écrit:Voilà une petite video de la première visite de la grotte :)
Il reste beaucoup de choses à faire mais ca progresse un peu.
Vincehood: une mise à jour pour ceci?
(hope I got it right :-)
Pas beaucoup de progrès ces derniers temps, j'ai plein de mauvaises excuses
J'ai intégré quelques salles de plus dans les grottes:
Re: Wing War pour Intellivision
Cool je me demandais ce qui ce passait ça fait un moment qu’on avait pas eu de news
YannAros- Patient incurable
- Nombre de messages : 1487
Age : 50
Localisation : Pas assez loin
Date d'inscription : 24/09/2020
Page 3 sur 4 • 1, 2, 3, 4
Sujets similaires
» [estim] jeux PC: star wars X-wing Vs tie fighters et wing commanders 4
» [VDS] jeux PC: star wars X-wing Vs tie fighters et wing commanders 4
» A la recherche pour intellivision
» Nouvelles LTO Flash pour intellivision
» [VDS] Wizard of Wor pour Intellivision homebrew
» [VDS] jeux PC: star wars X-wing Vs tie fighters et wing commanders 4
» A la recherche pour intellivision
» Nouvelles LTO Flash pour intellivision
» [VDS] Wizard of Wor pour Intellivision homebrew
Page 3 sur 4
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum