[Topique d'entraide] V601's H.Q.
Posté le 23/09/2022 12:19
Bienvenue au quartier général de l'unité V601. Le but ce topique est de servir au partage des information sur le concours de rentrée 2022: "Maîtriser Pykaster 3D", et accessoirement de propagande pour mon groupe. Donc partager et j'essayerais d'organiser tout ça ^^.
Description
Pour faire court, cette année vous vous balader dans un labyrinthe pour attraper des souris et ainsi gagner des points et des niveaux, tandis que les mouvements et la capture de souris trop haut niveaux vous en coute.
Descriptif du programe
Voici l'utilité des divers fichiers:
-
myrandom;py : génération de l'aléatoire.
-
pyka3dc.py : routine de compression et décompression des textures.
-
pyka3dmc.py,
pyka3dmr.py: données de la map.
-
pyka3dsr.py,
pyka3dtr.py,
pyka3dsc.py,
pyka31dtc.py : Textures et sprites pour les divers systèmes.
-
polycal5.py,
polycalc_sdl2 : routines pour dessiner à l'écran des divers système (gg Critor)
-
tools.py : diverses fonction qui sont appelés souvent dans le reste du code (calculs de distance, etc)
-
polyfont.py : définition de la police d'écriture.
-
pyka3dlb.py : moteur du jeu et raycasteur (la partie qui nous intéresse)
-
interval.py : routines de gestion des intervalles (ça ça l'air de merge des listes trié, faudrait que je jette un coup d'œil mais ça à pas l'air urgent)
-
pyka3d.py : le code à soumettre où vous devez écrire vos mouvements
Score
Précédemment on a pu établir qu'il fallait regarder du côté de
pyka3dlb.py pour le calcul du score
Les règles sont les suivantes:
- On commence avec 1000 points
- Avancer et reculer coute 0.01 * distance (absolue) + 0.001 * distance (arrondie à l'entier sup)
- tourner coute 0.0001 peu importe l'angle
- les pas de côté utilisent la même formule que pour avancer et reculer (0.01 * abs(dist) + 0.001 * ceil(dist))
- sauter coute 0.0001 * hauteur de saut (à l'entier supp) + hauteur de saut
- attendre coute 0.0001 * durée d'atente (à l'entier supp)
- attraper une souris jaune rapporte 100 / (1+ difference de niveau)
- se faire attaquer par une souris rouge coute autant de point que votre difference de niveau
L'on peut voir qu'en dehors des sauts, les mouvements ne sont pas si couteux, leurs optimisations peut-être remisent à plus tard, mais aussi qu'il faut éviter les souris rouges.
Niveau
Intéressons-nous à la mécanique de niveau
Joueur:
- Vous commencez au niveau 3
- capturer une souris jaune vous fais gagner un niveau
Souris :
- Les souris commencent à un niveau entre 1 et 4 (24 lvl1, 20 lvl2, 22 lvl3 et 33 lvl4)
- si deux souris fusionnent, la plus haut niveau gagne un niveau, l'autre disparait
- Les plaques montent toutes les souris d'un niveau
Notez que si le plafond est trop bas, vous ne monterez pas de niveau.
Plan du donjon
Voici le plan du RdC, avec en rouge votre point de spawn et escalier pour le premier étage.
Et bien sûr le plan du premier étage avec escalier pour le toit et pont pour le jardin.
Score de groupe
Le score de groupe est calculé à base d'une moyenne ponderé sur les divers membre du groupe.
Ainsi pour un groupe de N personne chaque membre voit son poid égal à l'ancienneté de son score, ainsi le plus recent aura un facteur 1, celui juste avant un facteur 2, etc jusqu'à N. Cepandant, deux membre aura un facteur multiplicatif supplementaire, le plus ancien et le plus faible (on ne peut pas les cumuler) ce facteur est de √N et il est purement bonus et n'intervient pas dans les poids pour la division.
score1+score2*2+score3*3*√N+score4*4+…+scoren-1*(n-1)+scoren*n*√n
----------------------------------
1+2+3+…+N
(on imagine ici que 3 avait le score le plus faible)
Ainsi dans un cas hypothetique ou tout les joueurs on le même score, le score de groupe serait de augmenté d'un facteur N/(N(N+1)/2) soit 2/(N+1) par rapport au score de départ.
Recrutement
Volunteer wanted
for hazardous challenge
No wages
Long weeks of gloomy maze
Constant danger
Safe return doubtful
Sticker and recognition in case of success
Fichier joint
Citer : Posté le 24/09/2022 20:49 | # | Fichier joint
Et voici en exclusivité le plan du Rez-de-chaussé. (en piece jointe)
Citer : Posté le 24/09/2022 20:56 | #
Bravo, maître du décodage de puzzle !
Citer : Posté le 24/09/2022 22:08 | # | Fichier joint
Et le premier étage (les fichiers peuvent changer de temps en temps si je rajoute des annotations, donc n'hésitez pas à repasser )
Citer : Posté le 26/09/2022 14:22 | #
p'tit ping pour signalé que j'ai fais un erreur sur les niveaux initiaux des souris, c'est maintenant corrigé et en bonus je vous ai mis la repartition
Citer : Posté le 26/09/2022 22:14 | #
“Boom! Ahahaha~!” – W, mercenaire Sarkaz
C'est sur ces mots et ce score non moins détonant que j'annonce l'entré de la V601 dans la competition ainsi que le debut du recrutement.
Voici donc sans plus tarder les régles du groupe:
- Regner sans partage sur la competition.
- Libre echange d'information avec les autres groupes
- Les outils restent interne au groupe (sauf si Pavel tue toute competition)
- En cas de victoire, je ne participerais pas au choix du lot et ne recevra rien en dehors des sticker et aimaintin
- Le choix du lots et ça distribution ce fera par accord commun des membres
- Si aucun accord n'est trouvé il y aura un vote pour le choix du lot et votre vote sera proportionel à votre score. Et le lot distribué article par article par ordre décroissant de score (Critor va adorer )
Si vous êtes interessé pour me rejoindre, voici l'epreuve de recrutement:
Vous devez faire un score supérieur ou égal au mien à date du dimanche 25 septembre 18:45:09, soit 1764,5
Citer : Posté le 27/09/2022 01:10 | #
ping! une section sur le calcul de score de groupe est arrivé.
Citer : Posté le 02/10/2022 22:03 | # | Fichier joint
Ma maigre contribution :
voici un petit script pyka3dlb.py pour remplacer l'original (testé seulement avec la version SDL sur PC, alors merci de ne pas raler).
ca dessine le labyrinthe (en fonction de la hauteur du joueur) ainsi que les positions des souris avec le code couleur des points rapportés.
si les souris sont rose pale elles se trouve à un niveau supérieur, si elles sont bleu pale elle sont a un niveau inférieur.
Le joueur est le point bleu foncé.
voila a quoi ca ressemble :
Citer : Posté le 02/10/2022 22:09 | #
Ça ressemble a mon mod si un mec avait bossé l'UI donc bravo.
Petite précision, juste avec un mod comme ceci j'ai fais 1764.5, donc bon courage
Citer : Posté le 03/10/2022 18:59 | #
Superbe mod, ça fait plaisir de vous voir creuser le code à ce point, et également plaisir de vous voir partager vos outils !
Citer : Posté le 13/11/2022 15:41 | #
@HackCell je t'ai envoyé un mp pour rejoindre (si tu veux bien) la coallition v601
Citer : Posté le 13/11/2022 16:00 | #
Pour info, tu n'as pas besoin d'attendre la réponse pour envoyer ton score.
Les entrées/changements de groupe sont rétroactifs sur les scores déjà soumis.
Citer : Posté le 13/11/2022 19:01 | #
D'acc merci
Citer : Posté le 13/11/2022 22:21 | #
@HackCell je t'ai envoyé un mp pour rejoindre (si tu veux bien) la coallition v601
Désolé, je ne veux pas. La logistique pour rester gagnant avec ton score est trop complexe pour une participation aussi tardive.
(La communication écrite n'etant pas mon fort, il est probable que je te froisse, et j'en suis désolée)
Citer : Posté le 14/11/2022 09:48 | #
Ok, je comprends.
C'est vrai que c'était assez tard
Citer : Posté le 14/11/2022 09:54 | #
Mince, j'aurais sûrement dû t'envoyer mon vrai score et pas juste une image montrant que j'ai dépassé tout juste 1764,5…
Bref, 2 bonnes fautes de ma part
Citer : Posté le 14/11/2022 10:21 | #
Mince, j'aurais sûrement dû t'envoyer mon vrai score et pas juste une image montrant que j'ai dépassé tout juste 1764,5…
Bref, 2 bonnes fautes de ma part
Un peu plus de détails, en effet logistiquement parlant c'est compliqué, car nous avons un des membres de la Team basé aux US et il nous faut donc aussi tenir compte des dispos en fonction des horaires, tout en prenant en compte les 6 heures de décalage horaires et les activités de chacun. Hier soir était clairement trop tard pour nous pour nous retourner, on ne pouvait donc pas refaire un run de renvoie en si peu de temps, tout étant calé de notre côté.
Tu auras aussi certainement vu que le plus important n'est pas ce qu'on envoie en terme de score (bien que cela compte aussi forcément), mais bien l'ordre dans lequel on envoie les dits scores (pour avoir les bon coefficients sur les score ad-hoc). Donc logistiquement c'est un peu chaud.
La prochaine fois, car il y aura certainement une prochaine fois, fais ta demande plus tôt que l'on puisse se retourner et se mettre en ordre de bataille.
@+
Sly
Citer : Posté le 14/11/2022 10:23 | #
Oh wow je me doutais que vous aviez ajusté vos scores pour tout bien maximiser, mais l'ordre de soumission aussi ? Diantre vous y avez mis les moyens. xD
Citer : Posté le 14/11/2022 10:31 | #
Il y avait effectivement une petite astuce dans l'ordre des scores à soumettre, se voulant bonifier les groupes travaillant véritablement et régulièrement ensemble, au lieu de simples rassemblements d'individualités comme on avait pu voir les années précédentes.
Bravo pour l'avoir découvert, compris, et en avoir tenu compte !
Citer : Posté le 14/11/2022 11:48 | #
Oh wow je me doutais que vous aviez ajusté vos scores pour tout bien maximiser, mais l'ordre de soumission aussi ? Diantre vous y avez mis les moyens. xD
oui je pense qu'on était vraiment au taquet là