Logicielsmoto.com

Nous sommes le 17 Oct 2019, 09:07

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 7 messages ] 
Auteur Message
 Sujet du message: Rendu isométrique
MessagePosté: 23 Sep 2016, 22:31 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1112
Localisation: Brest
Peut être connaissez vou le jeu Oric "Space 1999" (ou cosmos 1999 en francais): (clicker sur les images pour voir les videos)
Image Image
C'est un jeu fait par des démos-maker.

Depuis le jeu Sortilège sur thomson
Image
je suis toujours intrigué par les jeux en 3D isométriques, et en particulier par leur vitesse d'affichage qui me semble vraiment rapide. En effet, le 6502 de l'ORIC est encore plus lent que le 6809 quand il accède à la ram VIDEO et même globalement ce CPU n'est pas très puissant. Pourtant le jeu a l'air hyper fluide. Plus fluide même que Sortilèges sur thomson.

Il se trouve qu les auteurs du jeu ont gentillement rendus les sources publiques: http://miniserve.defence-force.org/svn/ ... 9/Sources/. Dedans on retrouve leur moteur de rendu isométrique "NOISE" qui vient d'un autre codeur. J'ai survolé le code et n'arrive toujours pas à comprendre comment ils arrivent à avoir un rendu aussi rapide ni même comment marche le principe de ce rendu (masquage de surface etc).

Quelqu'un a t'il une idée de comment marchent ces moteurs de rendus 3D ? Perso j'adorerais voir ce jeu porté sur thomson un de ces jours.

_________________
Good morning, that's a nice Tnetennba


Dernière édition par Samuel Devulder le 24 Sep 2016, 15:19, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Renu isométrique
MessagePosté: 24 Sep 2016, 14:48 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1054
Localisation: France (24)
Visiblement, il faut commencer avec une map :

Code:
map    equ    *
       fcb    $01,$01,$01,$01,$01,$01
       fcb    $01,$00,$00,$00,$00,$01
       fcb    $01,$00,$09,$06,$00,$01
       fcb    $01,$00,$00,$00,$00,$01
       fcb    $01,$00,$00,$00,$00,$01
       fcb    $01,$01,$02,$01,$01,$01


Là, par exemple :
  • $00 pour les endroits où le personnage peut marcher
  • $01 pour les murs
  • $02 pour une porte
  • $09 pour une chaise
  • $06 pour une table

Chaque élément du décor est défini par un x, un y et un z (et éventuellement un degré d'élévation).
Après - et c'est la partie qui va donner du fil à retordre -, il ne te reste plus qu'à faire un clipping des personnages et des éléments mouvants (et seulement eux) avec les masques des éléments du tableau en mémoire. Ceux qui ont un z plus grand sont derrière, ceux qui ont un z plus petit sont devant. En même temps que d'afficher ton personnage, tu sauves la portion de décor qu'il recouvre, que tu restitueras à la prochaine frame en guise d'effacement avant de le faire bouger à nouveau. Ou alors, sachant où se trouve ton personnage, tu restitues brutalement la portion de décor à partir d'une copie en mémoire, tu déplaces ton personnage et tu l'affiches avec clipping.

PS: pour trouver quelque chose sur le Net, j'ai dû plutôt chercher "2d isométique".
PS2: un problème de typo dans le titre de la discussion.

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Le site des démos de Puls
L'émulateur Teo


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Rendu isométrique
MessagePosté: 24 Sep 2016, 15:19 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1112
Localisation: Brest
Oui la touche 'D' de mon clavier est totalement fatiguée. 1fois sur 3 ou 4 elle ne marche pas.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Rendu isométrique
MessagePosté: 25 Sep 2016, 13:26 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1054
Localisation: France (24)
De mon côté, j'espère ne pas avoir été trop embrouillé :oops:
En fait, la priorité se calcule à partir du X et du Y, mais bon.
C'est en fait l'affichage avec masque et la préservation/restitution du décor qui sont assez délicats. Il faut tenir compte de la taille des objets, de leur position s'ils sont en mouvement, etc... pour fabriquer les masques correspondants. Mais au bout du compte, seul ce qui doit être affiché sera affiché et seul ce qui doit être effacé sera effacé. En plus, les personnages et les objets ne sont pas bien grands, donc il y a des chances que ce soit très fluide.

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Le site des démos de Puls
L'émulateur Teo


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Rendu isométrique
MessagePosté: 25 Sep 2016, 15:11 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1112
Localisation: Brest
C'est vrai qu'il y a au final assez peux de pixels à changer sur l'écran.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Rendu isométrique
MessagePosté: 26 Fév 2017, 17:08 
Hors ligne

Inscription: 04 Jan 2013, 13:18
Messages: 72
Ce document est très intéressant. Jon Ritman répond à quelques questions sur le thème : (en anglais) dankokozar.com/documents/Jon_Ritmans_Isometric_Tutorial.pdf
Jon Ritman est l'auteur de Batman (Isométrique) et Head Over Heels


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Rendu isométrique
MessagePosté: 26 Fév 2017, 20:02 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1112
Localisation: Brest
Je corrige le lien: http://dankokozar.com/documents/Jon_Ritmans_Isometric_Tutorial.pdf

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 7 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com