GAMOPAT
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Explications(ENG) comment le moteur 3D de toy story MD a été codé

+3
Tryphon
tetsuro
philip
7 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Invité Sam 16 Sep 2017 - 17:08

Bonjour une video ,sur comment le moteur 3D(partie fps) de toy story sur MD a été codé .

Intéressante,il explique la technique qui a été utilisé pour le jeu .



Dernière édition par TOUKO le Dim 17 Sep 2017 - 8:10, édité 2 fois
avatar
Invité
Invité


Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par philip Sam 16 Sep 2017 - 22:45

Merci pour l'info ! :)
philip
philip
Docteur *
Docteur *

Masculin Nombre de messages : 2079
Age : 53
Localisation : 31350
Date d'inscription : 10/04/2011

http://philip-md.blogspot.fr/

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par tetsuro Dim 17 Sep 2017 - 0:06

Merci pour le partage vieux ! :)
tetsuro
tetsuro
Patient contaminé

Masculin Nombre de messages : 593
Age : 47
Localisation : Carcassonne
Date d'inscription : 27/12/2015

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Invité Dim 17 Sep 2017 - 7:57

De rien les "jeunes"  Mr. Green
avatar
Invité
Invité


Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Tryphon Dim 17 Sep 2017 - 9:52

Merci Touko. Ça c'est intéressant !
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par TotOOntHeMooN Dim 17 Sep 2017 - 10:24

A cela, il va ajouter le gameplay basic et ça va chuter facile d'une dizaine de fps...
Du coup, optimisation radicale, on colle un gros HUD qui prends 1/4 de l'écran et nous voici à 60fps. Mr. Green
TotOOntHeMooN
TotOOntHeMooN
Docteur agrégé **
Docteur agrégé **

Masculin Nombre de messages : 18142
Age : 54
Localisation : Terre I
Date d'inscription : 18/04/2013

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Tryphon Dim 17 Sep 2017 - 10:33

Je comprends rien à ce qu'il raconte (blame my spoken english), mais le premier code me paraît déjà bizarre (pourquoi move.b et pas move.l ? pourquoi pas de (a0+), (a1+) au lieu de add.l juste après ?)
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Invité Dim 17 Sep 2017 - 10:35

Technique intéressante ! Je l'avais vu sur le forum très Select de Sega16.
Et oui le secret d'une bonne optimisation, c'est aussi un gros HUD ! Wink
avatar
Invité
Invité


Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par TotOOntHeMooN Dim 17 Sep 2017 - 10:52

Tryphon a écrit:Je comprends rien à ce qu'il raconte (blame my spoken english), mais le premier code me paraît déjà bizarre (pourquoi move.b et pas move.l ? pourquoi pas de (a0+), (a1+) au lieu de add.l juste après ?)
J'imagine que c'est parce que les données sont sur 8bit et leurs adresses sur 16bit.
(j'ai pas fait de 68000 depuis le lycée, mais je crois me rappeler que les parenthèses indiquent le contenu de l'adresse, c'est à dire la donnée)
TotOOntHeMooN
TotOOntHeMooN
Docteur agrégé **
Docteur agrégé **

Masculin Nombre de messages : 18142
Age : 54
Localisation : Terre I
Date d'inscription : 18/04/2013

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Tryphon Dim 17 Sep 2017 - 10:56

Ben, suffit d'aligner ? Avec des move.l tu transférerais les données 4 par 4, ce serait plus rapide. Et je suis à peu près sûr que les post incrémentations sont plus rapides que les add. Touko confirmera (il connaît les cycles par cœur Mr. Green )
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Invité Dim 17 Sep 2017 - 15:08

Tryphon a écrit:Je comprends rien à ce qu'il raconte (blame my spoken english), mais le premier code me paraît déjà bizarre (pourquoi move.b et pas move.l ? pourquoi pas de (a0+), (a1+) au lieu de add.l juste après ?)
Je dirais parce que les bandes sont d'une largeur de 2 pixels, et sur Md 2 pixels sont codés sur 8 bits (4bits/pixel) puisque l'affichage est en chunky .
Et comme tout le rendu du moteur est basé sur ces fameuses bandes de 2 pixels, t'es obligé d'utiliser les bytes,mais ça donne un meilleurs rendu,car plus précis .
Par contre je me suis aussi demandé pk il utilise pas la post incrémentation au lieu de faire un +1 .

Il aurait pu le faire sur des long, mais il aurait fallut faire des traitements sur les bits avant pour garder la même granularité au niveau des bandes,donc surement plus lent au final .

Après peut être qu'un re-agencement des données en RAM aurait permis d'utiliser des long sans traitement,en stockant chaque bande de façon contigu ..
avatar
Invité
Invité


Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Tryphon Dim 17 Sep 2017 - 15:29

S'il écrit deux pixels par deux pixels, il faut qu'il ajoute 4 à a0 et a1 entre deux écritures (ce qui explique qu'il ne puisse pas utiliser la post-incrémentation), mais du coup ça fait sens en effet.
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Stef Dim 17 Sep 2017 - 15:35

Pour ce genre de rendu raycasting en strip vertical tu ne peux pas faire mieux que du byte. Mais dans la vidéo je trouve qu'il simplifie un peu la réalité, déjà pour la texture l'adresse est variable forcément, et même pour le destination, étant donné que tu rends en strip vertical et que tu dois transférer dans des tiles tu ne dois pas pouvoir utiliser la post incrémentation..
Stef
Stef
Interne
Interne

Masculin Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Invité Dim 17 Sep 2017 - 15:36

Oui, c'est du coup surement pour ça qu'il incrémente juste A0 et A1 sur 32 bits, ça fait le saut +4
avatar
Invité
Invité


Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Tryphon Dim 17 Sep 2017 - 15:45

add.l #1, a0 ça rajoute 4 ?
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Invité Dim 17 Sep 2017 - 15:59

Non ça ajoute +1 à une adresse 32 bits = 4x8bits  Mr. Green
avatar
Invité
Invité


Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Tryphon Dim 17 Sep 2017 - 16:09

donc c'est bien un
add.l #4, a0
add.l #4, a1
qu'il aurait fallu dans la vidéo (en 2:45) ? Ainsi, l'écriture du prochain octet (=2 pixels) se serait faite 4 octets (= 8 pixels = 1 ligne) plus loin ?

Bon, d'une façon ou d'une autre va falloir que je comprenne ce qu'il raconte, fucking spoken English Mr. Green
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Invité Dim 17 Sep 2017 - 16:21

Vous leurrez pas ... Il ne va pas tout expliquer !!
Juste en surface .. J'imagine le code de fond qui doit être 3 fois plus complexes que ces bêtes lignes de code ASM que je suis arrivé à comprendre en partie !

Le mieux, est que l'un de vous en fasse un et que l'on en discute ensemble non ? Wink
avatar
Invité
Invité


Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Invité Dim 17 Sep 2017 - 17:14

@tryphon: j'ai dit ça comme ça, mais en fait je sais pas le pk du +1,plutôt que le post increm  Wink

Surtout que les données de chaque bandes semblent être alignées .
avatar
Invité
Invité


Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Tryphon Dim 17 Sep 2017 - 17:46

Baah de toutes façons, après Shinobi, j'ai l'intention d'essayer divers trucs pour d'autres projets. En particulier je voulais tester des rendus 3D pour faire un beau port de Phantasy Star premier du nom, ce sera l'occasion...
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Stef Lun 18 Sep 2017 - 11:50

Bien sur il ne rentre pas dans tout les détails, il donne l'idée générale des optimisations qui a mis en place, et le add.l #1 c'était juste pour montrer qu'il faut mettre à jour les pointeurs d'adresse des 2 côtés (à la base), ensuite il montre avec l'unrolling et les offsets en dur pour montrer l'optimisation effectuée :)
Ce qui est impressionnant c'est que le moteur de base peut tourner à 30 FPS :) Pour de la MD c'est quand même bien impressionnant.
Stef
Stef
Interne
Interne

Masculin Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Invité Lun 18 Sep 2017 - 11:54

Bon ben au boulot les gars !! Explications(ENG) comment le  moteur 3D de toy story MD a été codé 418468 Explications(ENG) comment le  moteur 3D de toy story MD a été codé 418468
avatar
Invité
Invité


Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par upsilandre Lun 18 Sep 2017 - 12:54

Je pense que c'est plus rigolo de s'amuser a faire du raycasting sur des machines qui justement sont pas cablé pour le jeux video et pour t’épater a coup de sprite et de scrolling. C'est la ou tu pourra le mieux surprendre, genre ZX-spectrum, CPC, Atari ST...
upsilandre
upsilandre
Interne
Interne

Masculin Nombre de messages : 5138
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Stef Lun 18 Sep 2017 - 23:02

Au contraire, je dirais que faire du raycasting sur des machines à base de frame buffer ça n'a rien de bien impressionnant, c'est classique et d'ailleurs c'est sur ce genre de machine qu'on a vu apparaitre ce genre de moteur en premier... Enfin perso je trouve ça moins impressionnant que sur une machine qui fonctionne à base de tilemap (et donc pas très adaptée).

Et d'ailleurs :
https://www.youtube.com/watch?v=COH55Uj53TY
Celui ci est particulièrement impressionnant (j'avais un peu suivi le dev) :
https://www.youtube.com/watch?v=Z3-J2-VeoH8
Stef
Stef
Interne
Interne

Masculin Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par upsilandre Mar 19 Sep 2017 - 11:34

Oui toi tu parle d'impressionner les programmeurs.
Mais si tu veux convaincre des joueurs ca sera bien plus convaincant et ca fera beaucoup moins tache dans le catalogue sur des machines qui sont justement deja en galère pour faire un simple scrolling ou bouger un sprite mais qui par contre sont plus a l'aise pour du raycasting. Y a moyen de séduire des joueurs (du coup ca peut etre gratifiant) alors qu'avec du raycasting sur NES ou SNES aucun joueur n'en veut comparé au reste du catalogue y a un gouffre visuel. C'est juste un défi de programmation personnel (ce qui est bien aussi mais c'est un autre delire).
upsilandre
upsilandre
Interne
Interne

Masculin Nombre de messages : 5138
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Tryphon Mar 19 Sep 2017 - 12:05

Ça se discute : sur NES ou SNES (ou SMS ou MD) il n'y a (quasiment) aucun jeu 3D raycastée. En en faisant un, tu peux aussi séduire des joueurs par la nouveauté.

Le Wolfenstein 3D de gasega (si je me souviens bien ?) est un des projets homebrews les plus attendus de la scène MD, pas que des programmeurs.
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par TotOOntHeMooN Mar 19 Sep 2017 - 12:56

S'il y a une chose qui a pourri les jeux "16bit" dans les années 90, c'est bien d'avoir voulu faire de la 3D.
Soyons réalistes, c'est moche et vide... Même la PS1 faisait pitier à ses débuts, alors une MD.

Je dirai même que c'est définitivement ce qui a plombé le 32X...
Alors qu'il y avait tant à faire de génial en 2D avec !
TotOOntHeMooN
TotOOntHeMooN
Docteur agrégé **
Docteur agrégé **

Masculin Nombre de messages : 18142
Age : 54
Localisation : Terre I
Date d'inscription : 18/04/2013

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Hpman Mar 19 Sep 2017 - 13:50

En vrai il est pas du tout fait pour la 2D le 32X, ça à même plutôt tendance à mouliner.
avatar
Hpman
Patient contaminé

Masculin Nombre de messages : 679
Age : 47
Localisation : Lille
Date d'inscription : 22/08/2014

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par TotOOntHeMooN Mar 19 Sep 2017 - 14:27

Hpman a écrit:En vrai il est pas du tout fait pour la 2D le 32X, ça à même plutôt tendance à mouliner.
Pas plus que pour la 3D... C'est juste* deux CPU plutôt rapides, de la RAM et un double framebuffer.
Tu es libre d'en faire ce que tu veux, en plus de la superimposition de la Megadrive.
De souvenir: Une démo du SuperVDP

* sans parler de l'audio en PWM.
TotOOntHeMooN
TotOOntHeMooN
Docteur agrégé **
Docteur agrégé **

Masculin Nombre de messages : 18142
Age : 54
Localisation : Terre I
Date d'inscription : 18/04/2013

Revenir en haut Aller en bas

Explications(ENG) comment le  moteur 3D de toy story MD a été codé Empty Re: Explications(ENG) comment le moteur 3D de toy story MD a été codé

Message par Stef Mar 19 Sep 2017 - 14:53

upsilandre a écrit:Oui toi tu parle d'impressionner les programmeurs.
Mais si tu veux convaincre des joueurs ca sera bien plus convaincant et ca fera beaucoup moins tache dans le catalogue sur des machines qui sont justement deja en galère pour faire un simple scrolling ou bouger un sprite mais qui par contre sont plus a l'aise pour du raycasting. Y a moyen de séduire des joueurs (du coup ca peut etre gratifiant) alors qu'avec du raycasting sur NES ou SNES aucun joueur n'en veut comparé au reste du catalogue y a un gouffre visuel. C'est juste un défi de programmation personnel (ce qui est bien aussi mais c'est un autre delire).

L'attrait de la 3D au début c'était aussi un peu cette (fausse impression de) liberté d'exploration... Dans Toy Story, il faut admettre que ça a été très bien réalisé, visuellement ce n'est pas moche, c'est fluide, ça donne une ambiance un peu oppressante de déambuler dans ce labyrinthe un peu sombre. Ils n'ont pas fait trop durer le moment non plus et puis techniquement je pense que même un joueur lambda (sans être programmeur) était assez impressionné.
C'est vrai que sur des machines à base de frame buffer ce genre de jeux avaient plus de sens, surtout qu'ils étaient incapables de produire des jeux 2D convenables donc ça aurait été effectivement une solution. Mais ce genre de jeux est apparu sur le tard, début 1990 au mieux... et à cette époque les machines dont tu parles étaient déjà limite en fin de vie.
Stef
Stef
Interne
Interne

Masculin Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum