1

J'ai fais un jeu de courses où au lieu que ce soit le joueur qui tourne, c'est le terrain:
KARTINGZ.GIF

Vous pouvez tester une beta: http://fpgforce.dyndns.org/~jyaif/Public-files/Kartingz%20v0.zip
J'aimerais savoir si c'est jouable et pas trop dur pour des gens qui n'ont pas debuggé/testé pdt des heures.

Touches:
Tourner: les flèches droite et gauche
Accélerer: flèche du haut ou les touche 2ND/HAND
Freiner: flèche du bas ou la touche Q

2

Ca reprend un peu le principe de Super Monkey Ball tongue
avatarZut je suis reperé, vite ! L1+R1+L2+R2 !
Des ennemis ! ACTIVATING COMBAT MODE - MODULATING PHASE - POWER SURGE ! - CONFLICT RESOLVED
Le Secteur Sept, le seul blog au monde à avoir une adresse tk aussi longue
La longue liste des clichés de l'animé et du manga !
RAW ! RAW ! FIGHT THE POWER !

3

J'ai testé sur v200, ça va c'est pas trop dur tant que ma vitesse reste dans la première moitié du compteur (sauf le virage à 180).
J'ai l'impression que ça saccade un peu quand je vais lentement mais sinon je trouve ça bien fait. top
avatarCombien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

4

marrant comme concept, je trouve ça plutot pas mal jouable, par contre les collisions... un peu violentes grin
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

5

Je trouve que la jouabilité est un peu difficile.
avatar« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

6

je viens de telecharger.
ça a l'air sympa.
La rotation est calculée en temps réel ?

7

Merci Twindruff smile
Je compte améliorer les collisions, peut être faire que la voiture rebondie.
En quoi tu trouves la jouabilité difficile ?
Pen^2> Oui smile. Au début j'avais précalculé beaucoup de choses mais c'était pas pratique alors je suis passé aux calculs temps réel.

8

Personnellement, je trouve que c'est difficile d'anticiper la structure du parcours, donc d'adopter une trajectoire en conséquence, et aussi, je trouve que c'est très pénalisant quand on se cogne contre un mur (disons que ça fait plus simulation qu'arcade).
avatar« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

9

Sasume
: Personnellement, je trouve que c'est difficile d'anticiper la structure du parcours

Ouais c'est ça qui rend le jeu difficile. Moi je dirais qu'une mini-map ne serait pas de refus tongue
avatarCombien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

10

Et si on met des flèches sur le sol indiquant dans quel sens il va falloir tourner, ça irait mieux ?

11

Oui ^^ (Je n'ai pas encore essayé le jeu, mais dans ce genre de jeu, en général c'est soit la mini-map, soit les flèches, ou les deux tant qu'à faire)

12

(ou alors tourner l'écran à 90° hehe)

Jyaif > ça a l'air assez fluide smile (toujours pas testé, je regarderai en rentrant tout à l'heure)

13

fait un zoom arriere quand on accelere..

14

Là ça va commencer à devenir difficile en terme de performances happy
avatar« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

15

J'aurais pu faire que la caméra se déplace en arrière pour donner l'impression de vitesse (comme la "dynamic camera" dans Gran Turismo de David Coz):


position du joueur à vitesse nulle:
+---------------------+
|                     |
|                     |
|          X          |
|                     |
|                     |
+---------------------+

position du joueur à vitesse élevé:
+---------------------+
|                     |
|                     |
|                     |
|          X          |
|                     |
+---------------------+

position du joueur à vitesse très élevé:
+---------------------+
|                     |
|                     |
|                     |
|                     |
|          X          |
+---------------------+

Jf le maitre du <pre>

mais j'ai la fleme grin

16

J'ai trouvé un assez bon éditeur de map utilisable: Mappy editor

Du coup je peux faire des maps un plus compliquées/jolies:
map-kartingz.JPG

Par contre le jeu est bcp plus lent à cause du nombre de tiles plus élevé à rotater à chaque frames sad

17

Oh c'est joli, je connaissais pas ce mappy là tongue
avatarCombien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

18

Jyaif :
Par contre le jeu est bcp plus lent à cause du nombre de tiles plus élevé à rotater à chaque frames sad

?? tu rotes tous les tiles à chaque frame ? pkoi tu ne te limites pas à ceux qui sont affichés ?

19

Si si, c'est ce qu'il fait, mais apparemment il y a plus de tiles différents qu'auparavant à afficher.
avatar« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

20

ah ? bon.

21

en rouge les différents tiles pour une frame simple:
nombre_de_tiles.JPG

22

Jyaif :
J'aurais pu faire que la caméra se déplace en arrière pour donner l'impression de vitesse (comme la "dynamic camera" dans Gran Turismo de David Coz):


position du joueur à vitesse nulle:
+---------------------+
|                     |
|                     |
|          X          |
|                     |
|                     |
+---------------------+

position du joueur à vitesse élevé:
+---------------------+
|                     |
|                     |
|                     |
|          X          |
|                     |
+---------------------+

position du joueur à vitesse très élevé:
+---------------------+
|                     |
|                     |
|                     |
|                     |
|          X          |
+---------------------+

Jf le maitre du <pre>

mais j'ai la fleme grin



C'est le concept de gran turismo de David Coz ça nan?

23

Thor
:
Jyaif :
J'aurais pu faire que la caméra se déplace en arrière pour donner l'impression de vitesse (comme la "dynamic camera" dans Gran Turismo de David Coz):

C'est le concept de gran turismo de David Coz ça nan?

hehe
avatarCombien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

24

Oups j'ai pas tout lu grin J'avais juste regarder le concept .... mur

25

j'ai testé tout à l'heure et c'est assez difficile je trouve. Ce qui est un peu lourd aussi c'est qu'on est rapidement plus ou moins coincé dans un coin entre deux tiles : tu pourrais imaginer un detecteur de sortie de route qui te remet dans le bon sens au milieu de la route quand on est completement dans les choux, comme dans certains jeux. (ou alors simplement ralentir la voiture quand on sort de la route, avec un coeff de plus en plus fort)

26

pen^2> c'est noté smile

Je ressors d'une période de Java intensif et je me remet petit à petit au C (ça fait bizarre de faire tous les calculs en virgue fixe, d'utiliser des pointeurs et des structures love)

Je suis en train de coder une fonction qui expand les tiles au format 1 pixel = 1 octet ce qui me permettera d'éviter en moyenne 256*4 shifts par frame.

27

faut plutot du précalculé, tu t gagneras beaucoup

28

Mais précalculer quoi ?

Sinon, j'ai ré-écrit une boucle critique en ASM mais tigcc à l'air d'optimiser mieux que moi:
ça: http://fpgforce.dyndns.org/nopaste/index.php?src=9f61408e3afb633e50cdf1b20de6f466
devient: http://fpgforce.dyndns.org/nopaste/index.php?src=b53b3a3d6ab90ce0268229151c9bde11
Si vous voyez des optimisations, je suis prenneur, même si elles ne doivent pas être nombreuses vu la simplicité du code.
L'intérieur de la boucle est exécuté 256*n (n est le nombre de tiles différents à l'écran), donc le moindre cycle de gagné à l'intérieur provoque une économie de 1000-2000 cycles par frame... c'est toujours ça.

29

Jyaif :
Si vous voyez des optimisations, je suis prenneur, même si elles ne doivent pas être nombreuses vu la simplicité du code.

Ah bon ? grin

Ta boucle interne fait 8+8+8+8+14+9+(8+24+12)/2+8+8+10 = 103 cycles par pixel, tu pourrais la remplacer par
    move.w #0x100,d1
\loop
    move.w (a2)+,d0
    add.w (a1)+,d0
    move.b 0(a3,d0.w),d1
    add.w d1,d1
    bcc \loop

qui peut traiter 8 pixels à une vitesse de 8+8+14+4+10 = 44 cycles par pixel [ou 34 cycles par pixel si tu déroules la boucle], cela dit peut-être que tu as absolument besoin de traiter spécialement le cas (a2) = -1 ? (je ne sais pas ce que ça représente, mais c'est très probable qu'il n'y ait pas réellement besoin de le traiter à part avec les bonnes structures de données)

30

tu peux âpas précalculer tes rotations (vu qu'il n'y as pas bcp de tiles)?