nKaruga
Re: nKaruga
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!
J'ai fait deux nouveaux ennemis, et un boss!
Bonjour
-
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 975
- Joined: 07 Nov 2013, 20:18
- Location: Paris V
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: MP* Lycée Henri IV
Re: nKaruga
Énorme bonne nouvelle : avec l'aide de différents testeurs et d'ExtendeD, j'ai pu régler le problème de vitesse !
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
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
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
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
-
matref
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 506
- Joined: 11 Dec 2011, 03:08
- Location: France, Châteaurenard
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Prépa MPSI
Re: nKaruga
J'ai hâte d'y jouer !
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
Donc : bonne continuation pour ton jeu, et merci pour l'info technique
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
-
Lepzulnag
Niveau 9: IC (Compteur Infatigable)- Posts: 151
- Joined: 02 Aug 2012, 21:15
- Location: Bretagne
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: M2 Maths
Re: nKaruga
Mais de rien c'est effectivement sûrement ça le problème. Au pire teste
-
matref
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 506
- Joined: 11 Dec 2011, 03:08
- Location: France, Châteaurenard
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Prépa MPSI
Re: nKaruga
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.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 42139
- Images: 16461
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: nKaruga
Pareil, j'utilise seulement isKeyPressed.
-
matref
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 506
- Joined: 11 Dec 2011, 03:08
- Location: France, Châteaurenard
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Prépa MPSI
Re: nKaruga
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.
J'ai aussi rendu les patterns plus mieux en ajoutant un timer par vague
J'ai aussi rendu les patterns plus mieux en ajoutant un timer par vague
-
matref
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 506
- Joined: 11 Dec 2011, 03:08
- Location: France, Châteaurenard
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Prépa MPSI
Re: nKaruga
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 :
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.
Pokemon Topaze (Axe) discussion and download links here | (19:29:36) noelnadal: plus sérieusement, j'ai très peu de problèmes (22:45:44) Clifward: J'aime rire du malheur des autres (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 |
-
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)- Posts: 2509
- Images: 2
- Joined: 30 Aug 2011, 08:22
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Templar
Re: nKaruga
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.
-
matref
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 506
- Joined: 11 Dec 2011, 03:08
- Location: France, Châteaurenard
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Prépa MPSI
Re: nKaruga
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
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
Pokemon Topaze (Axe) discussion and download links here | (19:29:36) noelnadal: plus sérieusement, j'ai très peu de problèmes (22:45:44) Clifward: J'aime rire du malheur des autres (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 |
-
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)- Posts: 2509
- Images: 2
- Joined: 30 Aug 2011, 08:22
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Templar
Return to Native: Ndless, Linux, ...
Who is online
Users browsing this forum: No registered users and 1 guest