Sgdk - Sega Megadrive / Genesis Development Kit
+20
pckid
Orion_
Zarnal
IK+
drludos
Hpman
fourchette
vingazole
fanoplusplus64K
GliX
Igor
troudki
TotOOntHeMooN
ichigobankai
upsilandre
Stef
F.L
uran
Tryphon
Monos
24 participants
Page 11 sur 18
Page 11 sur 18 • 1 ... 7 ... 10, 11, 12 ... 14 ... 18
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Non.
/ c'est la division entière, ça n'arrondit pas à l'entier le plus proche mais à l'entier inférieur.
2O7/16 = 12.
/ c'est la division entière, ça n'arrondit pas à l'entier le plus proche mais à l'entier inférieur.
2O7/16 = 12.
Tryphon- Docteur *
- Nombre de messages : 26166
Date d'inscription : 23/07/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Ah oui en effet tu as raison, le problème c'est que j'obtiens 208 et non 207 quand je descend en bas. Forcément ça fausse tout. Cela doit être un problème de ma marge
Donc du coup, avec ce calcul, il m'est possible de connaître la position en tile du joueur et donc de la comparer avec une table contenant la position de chaque tile de la carte.
C'est vraiment efficace.
Donc du coup, avec ce calcul, il m'est possible de connaître la position en tile du joueur et donc de la comparer avec une table contenant la position de chaque tile de la carte.
C'est vraiment efficace.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
quand je descend en bas
dsl, c'était ma minute con ^^
Re: Sgdk - Sega Megadrive / Genesis Development Kit
ichigobankai a écrit:quand je descend en bas
dsl, c'était ma minute con ^^
Ma nana me fait systématiquement la remarque.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Je pense qu'on l'a tous faite celle là .
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Voilà ça marche super bien ! Merci à tous, je vous aurais bien payer un verre, mais personne n'est du coin !
Pour le moment je test uniquement 10 tiles histoire de voir si ça fonctionne.
Il faut aussi que j'ajuste la position du vaisseau pour que se soit plus précis.
Bon, j'ai pas réussi à trouver. Il faut que le vaisseau soit vraiment sur la tile sinon la collision ne se fait pas.
La solution que je vois dans l'immédiat, serait de déterminer la collision en fonction de la position en tile et en coordonnées x y du vaisseau.
Par exemple, si le vaisseau est la tile 256, si aucune collision, est-ce qu'une tile aux alentours est un obstacle, si oui, quelle est la position du joueur en XY et quel type d’obstacle s’agit-il ?
Donc si le joueur est sur la tile 256, je vérifie sa position Y afin de savoir s'il touche la tile 1 et dans le cas positif, boum on le fait exploser !
Mon raisonnement est bon?
Pour le moment je test uniquement 10 tiles histoire de voir si ça fonctionne.
Il faut aussi que j'ajuste la position du vaisseau pour que se soit plus précis.
Bon, j'ai pas réussi à trouver. Il faut que le vaisseau soit vraiment sur la tile sinon la collision ne se fait pas.
La solution que je vois dans l'immédiat, serait de déterminer la collision en fonction de la position en tile et en coordonnées x y du vaisseau.
Par exemple, si le vaisseau est la tile 256, si aucune collision, est-ce qu'une tile aux alentours est un obstacle, si oui, quelle est la position du joueur en XY et quel type d’obstacle s’agit-il ?
Donc si le joueur est sur la tile 256, je vérifie sa position Y afin de savoir s'il touche la tile 1 et dans le cas positif, boum on le fait exploser !
Mon raisonnement est bon?
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
pas compliqué
x-1 ou x+1 pour le tile précédent ou suivant,
y-largeur_screen ou y+largeur_screen pour celui au dessous ou en dessous.
x-1 ou x+1 pour le tile précédent ou suivant,
y-largeur_screen ou y+largeur_screen pour celui au dessous ou en dessous.
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Heureusement que gcc remplace ce genre de multiplications/divisions par des décallages !
TotOOntHeMooN- Docteur agrégé **
- Nombre de messages : 18147
Age : 54
Localisation : Terre I
Date d'inscription : 18/04/2013
Re: Sgdk - Sega Megadrive / Genesis Development Kit
TotOOntHeMooN a écrit:Heureusement que gcc remplace ce genre de multiplications/divisions par des décallages !
Perso j'ai pas confiance et je mets directement des décalages
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Moi aussi je préfère avec les décalages >> et << mais de toute façon le compilo va optimiser ca à sa sauce derrière (selon ce qu'il y a comme registres de dispo etc).
Re: Sgdk - Sega Megadrive / Genesis Development Kit
A une autre époque (il y a 15/20 ans ? ), quand je faisais des tests de moteurs graphiques sur PC, mette les décallages apportait un gain signifif sur les fps.
TotOOntHeMooN- Docteur agrégé **
- Nombre de messages : 18147
Age : 54
Localisation : Terre I
Date d'inscription : 18/04/2013
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Il y a possibilité d'avoir plus de précision lors de la collision sans que cela soit gourmand en ressource ?
Le problème c'est que la vaisseau fait 2 tiles de large et forcément ça tombe jamais pile sur la case.
Forcément, je test en comptant deux tiles vers la droite, la collision se fait quand le vaisseau rentre à moitié, hors je voudrais que la collision survienne un peu avant.
Après je sais pas si c'est important dans un shoot, car de toute façon on a pas vraiment le temps de voir à partir de quel moment le vaisseau a explosé.
D'ailleurs on constate le même problème dans Thunder Force III
Le problème c'est que la vaisseau fait 2 tiles de large et forcément ça tombe jamais pile sur la case.
Forcément, je test en comptant deux tiles vers la droite, la collision se fait quand le vaisseau rentre à moitié, hors je voudrais que la collision survienne un peu avant.
Après je sais pas si c'est important dans un shoot, car de toute façon on a pas vraiment le temps de voir à partir de quel moment le vaisseau a explosé.
D'ailleurs on constate le même problème dans Thunder Force III
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Si, réduire ta grille de collision, disons du 8x8 au lieu de 16x16, tu gagneras en précision.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
De plus, en général, on teste pas le centre du sprite, mais quelques points judicieusement placés (genre devant, derrière, haut et bas) (d'ailleurs souvent on est permissif : on prend les points à l'intérieur du sprite).
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Oui, selon la direction du sprite, on définit des Offset exprès ...
Purée, il faudrait écrire un recueil ou chacun donnerait ses petits tuyaux.
Purée, il faudrait écrire un recueil ou chacun donnerait ses petits tuyaux.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
J'ai essayé de mettre en place un offset, mais du coup ça fausse la grille. J'ai pensé à diviser par 8 plutôt que 16. Je vais creuser un peu.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Moi j'utiliserai ce que t'a dit tryphon, 4 points (1 pour chaque direction) ,mais franchement ta première détection est qd même bonne, si c'est trop précis, tu risques de rendre la jouabilité frustrante, car le joueur va être concentré sur l'évitement des tirs et des sprites ennemis,alors si en plus la détection des collisions avec le décors est trop précise, ça risque vite de saouler,surtout si tu prévois des passages étroits .
N'oublies pas que c'est un shoot, pas un plateforme.
N'oublies pas que c'est un shoot, pas un plateforme.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Parfaitement d'accord @Touko ! C'est juste que je dois créer plusieurs offset (left, right, top, bottom) et de déterminer si collision il y en a en fonction des tiles justement pour ne pas frustrer le joueur.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Oui et tu n'auras juste à modifier tes points pour fignoler le niveau de détection, plus ou moins précis en fonction de ce que tu veux faire .shingosama a écrit:Parfaitement d'accord @Touko ! C'est juste que je dois créer plusieurs offset (left, right, top, bottom) et de déterminer si collision il y en a en fonction des tiles justement pour ne pas frustrer le joueur.
Après rien ne vaut des tests fait par des joueurs,et rien qu'ici tu as bon nombre d'amateurs de shoots
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
N'oublie pas que, comme a dit Vetea, tu n'as besoin de tester que les points dans la direction de déplacement. En particulier si le vaisseau ne bouge pas, tu ne testes rien.
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Enfin si t'as un scrolling forcé (cad comme ± tous les shoots) là tu dois tester tout le temps... sauf si ton niveau/zone n'a aucune collision vis-à-vis du décor (genre espace, ciel)
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Par déplacement, j'entends "en coordonnées carte" (et même, exprimée en tiles). Quand tu te deplaces pas, tu testes toutes les 8 frames (en cas de scroll à 1ppf), c'est pas une super optimisation mais c'est toujours ça (au prix de 2 mots en RAM)
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Faudrait que je test ce que ça donne de tester par 8 frames.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
ah oui en skippant les frames inutiles, ok je comprends mieux
Avant d'optimiser, laissons déjà Shingo mettre au point son algo.
Avant d'optimiser, laissons déjà Shingo mettre au point son algo.
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Oui se serait bien que se soit au point avant d'optimiser, j'ai tout de même essayé en testant à chaque 8 frames, je trouve que c'est mieux, du moins, moins trivial.
Je ne sais pas si cela est utile, mais avant de test chaque possibilité après les 8 frames, j'ai par exemple indiqué que si la dernière position en tile est la même que la précédente testé, bah de rien faire ^^
Je ne sais pas si cela est utile, mais avant de test chaque possibilité après les 8 frames, j'ai par exemple indiqué que si la dernière position en tile est la même que la précédente testé, bah de rien faire ^^
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
SGDK c'est pour les vrais hommes qui codent !!!
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Les "Vrais" codent en ASM.
Les hommes boivent des bières et aiment les gros seins.
=> Les hommes qui codent en ASM en buvant des bières et qui aiment aussi les gros seins sont vrais.
Après tu as aussi ceux qui font des séries de 100kgs au couché, qui codent en ASM en buvanr des bières tout en aimant les gros seins ET maitrisant le pouvoir obscure de la VBlank, mais ceux là jouent dans les Marvel.
Les hommes boivent des bières et aiment les gros seins.
=> Les hommes qui codent en ASM en buvant des bières et qui aiment aussi les gros seins sont vrais.
Après tu as aussi ceux qui font des séries de 100kgs au couché, qui codent en ASM en buvanr des bières tout en aimant les gros seins ET maitrisant le pouvoir obscure de la VBlank, mais ceux là jouent dans les Marvel.
Invité- Invité
TotOOntHeMooN- Docteur agrégé **
- Nombre de messages : 18147
Age : 54
Localisation : Terre I
Date d'inscription : 18/04/2013
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Nah, le vblank n'a rien de sorcier, je t'assure .StudioVetea a écrit:maitrisant le pouvoir obscure de la VBlank, mais ceux là jouent dans les Marvel.
Tu pensais d'ailleurs la même chose pour les pointeurs
il suffit juste de se sortir de la tête qu'un SDK fait tout,et le fait forcement bien.
Invité- Invité
Page 11 sur 18 • 1 ... 7 ... 10, 11, 12 ... 14 ... 18
Sujets similaires
» Sgdk - Sega Megadrive / Genesis Development Kit
» SGDK scrolling ... (encore) - (MEGADRIVE/GENESIS)
» Sgdk - Sega Megadrive / Sprite
» BIERE PONG MegaDrive SGDK
» Lot de jeux sega megadrive / genesis
» SGDK scrolling ... (encore) - (MEGADRIVE/GENESIS)
» Sgdk - Sega Megadrive / Sprite
» BIERE PONG MegaDrive SGDK
» Lot de jeux sega megadrive / genesis
Page 11 sur 18
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum