π
<-

nKaruga

C, C++, ASM...

Re: nKaruga

Unread postby pierrotdu18 » 20 Jun 2014, 12:46

Si vous voulez suivre, c'est ici : http://www.omnimaga.org/pixel-art-and-d ... #msg387518

J'ai fait deux nouveaux ennemis, et un boss! :)
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: nKaruga

Unread postby matref » 03 Jul 2014, 10:23

Énorme bonne nouvelle : avec l'aide de différents testeurs et d'ExtendeD, j'ai pu régler le problème de vitesse ! :D

Il suffisait en fait d'implémenter un frameskipping 1/2 (ne dessiner les choses à l'écran qu'une frame sur deux, bien qu'on déplace les objets et teste les collisions à chaque frame) et un keyskipping 1/4 (ne tester les touches qu'une frame sur quatre, en fait c'est carrément lent des touches d'Nspire). J'avais déjà testé, mais apparemment j'ai dû mal le faire parce que ça n'avait pas changé grand-chose.

Résultats, ça va viiiiiiiiiiite, même beaucoup trop vite sur caltos GS :P

Image : http://www.mirari.fr/toLw

Test : http://www.omnimaga.org/ti-nspire-projects/(ndless)-nkaruga/?action=dlattach;attach=17743
Commandes : https://github.com/matrefeytontias/nKaruga/blob/master/README.md
User avatar
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 25%
 
Posts: 506
Joined: 11 Dec 2011, 03:08
Location: France, Châteaurenard
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MPSI

Re: nKaruga

Unread postby Lepzulnag » 04 Jul 2014, 12:06

J'ai hâte d'y jouer ! :D

Sinon, c'est super bon à savoir que les touches nSpire soient si lentes ! Tu viens de résoudre un de mes problèmes ;)

Comme toi, je suis actuellement sur un moteur de jeu (je travaille très peu hélas :( Mais bon les vacances commencent alors il y a de l'espoir !) et j'avais du faire face à un problème de vitesse qui me perturbait vraiment beaucoup : le jeu était plus rapide quand j'appuyais sur une touche, même si celle-ci n'avait aucun effet ! Comment appuyer sur une touche inutile pouvait-il accélérer le programme ?

J'étais très perturbé, et avais finalement trouvé une solution (sans comprendre pourquoi ça marchait) en augmentant le temps pendant lequel, dans la boucle, le programme ne fait rien (c'est pas tout à fait ça, mais en gros c'est l'idée).

Mais grâce à toi, je suis maintenant presque certain que c'est à cause d'un any_key_pressed que ce problème de vitesse avait lieu ! Le temps d'affichage + le temps de détecter l'appui d'une touche dépassait le temps d'attente de ma boucle, résultat : le temps d'attente était donc inutile ; la calculette travaillait sans pause (la pauvre :'( ). Appuyer sur une touche raccourcit la durée de traitement de la fonction any_key_pressed, et c'est sûrement cela qui causait l'accélération de mon programme !

Donc : bonne continuation pour ton jeu, et merci pour l'info technique :D
User avatar
Lepzulnag
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 78.5%
 
Posts: 151
Joined: 02 Aug 2012, 21:15
Location: Bretagne
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: M2 Maths

Re: nKaruga

Unread postby matref » 04 Jul 2014, 12:38

Mais de rien :P c'est effectivement sûrement ça le problème. Au pire teste :D
User avatar
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 25%
 
Posts: 506
Joined: 11 Dec 2011, 03:08
Location: France, Châteaurenard
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MPSI

Re: nKaruga

Unread postby critor » 04 Jul 2014, 15:35

Je ne sais pas si ça aide, mais nDoom n'utilise pas any_key_pressed et n'a aucun problème de vitesse à ma connaissance.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 50.2%
 
Posts: 42139
Images: 16461
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: nKaruga

Unread postby matref » 04 Jul 2014, 16:06

Pareil, j'utilise seulement isKeyPressed.
User avatar
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 25%
 
Posts: 506
Joined: 11 Dec 2011, 03:08
Location: France, Châteaurenard
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MPSI

Re: nKaruga

Unread postby matref » 05 Jul 2014, 15:34

J'ai ajouté l'écran titre (vite fait) que m'a fait pierrotdu18, et en ai profité pour réarranger un peu tout ça pour pouvoir (plus tard) faire des menus imbriqués.

Image

J'ai aussi rendu les patterns plus mieux en ajoutant un timer par vague :)
User avatar
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 25%
 
Posts: 506
Joined: 11 Dec 2011, 03:08
Location: France, Châteaurenard
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MPSI

Re: nKaruga

Unread postby Hayleia » 05 Jul 2014, 17:40

Très bien :)
Par contre, quand tu parles de frameskipping, tu zappes tous les dessins pendant une frame ou tu dessines quand même mais juste sans copier le buffer à l'écran ? Je suppose que c'est la deuxième solution* mais je demande quand même.

*surtout en lisant ça dans le code :
Code: Select all
if(!skipFrame)
{
   updateScreen();

   if(displayBg)
   {
      //faire des trucs
   }
   else
      clearBufferW();
}
Last edited by Hayleia on 05 Jul 2014, 17:44, edited 2 times in total.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: nKaruga

Unread postby matref » 05 Jul 2014, 17:43

Ah non, je dessine vraiment rien du tout. Ça évite que tous les sprites aient une traînée d'eux-même derrière eux.
User avatar
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 25%
 
Posts: 506
Joined: 11 Dec 2011, 03:08
Location: France, Châteaurenard
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MPSI

Re: nKaruga

Unread postby Hayleia » 05 Jul 2014, 17:46

Ah ok, ben j'ai bien fait de demander alors O.o
Du coup, ça marche bien ici mais ça marcherait moins bien pour des jeux où la collision se base sur le pixel. D'un autre côté, ce genre de jeu ne doit exister que sur z80 alors c'est pas trop grave :P

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

PreviousNext

Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
802 utilisateurs:
>774 invités
>20 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)