Page 1 of 8

[JEU] BOOST sur ta TI (tunnel 3D)

Unread postPosted: 31 May 2015, 18:13
by Plokki
Hey ! Voici mon nouveau projet qui est donc de refaire le jeu Boost 2 sur iphone:


bien sûr il n'y aura pas les couleurs :p mais je pense pouvoir arriver à quelque chose de concluant.
Bien, maintenant quelques screens:
Cercles.gif

premère ébauche de la structure du tunnel, en 2D.

CerclesV2.gif

Après pas mal de réflexion et de prise de tête puis une réécriture complète du code. Les points sont à la même distance les uns des autres quel que soit le diamètre de l'arc de cercle, ils glissent de manière fluide et sans accoup, pas de problème de jonction entre les arcs de cercle.

Boost V1.gif

3D is coming !
En fait je suis passé de la 2D à la 3D en 1 heure et 20 lignes de code :D
Lors des changements de virages les lignes croisent mais c'est pas dur à régler (normalement).

Maintenant les prochaines fonctionnalités à implémenter:
-Vu la vitesse où ça tourne je pense pouvoir passer d'une section carrée à une section octogonale du tunnel, ou plus en passant en full speed mode.
-Les rotations c'est cool (de l'écran et du tunnel pour ne pas avoir une bête succession de virages dans le même plan).
-Ajouter des obstacles et la possibilité de mourrir.
-Ajouter les boost de vitesse, par contre j'ai aucune idée de comment faire.

Voilà :)

Re: [JEU] BOOST sur ta TI (tunnel 3D)

Unread postPosted: 31 May 2015, 19:56
by TheMachine02
Bien :)

Maintenant il faut faire mieux que ça :p
Image
(from matref).
Je pense qu'il pourra de donner plus de conseil sur ce sujet que moi, mais si tu as des problèmes avec la 3D, tu peux me demander :D

Re: [JEU] BOOST sur ta TI (tunnel 3D)

Unread postPosted: 31 May 2015, 20:08
by Epharius
Bravo à toi, c'est déjà vachement bien :)
C'est fait en Axe je suppose ? Bonne chance parce que tu t'attaques à gros :p

Re: [JEU] BOOST sur ta TI (tunnel 3D)

Unread postPosted: 31 May 2015, 20:33
by Plokki
Oui, oui c'est de l'Axe, je ne compte pas me mettre à l'assembleur, surtout pas pour un aussi gros projet :p .

J'avais déjà vu son tunnel 3D et c'est aussi ce qui m'avait donné envie de faire ce jeu. Parce que dans le mien il y a des vrai virages :D et pas un vieux décalage random à chaque section de tunnel :p

Pour la 3D, je ne pense pas avoir de problème car je triche, il n'y a aucune rotation pour le moment, seulement une transcription/projection en 3D de mes points qui ne sont au final qu'en 2D (screen n°2): En plus de leurs coordonnées (x;y) je leur assigne arbitrairement une coordonnée z qui me permet de faire les projections.
Après je veux bien ton aide pour les textures: les boosters sont matérialisés par des séries de chevrons (comme ça ">>>>>") mais je ne sais pas comment faire alors si tu peux me rediriger contre un tuto qui explique la théorie :)

J'ai juste oublié de dire qu'il faut que je m'attaque au problème de l'occlusion avant de faire les rotations.

[edit]>Ptit rageur: Au fait c'est quoi ton histoire de jeu de tunnel pas copié sur moi ? :D

Re: [JEU] BOOST sur ta TI (tunnel 3D)

Unread postPosted: 31 May 2015, 20:45
by TheMachine02
Oublie les textures. C'est pas fait pour calculette :p. Sérieusement, les textures c'est carrément trop lent. Même en asm, je réussi pas à avoir un truc potable (hors full). Sinon, pour la théorie, c'est par là : http://www.flipcode.com/documents/fatmap.txt (gros document en anglais dirigé pour le pentium (et l'asm), mais c'est pas trop grave :D) Je verrais plus pour les flèches de les faire avec 3 vertex + 2 line / chevron.
Sinon, j'ai une routine de projection qui pourrait être particulièrement efficace ici. (Mais pas trop avec les coordonnées off-screen, donc bon ...)

EDIT : btw, off-topic, fais voir ton bomberman p'Ti rageur 0:]

Re: [JEU] BOOST sur ta TI (tunnel 3D)

Unread postPosted: 31 May 2015, 21:25
by Plokki
Merci pour le lien, par contre ça va me faire bosser l'anglais vu la taille :o
Par contre je ne vois pas pourquoi je n'aurais pas le droit de mettre le jeu en full speed, ce que je pense je devrais faire dans tous les cas vu le nombre de polygones et de lignes à tracer, sans parler des calculs pour l'occlusion...

Pour la routine de projection je comprend pas trop. Comment tu veux faire mieux que ça (hors optimisation):
X*32//(Y+32)> ma coordonnée X de mon point sur l'écran
Z*32//(Y+32)> ma coordonnée Y de mon point sur l'écran
et c'est tout sachant que les (X;Y) sont juste à récupérer de l'étape montrée dans le screen 2 et que le Z est égal à 32 ou -32.

Re: [JEU] BOOST sur ta TI (tunnel 3D)

Unread postPosted: 31 May 2015, 22:35
by matref
J'avais déjà vu son tunnel 3D et c'est aussi ce qui m'avait donné envie de faire ce jeu. Parce que dans le mien il y a des vrai virages :D et pas un vieux décalage random à chaque section de tunnel :p

Tu sais ce qu'il te dit le vieux décalage random ? Il te dit "je suis la seule solution viable pour qu'un tunnel 3D tourne vite à 6 MHz" ! Ha !

Bonne chance pour avoir un truc rapide avec tous ces calculs, surtout en Axe. Ma méthode gère l'occlusion, les collisions 3D, l'affichage avec lignes clippées et vraie 3D et tout, tout ça à 6 MHz. J'ai triché sur plein de trucs pour pouvoir faire ça, sinon c'était juste pas jouable tellement c'était lent.

Re: [JEU] BOOST sur ta TI (tunnel 3D)

Unread postPosted: 01 Jun 2015, 17:56
by Epharius
Plokki : Si tu veux je peux te le montrer, je l'ai fini. Il est fait en assembleur (notamment parce que j'ai une 82 stats.fr :troll:) Bon il est loin d'être aussi bien que le tien, rien qu'en voyant le sprite tu vomis (j'y reviendrai plus bas).

TheMachine02 : Alors je ferai peut-être un sujet du coup. En fait ce n'est pas vraiment un soucis d'opti (bien que c'en soit un aussi). Je l'ai arrêté surtout parce que (j'aime les listes à puces) :
  • Je suis vraiment nul en dessinage (ça se dit ?) et les sprites sont un peu moches (cf plus haut)
  • La routine banale du put sprite est la méthode xor, et ça rend moche puisque le perso a pas mal de détails et que comme le monde n'est pas vu vraiment de haut (une vue comme si tu jouais aux lego : de haut mais pas exactement), on est sensé avoir le perso devant le mur (bonne chance pour comprendre le sens de la phrase). Et du coup j'aimerais rajouter un contour blanc au perso mais ça me parait impossible. *mais qu'est-ce qu'il est chiant avec ses envies à la con*
  • Et malgré que c'est problèmes me paraisse irrésolvable, j'essai temps bien que male à essayé de les résolure (maintenant vous êtes des leurs)

Bref, voilà pourquoi je n'ai pas continué (je vais créer un topic ce soir)...

Re: [JEU] BOOST sur ta TI (tunnel 3D)

Unread postPosted: 01 Jun 2015, 20:34
by TheMachine02
p'Ti rageur, je te répondrais sur ton thread, pour pas faire dégénerer celui-là :)

Sinon plokki, fais face à la magie :
Code: Select all
#ExprOn
256*32/(Y+32)->r1
*X//256 .coordonnée X
r1*Z//256 .coordonnée Z


Alors je m'explique :
-#ExprOn demande d'optimiser le code pour la vitesse, je te conseil de le mettre au début de ton programme.
-Et oui, deux multiplications et une division (non signée), c'est plus rapide que deux divisions signées (du moins la plupart du temps). C'est donc mieux de calculer l'inverse, puis de multiplier. Après, j'utilise *X//256 et pas **X car le premier est plus rapide (mais à des inputs différentes)

Voiloù :D
Sinon, ma routine est en pur asm, mais au vu de ta routine, je doute de pouvoir l'adapter (car elle est équivalente à X*49//Y+48 ; Y*49//Y+32)

Re: [JEU] BOOST sur ta TI (tunnel 3D)

Unread postPosted: 01 Jun 2015, 20:55
by Plokki
OhOhOh ! Le père noël est passé !
Merci bien pour la routine j'appliquerais ça au plus vite ;) C'est vraiment efficace #ExprOn ?
Et maintenant pour les scepiques:
Boost V2.gif

Le code est fait à l'arrache mais le rendu est génial ! j'ai trop hâte d'intégrer les rotation :D Bon en même temps si j'avais pas ce stupide bac français hein :p
Sinon je pense qu'en bridant l'angle du tunnel je n'aurai même pas besoin de faire d'occlusion ;)

>p'Ti rageur: je veux bien voir ton tunnel, ça peut toujours être sympa, si tu veux je t'explique comment je me débrouille :)
Au fait: "Temps bien que mâle" XD