π
<-

Concours Python 2024-2025 - Championnat de codage jeu vidéo

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Unread postby cent20 » 23 Dec 2024, 20:40

Apparemment get_pixel serait responsable des lags sur N0110. Je l'ai testé que sur N0120 et quand j'ai testé sur N0110 j'ai eu un choc. Je vais donc virer les set_pixel et optimiser le temps d'exécution sur N0110 ..
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.7%
 
Posts: 1058
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Unread postby ayabusa » 27 Dec 2024, 17:25

Bonjour,
Après avoir fini mon jeu pour la Numworks, je me rends compte qu'il ne tourne que sur Upsilon, et non sur l'OS officiel Epsilon, à cause de l'erreur suivante:
Code: Select all
MemoryError: memory allocation failed, allocating 149 bytes

Est-ce pénalisant pour le concours, ou est-ce que le fait de n'avoir qu'un OS compatible est acceptable :quest:
User avatar
ayabusa
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Level up: 80%
 
Posts: 2
Joined: 06 Feb 2024, 19:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Terminale
GitHub: ayabusa

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Unread postby critor » 28 Dec 2024, 12:22

Bonjour @ayabusa.


Je te rassure, ce n'est pas bloquant.

Mais si tu peux avoir la compatibilité Epsilon, c'est mieux.

Pour te donner un point de repère :
  • Epsilon : 64K de mémoire heap
  • Upsilon : 69K de mémoire heap
  • Omega : 99K de mémoire heap
Si ton jeu tourne sur Upsilon (et probablement aussi Omega) mais pas Epsilon, c'est qu'il ne te manque franchement pas grand chose niveau mémoire.
Il y a pas mal d'astuces simples pour consommer moins de mémoire heap, rien que dans la façon d'écrire son code.
Et si le jeu est terminé et que plus aucun ajout n'est prévu, c'est une situation d'autant plus confortable pour passer à la phase d'optimisation.

N'hésite pas à le partager et à en parler autour de toi.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 49.3%
 
Posts: 42044
Images: 16236
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Unread postby ayabusa » 28 Dec 2024, 19:54

Ok merci pour ta réponse et tes précieuses indications, je vais essayer d'optimiser mon script le plus possible :#top#:
User avatar
ayabusa
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Level up: 80%
 
Posts: 2
Joined: 06 Feb 2024, 19:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Terminale
GitHub: ayabusa

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Unread postby HenriHenry » 30 Dec 2024, 04:52

Bonjour tout le monde !
Ce n'est pas vraiment en rapport mais je ne sais pas où le mettre. C'est à propos du code "pykaster3d" de 2022, je n'arrive pas à le faire tourner sur numworks, bien qu'ayant réussi à l 'installer sur Khi, et à mettre le heap MicroPython à 124 ko. Le script démmarre, puis affiche une memory error après avoir dessiné un zone d'à peu près 80 pixel, sur l'écran.
Ensuite je ne peux même plus écrire quelque chose comme "from time import *" sans avoir de MemoryError. Pourriez-vous m'aider ?

Sinon, à propos du concours, je pense participer mais là je suis à court d'idée. je pense faire un jeu en 3d style minecraft en utilisant une technique similaire au "voxel rendering", mais franchement ça risque d'être un difficile... Si vous avez des idées que vous n'utiliserez pas, elles seront acceptées volontiers.

Merci d'avance ! :favorite: :D
Last edited by HenriHenry on 01 Jan 2025, 12:21, edited 1 time in total.
User avatar
HenriHenry
Niveau 1: MD (Membre Débutant)
Niveau 1: MD (Membre Débutant)
Level up: 60%
 
Posts: 4
Joined: 28 Dec 2024, 04:36
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Unread postby critor » 30 Dec 2024, 10:08

Bonjour @HenriHenry
HenriHenry wrote:Ce n'est pas vraiment en rapport mais je ne sais pas où le mettre. C'est à propos du code "pykaster3d" de 2022, je n'arrive pas à le faire tourner sur numworks, bien qu'ayant réussi à l 'installer sur Khi, et à mettre le heap MicroPython à 124 ko. Le script démmarre, puis affiche une memory error après avoir dessiné un zone d'à peu près 80 pixel, sur l'écran.
Ensuite je ne peux même plus écrire quelque chose comme "from time import *" sans avoir de MemoryError. Pourriez-vous m'aider ?

Malheureusement, le script nécessite déjà quasiment 100K de heap dans sa version monochrome, et sensiblement plus en version couleur.
J'avais certes réussi à le faire tourner sur NumWorks il y a 2 ans, mais nous étions déjà à quelques octets près avec des erreurs en cours de partie selon le trajet emprunté, et donc avec les mises à jour effectuées depuis qui ont fait bouger des choses, je ne suis pas surpris que l'erreur puisse se déclencher plus tôt.

Justement, il faudrait savoir si le réglage à 124K est bien pris en compte. J'ai des souvenirs de réglages de valeurs trop élevées pour lesquels KhiCAS n'y arrivait pas mais restait totalement silencieux à ce sujet.
Peut-être tenter légèrement moins de 124K.

Autre piste comme ça, tu peux tenter de créer un projet en ligne sur Upsilon Workshop, d'y importer les scripts de Pykaster 3D, et dans les réglages du projet de changer l'environnement d'exécution de Upsilon à Upsilon CASworks.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 49.3%
 
Posts: 42044
Images: 16236
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Unread postby HenriHenry » 31 Dec 2024, 07:49

Merci Beaucoup !
Pendant ce temps j'ai essayé de le faire tourner sur Upsilon (en réduisant le nombre de player à 5 pour l'instant), et je dois dire que vous avez fait un travail incroyable ! :o
Je me demandais si un portage du script sur Epsilon, Upsilon, et Omega pourrait être accepté pour ce concours ?
Et sinon, Est-ce que un jeu de type "tower defense" sans thème aurait assez de rapport avec "la carte" (Après tout, dans un tower defense, on construit sa propre carte, non ? ;) )?

Et si c'est possible, j'aimerais que vous m'expliquiez comment faire pour stocker des textures en bytes, comme pour Pykaster3d, et comment ensuite les interpréter et les redimensionner/orienter. (Si vous n'avez pas le temps, ce n'est pas très grave, je pense pouvoir m'en passer, mais je préfère être équipé au mieux pour ce concours et tout les suivants !)

Merci encore ! :favorite:
User avatar
HenriHenry
Niveau 1: MD (Membre Débutant)
Niveau 1: MD (Membre Débutant)
Level up: 60%
 
Posts: 4
Joined: 28 Dec 2024, 04:36
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Unread postby critor » 31 Dec 2024, 09:21

HenriHenry wrote:Merci Beaucoup !
Pendant ce temps j'ai essayé de le faire tourner sur Upsilon (en réduisant le nombre de player à 5 pour l'instant), et je dois dire que vous avez fait un travail incroyable ! :o

Merci :)
Si ça tourne sur calculatrice avec l'application Python du firmware Upsilon et pas avec l'application KhiCAS, c'est qu'il y avait effectivement un problème avec le réglage de la taille du heap, qui a posteriori ne fonctionnerait pas.

HenriHenry wrote:Je me demandais si un portage du script sur Epsilon, Upsilon, et Omega pourrait être accepté pour ce concours ?

De mon point de vue, ça ne rentre pas dans le cadre de la compatibilité avec un modèle différent.

HenriHenry wrote:Et sinon, Est-ce que un jeu de type "tower defense" sans thème aurait assez de rapport avec "la carte" (Après tout, dans un tower defense, on construit sa propre carte, non ? ;) )?

Le thème pour cette année, se voulait volontairement très ouvert afin de ne bloquer personne.
Tout jeu avec un affichage d'un monde 2D en vue de dessus et donc assimilable à un affichage de carte devrait convenir, et c'est a priori le cas d'un tower defense.

HenriHenry wrote:Et si c'est possible, j'aimerais que vous m'expliquiez comment faire pour stocker des textures en bytes, comme pour Pykaster3d, et comment ensuite les interpréter et les redimensionner/orienter. (Si vous n'avez pas le temps, ce n'est pas très grave, je pense pouvoir m'en passer, mais je préfère être équipé au mieux pour ce concours et tout les suivants !)

Si la question est de savoir comment mettre une image dans un script Python, il y a plein de façons, et entre autres nous avons un convertisseur en ligne qui fournit même une fonction d'affichage optimisée :
img2calc.php

Dans le cas de Pykaster3D, le moteur d'affichage 3D est de type raycasting.
Les images sont découpées en bandes verticales, qui à l'affichage sont juxtaposées avec des grossissements différents, ce qui donne l'effet de profondeur.
Voir par exemple https://permadi.com/1996/05/ray-casting-tutorial-10/
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 49.3%
 
Posts: 42044
Images: 16236
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Unread postby HenriHenry » Yesterday, 07:51

Bonne année à tous ! :D
Merci beaucoup critor, pour ces réponses toujours rapide et pertinente :favorite:

J'avais deux dernières (j'espère) questions :
Comment doit on présenter son message de participation, et depuis quel adresse mail faut-il l'envoyer ?
Je suppose que c'est depuis n'importe quel adress mail, du moment qu'on indique notre nom d'utilisateur TI-planet ?
Et peut-on écrire le texte des scripts en anglais, ou est-ce uniquement en francais/option francais et autres langues ?

Merci encore pour ce concours incroyable qui ne pourrait pas (ou difficilement) fonctionner sans vous, critor !!! :favorite:
Last edited by HenriHenry on 02 Jan 2025, 01:15, edited 1 time in total.
User avatar
HenriHenry
Niveau 1: MD (Membre Débutant)
Niveau 1: MD (Membre Débutant)
Level up: 60%
 
Posts: 4
Joined: 28 Dec 2024, 04:36
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Unread postby critor » Yesterday, 14:00

Merci, très belle année 2025 à toi aussi.

Tu peux expédier ta participation depuis l'adresse courriel de ton choix.
Il n'est pas obligatoire de fournir un nom d'utilisateur TI-Planet, mais c'est mieux pour nous d'avoir davantage de moyens de vous contacter, au cas où l'adresse courriel ne soit pas régulièrement consultée, ou que nos envois soient catégorisés comme du spam.

Tu peux écrire l'interface et les commentaires aussi bien en Français qu'en Anglais, il n'y a aucune pénalité là-dessus. !=
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 49.3%
 
Posts: 42044
Images: 16236
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Previous

Return to News Divers

Who is online

Users browsing this forum: No registered users and 56 guests

-
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.
1081 utilisateurs:
>1066 invités
>9 membres
>6 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)