Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Betas et WIPs » Truc où ça tourne (81 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Jfg Ecrit le: Dimanche 15 janvier 2006 à 11:32 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


Voilà un espèce de tilemap qui affiche des tiles... avec rotation.
J'espère que je vais avoir le courage d'en faire un jeu de course. J'avais jouer à un jeu comme ca sur mac ya longtemps, où c'est pas la voiture qui tourne mais le terrain.

http://fpgforce.dyndns.org/~jyaif/Public-files/Ti-Screens/ROT.GIF
Kill Mario
    
./Post n°1   Marquer comme non lu.
LionelA Ecrit le: Dimanche 15 janvier 2006 à 11:37 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


tu peux peut etre faire un cameltry ?
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°2   Marquer comme non lu.
Link Ecrit le: Dimanche 15 janvier 2006 à 11:37 Déconnecté(e)    Voir le profil de Link Envoyer un email à Link Visiter le site WEB de Link Envoyer un message privé à Link  

Hé, pas mal :)

En fait, ça me fait un peu penser aux jeux de course en mode7 (notamment MarioKart, vu les tiles) mais vu du dessus, ce qui doit bien simplifier les algorithmes...

y'a vraiment de quoi faire un très bon jeu!
    
./Post n°3   Marquer comme non lu.
limmt Ecrit le: Dimanche 15 janvier 2006 à 14:01 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


ca a l'air sympa ;)
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°4   Marquer comme non lu.
Jfg Ecrit le: Dimanche 15 janvier 2006 à 14:06 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


Comme j'ai dis sur IRC, je trouve que faire un cameltry est une super idée. Je vais essayer de voir ce que ça donne =)

Link> ouai les algo sont très simples.
Par contre ya un petit pb quand je rotate les sprites: des pixels blancs apparaissent :( Je corrigerais ça plus tard.
Kill Mario
    
./Post n°5   Marquer comme non lu.
Link Ecrit le: Dimanche 15 janvier 2006 à 14:47 Déconnecté(e)    Voir le profil de Link Envoyer un email à Link Visiter le site WEB de Link Envoyer un message privé à Link  

Généralement, ça apparait quand on rotate les sprites dans le mauvais sens (cad, rotater les pixels du sprite vers la destination, au lieu de rotater les pixels de la destination vers le sprite).
C'est plus ou moins facile à corriger. :)
    
./Post n°6   Marquer comme non lu.
Sasume Ecrit le: Dimanche 15 janvier 2006 à 15:53 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Vraiment sympa !
En plus, ce que tu as fait a l'air rapide :)
Je ne pensais pas qu'on pouvait faire si rapide avec ce procédé, quand j'avais programmé un truc du même genre (que j'avais appelé rotofall), c'est pour ça que mon moteur n'était orienté tiles, mais polygones.
Enfin, tu m'as montré que je me trompais ;) Tu as écrit ça en C ou en ASM ?
    
./Post n°7   Marquer comme non lu.
Jfg Ecrit le: Dimanche 15 janvier 2006 à 16:23 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


link> je rotate de la bonne manière, c'est pour ca que je ne comprends pas :s

Sasume> en C, mais je crois que tu sur estime le moteur :D
1/ les sprites font 14 pixels de large, donc une fois rotaté je peux les ORer avec les routines d'affichage de sprite 16x16 d'EG
Sachant que je calcul les sprites rotatés lors du lancement du jeu , le role du moteur consiste juste à afficher les sprites au bon endroit, ce qui est assez rapide/simple, surtout que je n'affiche pas les sprites vides. Je ne pense pas que passez à l'asm augmenterait la vitesse, surtout vu mon niveau en asm.
Tu pensais que j'avais fais un mode7 vue à la verticale ?

Et sinon, ton moteur lui permet de zoomer ce qui est franchement génial :)
-Edité le Dimanche 15 janvier 2006 à 16:27 par JfG-
Kill Mario
    
./Post n°8   Marquer comme non lu.
Sasume Ecrit le: Dimanche 15 janvier 2006 à 17:14 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Je n'avais pas pensé à ton astuce de précalculer chaque tile (enfin, c'est parce que je partais dans l'optique de pouvoir zoomer en fait)... C'est pas mal :)
Et comment tu fais pour déterminer la zone visible de la map ? (qui contient les tiles que tu devras précalcule puis afficher)
    
./Post n°9   Marquer comme non lu.
squale92 Ecrit le: Lundi 16 janvier 2006 à 00:37 Déconnecté(e)    Voir le profil de squale92 Envoyer un email à squale92 Visiter le site WEB de squale92 Envoyer un message privé à squale92  

pas mal
y'aurait de quoi faire un joli shoot'em up, avec une idée comme celle-là, je pense %)
(même si vu que tu précalcules, si tu veux pas mal de sprites, ça va pomper la mémoire à mort ^^ )
Pascal MARTIN
http://www.squalenet.net
    
./Post n°10   Marquer comme non lu.
Jfg Ecrit le: Lundi 16 janvier 2006 à 13:00 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


Ca prends pas bcp: ca prend 16*2*128*nombreDeTiles = 4096*nombreDeTiles
En plus je pense que je vais réduire le nombre de directions à 64, donc ca ne prendra plus que 2048 octets par tiles
Et d'ailleurs, je pourrais calculer les rotations en temps réelle; il suffit que j'enregistre les transformations pour chaque pixel pour chaque angle. Ca par contre j'ai la fleme de le faire :D

Je calcul la position de tous les tiles dans un carré (rotaté) de 16*16 tiles centré sur le centre de l'écran. Si les tiles sont dans l'écran, je les affiche. Si ils sont sur le bord, je les affiche en clipant. Si ils sont en dehors je ne les affiches pas. J'avais moi aussi commencé à faire un moteur polygonale mais c'étais cette dificulté qui m'avait fait abandonner.
Kill Mario
    
./Post n°11   Marquer comme non lu.
Sasume Ecrit le: Lundi 16 janvier 2006 à 14:30 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

J'ai peut-être mal compris, mais tu sembles utiliser deux fonctions d'affichage d'extgraph : une pour les sprites clippés et une autre pour les sprites non clippés. C'est inutile : la version clippée teste si le sprite a besoin d'être clippé, et si ce n'est pas le cas, l'affiche comme le fait la fonction non-clippée. Autrement dit, faire le test toi même est redondant, et n'induit aucune amélioration sur la vitesse d'exécution (ça ralentit même) alors qu'elle prend de la place en plus. (cela dit, c'est un détail).
Donc pour résumer, inutile de tester si les tiles sont hors de l'écran, à moitié visible ou complètement visible : la fonction d'extgraph le fait pour toi relativement rapidement (puisque c'est en asm) même si j'avais noté qu'elles pouvaient être améliorées légèrement.
    
./Post n°12   Marquer comme non lu.
Jfg Ecrit le: Lundi 16 janvier 2006 à 14:55 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


Ok merci. Ce n'est pas clairement écrit dans la doc.
Kill Mario
    
./Post n°13   Marquer comme non lu.
Thor Ecrit le: Lundi 16 janvier 2006 à 17:15 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


Sympa le screen : ça change de tout ce qu'on peut voir sur Ti68k ! Bravo ;)
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°14   Marquer comme non lu.
squale92 Ecrit le: Lundi 16 janvier 2006 à 20:47 Déconnecté(e)    Voir le profil de squale92 Envoyer un email à squale92 Visiter le site WEB de squale92 Envoyer un message privé à squale92  

Ca prends pas bcp: ca prend 16*2*128*nombreDeTiles = 4096*nombreDeTiles
En plus je pense que je vais réduire le nombre de directions à 64, donc ca ne prendra plus que 2048 octets par tiles

oué, enfin, 2Ko par sprite, ça fait pas mal quand même, à mes yeux ^^
en se permettant au maximum 100 Ko pour ça (qu'il reste 60 Ko pour les autres et les données du jeu - en considérant qu'on peut utiliser toute la ram de la TI), ça fait 50 sprites...
Pascal MARTIN
http://www.squalenet.net
    
./Post n°15   Marquer comme non lu.
LionelA Ecrit le: Lundi 16 janvier 2006 à 22:50 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


50 tiles differents loadés pour un niveau c'est beaucoup je trouve, si y'en a deja 10 differents c'est pas mal :)
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°16   Marquer comme non lu.
Folco Ecrit le: Mardi 17 janvier 2006 à 08:07 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


tout dépend après si tu ne te limites pas à une route faite de carrés, mais si tu veux aussi des virages etc... Après, il est peut être possible de gagner en calculant des symétries en temps d'éxécution (avec une table). Je sais pas si c'est réellement faisable, mais ça pourrait peut-être aider...
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°17   Marquer comme non lu.
Jfg Ecrit le: Mardi 17 janvier 2006 à 10:47 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


Martial Demolins :
Après, il est peut être possible de gagner en calculant des symétries en temps d'éxécution (avec une table). Je sais pas si c'est réellement faisable, mais ça pourrait peut-être aider...


C'est faisable, mais lourd à faire. Cependant je pense etre obligé de faire ça...

Update: Link avait en fait raison, j'avais rotaté dans le mauvais sens (pourtant j'avais fais gaffe et tout...).
Donc maintenant j'ai des belle rotations. Mais ces belle rotations de sprites mettent en évidence l'arrondissage des rectangles 14x14, donc j'ai du passé à des tiles de 12x12.
Maintenant, c'est vachement jolie et c'est presque parfait :)
Par contre c'est un peu plus lent vu que je dois afficher plus de sprites pour remplir l'écran :(
Mais c'est quand meme rapide :)

Quand aux 10 tiles par niveau, c'est pas énorme: j'en ai besoin de 4 rien que pour écrire "GOAL". Et puis après ya les flèches, les block de tailles != ( un gros block est formé de 4 petits blocks...) les petits obstacles, les block arrondis, les block coupés suivant la diagonale, etc...
En tout je dois en avoir besoin d'une trentaine -> fichier externe de ~60ko livré avec le jeu vu que ca mettrais 2 minutes pour le générer (actuellement)

Je vais m'attaquer à la detection de collisions maintenant.

voila voila

-Edité le Mardi 17 janvier 2006 à 10:52 par jfg-
Kill Mario
    
./Post n°18   Marquer comme non lu.
Folco Ecrit le: Mardi 17 janvier 2006 à 11:13 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


2 minutes à générer.... j'aimerais bien t'aider à faire ça en asm, je pense qu'en optimisant l'algo dans ce langage, on doit pouvoir gagner beaucoup. Tu peux poster rien que l'algo (pas en C, mais en français d'algo) pour voir ce que je peux faire stp? tu utilises une table pour les rotations?
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°19   Marquer comme non lu.
Jfg Ecrit le: Mardi 17 janvier 2006 à 12:59 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


Je ne sais pas comment on écrit de l' algo en utilisant les pointeurs; je vais utiliser la syntax du C (que tu devrais apprendre)


j'utilise des tables de cos et de sin multipliées par 512


fonction rotatePoint(*x,*y,*angle) {
 x2=*x
 y2=*y
 *x=(x2*cos[angle] - y2*sin[angle])/512
 *y=(y2*cos[angle] +x2*sin[angle])/512
}


fonction rotateSprite(*spriteSrc, *spriteDest, angle) {
 
 Pour xDest de 0 à 16
  Pour yDest de 0 à 16
   xSrc = xDest
   ySrc = yDest
   rotatePoint(&xSrc,&ySrc,angle)
   if getPixel(xSrc,ySrc,spriteSrc)
   setPixel(xDest,yDest,spriteDest)
}
Kill Mario
    
  :: Index » Forum Ti68K » Betas et WIPs » Truc où ça tourne (81 réponse(s))
Pages : 1/5     « [1] 2 3 4 5 » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 45.16ms avec 18 requetes