30

Personnellement, je trouve Space Dementia déjà très abouti. Il faudrait juste pour la 1.0 le jeu en arena, effectivement, en link ou à 2 sur la même calc (écran splitté sur 92+/V200 love).
J'espère par contre beaucoup de ton autre moteur oui.
"Mi lernas Esperanto. G^i estas tre facila lingvo"
Apprenez vous aussi l'Esperanto!
Cours gratuit ici et dictionnaire

31

non Pas a deux sur la même calc :
pour diriger un vaisseau dans l'espace il faut avoir un minimum de touches et à deux c'est pas pratique, en plus je me vois mal faire pivoter l'écran de 90°...

link powaa !!
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

32

Autre chose, ce serait de pouvoir faires des niveau fixes, avec éventuellement des bords (histoire de simuler une valléwink).
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

33

Oué, ou un fond d'écran, pour simuler un fond étoilé ou autre.
"Scrutant profondément ces ténèbres, je me tins longtemps plein d'étonnement, de crainte, de doute..."
Edgar Allan Poe

34

a ué, pas bètes aussi le background, ça peut aider pour le déplacement.
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

35

Quelques essais en vue de Space Dementai II grin

C'est fait avec mon new moteur + flat shading (lumière provenant d'une direction fixe)
xWing%20shadedTieI%20Base

+ d'infos sur mon site (lien en dessous)
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

36

ué, mais ça rame, maintenantgrin
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

37

moitib: quelles routines utilises-tu pour marquer les FPS et les nombres en bas de l'écran ?
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

38

Et tu utilises quoi pour tes lignes horizontales ?

39

#35 : bof, ça reste encore correct là (le framerate indiqué est le vrai maintenant, et il vaut ~10 on calc).

Autre chose, là les points subissent deux sequénces de rotations, une pour faire tourner le vaisseau sur lui-même, une autre pour la caméra.
Dans le jeu, si la caméra est lockée sur le vaisseau pas besoin de transformer du tout les points, donc gain de temps, et en vue cockpit même pas besoin de dessiner le vaisseau.
Donc je garde espoir...
De toute manière ca sera toujours plus rapide que ce que je pourrais faire comme jeu de bagnole (avec là tout un terrain à afficher...).

#36 : les routines de l'AMS, mais ce n'est qu'une fois par frame, ca change pas grand chose au framerate... (j'ai essayé sans).

#37 : Une routine de mon propre cru en ASM qui affiche par paquets de 16 bits.

J'ai aussi fait la routine de triangle qui appelle ces fonctions de lignes horizontales en ASM, et maintenant je crois que je vais faire un fillRectangle en ASM aussi parce que j'affiche principalement des rectangles...
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

40

Un FillRectangle, c'est vraiment beaucoup plus rapide qu'un FillTriangle smile
Sinon, pour tes lignes horizontales, essaie ça, dont voici le prototype (ce ne sera peut-être pas plus rapide, mais ça peut...)
Tiens moi au courant, si ce n'est pas plus rapide

41

Merci. Le code à l'air plus court que le mien.
Je peux le modifier pour écrire dans les deux buffers en un seul passage ?
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

42

Ah, au fait, moi je calcule l'adresse du début de ligne dans la fonction triangle, en ajoutant 30 à chaque fois donc je pense que c'est un peu plus rapide que de passer y et l'adresse du buffer en argument à chaque fois...
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

43

jackiechan a écrit :
Un FillRectangle, c'est vraiment beaucoup plus rapide qu'un FillTriangle smile


En fait je voulais dire un fillquadrilatère wink
Qui sera plus rapide que deux fillTriangle (déja deux divisions de moins).
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

44

#41> C'est ce que je fais aussi, c'est plus rapide.

45

moitib
a écrit : Ah, au fait, moi je calcule l'adresse du début de ligne dans la fonction triangle, en ajoutant 30 à chaque fois donc je pense que c'est un peu plus rapide que de passer y et l'adresse du buffer en argument à chaque fois...
Oui, je fais ça aussi dans Baballe, c'est une bonne idée. Tu peux modifier ma fonction pour pouvoir continuer à le faire, si tu veux.
Alors, c'est plus rapide avec ma fonction ou avec la tienne ?

46

Bah, il doit pas exister plus rapide qu'avec des mask pour une HLine ... donc apres, si ton code est tres optimisé jackiechan, c forcément bien smile

47

Pour le sprintf, il ne doit pas y avoir une énorme différence (encore qu'en faisant avec un itoa optimisé et plein de strcats, tu devrais faire mieux, mais ça va être assez gros).
En revanche, il y a matière à faire nettement mieux à l'affichage. Ca dépend de la version d'AMS, mais faire 10x plus rapide que DrawStr est parfaitement faisable sous AMS 2.xx, sans dérouler la boucle d'ailleurs.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

48

10 fois ? Pour l'instant aucune librairie n'offre autant de vitesse il me semble. Extgraph 2 va a cette vitesse là ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

49

nEUrOne> je ne sais pas trop si mon code est vraiment optimisé. J'ai une ou deux petites idées pour l'optimiser (utilisation de dbra par exemple [je ne connaissais pas cette instruction quand j'ai écrit la fonction]), mais je ne suis pas sûr que ça apporte vraiment (ou bien ça apporterait peut-être seulement sur les grandes lignes d'au moins la moitié de la largeur de l'écran).

50

oui, en effet, ca ne doit pas apporter bcp sur des petites ... mais bon, je pense qu'une bonne partie de ses lignes font une largeur raisonnable...

XDanger: je ne vois pas comment faire plus rapide qu'un affichage de sprite tres optimisé pour affichier des caractères ... alors quelle fonctionnalité de AMS 2.xx utiliserais-tu pour faire 10x ?

51

> 10 fois ? Pour l'instant aucune librairie n'offre autant de vitesse il me semble. Extgraph 2 va a cette vitesse là ?
Il n'y a pas de routines de dessin de caractères / de chaînes de caractères dans ExtGraph, il n'y en aura jamais. Elles seront dans TIGCCLIB, je l'ai déjà dit. Je relancerai ce topic tôt ou tard sur notre forum...

Je n'invente rien: PpHd a fait une routine de DrawStr qui est 6 fois plus rapide que celle d'AMS 1.xx, il en a déjà parlé. Nos routines respectives sont autour de ce ratio avec AMS. Et la routine DrawStr d'AMS 2.xx est plus lente que celle d'AMS 1.xx, précisément à cause de cet overhead dû à l'appel des fonctions de FlashApp pour avoir les attributs de fonts...
L'ordre de grandeur, au moins, est bon !
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

52

aRf ... oki oui, bah on arrive a 7/8 fois AMS 1.xx avec des routines optimisées grin

53

"Optimisées" quoi, aussi ? Taille (boucle simple non déroulée, deux shiftings) ou vitesse (boucles déroulées, deux shiftings) ?
Et comme DrawStr de AMS 2.xx est plus lente que DrawStr d'AMS 1.xx... on arrive à 10 fois ou plus. Nous sommes bien d'accord, et je n'ai pas exagéré.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

54

Vitesse ... (boucle non déroulée)

Oui, nous sommes d'accord grin

55

moitib a écrit :
En fait je voulais dire un fillquadrilatère wink

FillQuadrangle en anglais correct. smile
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

56

nEUrOne a écrit :
aRf ... oki oui, bah on arrive a 7/8 fois AMS 1.xx avec des routines optimisées grin

Heu ué je dois être à environ 7 fois plus avec qFont, boucles non déroulées, pas de double shifting.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

57

jackiechan a écrit :
Oui, je fais ça aussi dans Baballe, c'est une bonne idée. Tu peux modifier ma fonction pour pouvoir continuer à le faire, si tu veux. Alors, c'est plus rapide avec ma fonction ou avec la tienne ?


Euh, dsl, j'ai pas encore testé.
De toute facon il faudrait que je l'adapte aussi pour écrire dans les deux buffers simultanement pour pouvoir comparer...

Je crois que je vais plutôt m'inspirer de ton code pour optimiser le mien (mais ils sont pas très différents).
D'ailleurs le mien fait aussi un clipping sur la largeur de l'écran (deux tests au début).

#54 : roll Je parle franglais si je veux non ?? grin
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

58

J'ai fait une boucle non déroulée, mais un double shifting. Le 24-(x&15) des routines de Sprite8 (une routine de dessin de caractères n'est qu'une Sprite8 légèrement modifiée et une routine de dessin de chaîne de caractères une routine de dessin de caractères avec une boucle sur le caractère) est très pénalisant si x&15 est petit devant 15...
C'est ce qu'on a fait dans les Sprite8 d'ExtGraph -> une amélioration de l'ordre de 20% par rapport aux routines précédentes en C avec un seul shifting.
Le principe du bench est toujours le même, dessiner un sprite quelconque à chaque x et y où c'est possible (de 0 à 239-8 pour x et 0 à 127-8 pour y).
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

59

Jackiechan, ta routine est plus rapide, ca c'est clair.
Mé une fois implantée dans mon prog je gagne à peine une frame par seconde...
C'est toujours ça grin
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

60

et avec la copie rapide de buffer ?