Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minijeux, scripts et entités #34

Open
wants to merge 62 commits into
base: main
Choose a base branch
from
Open

Minijeux, scripts et entités #34

wants to merge 62 commits into from

Conversation

fmkr-project
Copy link
Collaborator

@fmkr-project fmkr-project commented May 16, 2022

Structure du programme

  • Ajout d'une horloge interne gérant les ticks et la date dans le jeu
  • Passage des scripts dans un dossier dédié, simplifiant la création et l'édition de scripts
  • Ajout de diverses fonctions de scripting
  • Passage à une classe Entity universelle pour le joueur, les PNJ et les objets immobiles

Gameplay

  • Ajout d'un mini-jeu et de la possibilité d'en créer de nouveaux
  • Warps fonctionnels et animés

+ Ajout de la classe InternalClock qui réunit désormais les fonctions liées au temps
+ Modification de toutes les fonctions utilisant l'ancien système de comptage des ticks
+ Début d'ébauche d'un système de date et heure
+ Affichage dans le menu debug du jour et de l'heure
+ Script utilisant le jour de la semaine en L101
+ Ajout d'un script "majeur" contrôlant l'obtention d'un objet
+ Ajout d'un script pour forcer l'arrêt du jeu
+ Ajout d'un script complet sous forme de questions fermées
+ Ajout d'une texture pour la craie blanche
+ trk14 : refonte du Morse en fin de morceau
+ trk9 : meilleurs instruments
+ trk15 : boucle un peu plus longue
+ Correction de la bande sonore destinée aux DS
+ Ajout des salles I004 (salle Relo), I007 (salle de musique, cf. suggestions sur le .tmx), N205 (salle Laadnani), L204 (salle JJM), A205 (salle Allain 2), et A204
+ Petites finitions graphiques pour la L101
+ Ajout d'un mini-jeu de sélection avec une multitude de questions (3) liées au programme de Sup et de Spé

Important : des bugs imprévus peuvent (et vont) apparaître.
+ Initialisation correcte des touches, le jeu ne plante plus lorsqu'on appuie une flèche
+ Ajout de quelques questions (attention : pouvant contenir des erreurs !)
+ Quelques questions, surtout sur le Michelson
+ Les propositions ne s'affichent désormais plus dans l'ordre
+ Ajout de la possibilité d'envoyer la L101 sur la Lune avec la combinaison de touches ctrl + shift + alt + f12 + k + 7 (pavé numérique)

+ Remasterisation de la Soupe aux Choux en version Dolby Digital 3.14
+ FIX : Les touches fonctionnent correctement lors de l'interaction avec une choicebox
+ Ajout de questions principalement sur la topologie
Au programme : suites et séries de fonctions, formule de STIRLING, et quelques questions de physique
Au programme : électricité et filtrage de première année et thermodynamique (début)
Au programme : thermo (fin) et un peu d'analyse vectorielle
Au programme : méca (début)
Au programme : enfin 100 questions ! Méca (fin) : moment cinétique, mouvement dans un cfc, rappels (ch. Méca 0), méca en ref non galiléen.
Pas de frottements solides car c'est juste de la méca classique avec une ou deux forces liées aux lois de Coulomb.
+ Le jeu ne sauvegarde plus automatiquement lorsque la touche Echap est pressée ou bien lorsqu'un objet est ramassé

NOTE : Maintenant, le seul moyen de sauvegarder est d'utiliser le menu !
Au programme : optique, ondes, signaux (non quantiques)
Au programme : toute la chimie, sauf les parties plus faciles (cristallo, diagrammes I/E)
Au programme : statique et ondes EM
Au programme : vraiment très peu de questions. Quantique et probas
+ Ajout d'une map vide (map 0)
+ Lors d'un warp, l'écran devient désormais sombre puis s'éclaircit le temps que le joueur soit déplacé d'une map à l'autre
+ Petites avancées sur #5 : commentaires, passage aux f-strings

NOTE : Il y a un petit déplacement entre le moment où l'on sort de la transition et où l'on peut bouger. Ainsi, il faut déplacer quelques portails/spawns pour que le joueur ne se retrouve pas coincé
+ Correction de quelques questions
+ Utilisation de la fonction warp (module player) dans la commande de script warp
+ La fonction teleport_player du module maps peut maintenant prendre en argument des coordonnées brutes
Le dernier !
Au programme : révisions de première année (pas beaucoup car le cours de 2ème année reprend pas mal de notions vues en MPSI)
+ Séparation entre les portes activables avec la touche Espace et les portails activables lorsqu'on marche dessus
+ Petits changements au niveau des objets de chaque map
+ Nettoyage : modules inutilisés

NOTE : Lors de l'édition des maps, les portes doivent dépasser légèrement sur le couloir pour pouvoir les activer. Les portails non, pour des raisons évidentes
+ Possibilité d'utiliser indifféremment liste et tuple (ou array de numpy...) pour les coordonnées de warp
+ Le script de Skler fonctionne de nouveau normalement
+ DEBUG : le joueur sprinte encore plus vite
+ Agrandissement des maps I210 et I211 : purge totale des effets de bord
+ Ajout des salles I003 et H010, ainsi que du Chemin de Ronde (la H010 est pour l'instant accessible uniquement via le CdR)
+ Un peu de déco en I211
@fmkr-project fmkr-project marked this pull request as ready for review May 20, 2022 10:06
Copy link
Contributor

@code-review-doctor code-review-doctor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Worth considering though. View full project report here.

+ L'heure et la date sont sauvegardées dans un nouveau fichier internals.yaml
+ Suppression de lignes inutiles
+ Ajout de textures d'herbe
+ Pelouse dans la CDH
+ Les PNJ peuvent se déplacer automatiquement suivant un motif défini à l'aide d'un script

Nouveau fichier de scripts : il est toujours possible de le renommer (le nom n'a pas d'influence sur le bon fonctionnement du script manager)
+ Les mouvements permanents des PNJ peuvent être annulés (Exemple en face de la Vie Sco)
+ Ajout de trk24
+ Divers effets sonores pour trk22
+ Ajout de boîtes "émotionnelles" permettant de faire réagir le joueur (et à terme les pnj) à des situations via une fonction script
+ Possibilité d'orienter le joueur dans la direction souhaitée lors de l'entrée sur la map (modifier la DB, table portals)

Mise en application en I109 !
ça coupait en plein milieu...
+ Ajout d'un script pour dormir jusqu'au jour suivant (7:00) dans la chambre
+ Déblocage des commandes lorsque le joueur termine un mouvement sans rentrer en collision avec un obstacle
+ Ralentissement du jeu (1 min = 120 ticks)
+ Corrections esthétiques du Menu latéral
Repository owner deleted a comment from code-review-doctor bot Jul 26, 2022
Repository owner deleted a comment from code-review-doctor bot Jul 26, 2022
Repository owner deleted a comment from code-review-doctor bot Jul 26, 2022
+ Ajout du game tick pour l'actualisation des données du jeu
+ Ajout de la possibilité d'exécuter un script à chaque game tick, il suffit d'en écrire un dans un fichier contenant le mot "persistent"
+ Fonctions de comparaison des coordonnées, de la date courante et de l'ID de la salle

ATTENTION : faites en sorte que vos scripts permanents soient pas trop gros pour le moment
@fmkr-project fmkr-project added Statut : En test Requête en test, non mergé and removed Statut : En cours Requête en cours de traitement labels Jul 26, 2022
+ Correction des boîtes de dialogue
+ Du son
+ Ajout des "ticks de temps" qui viennent remplacer les anciens ticks de jeu : calcul de la date courante
+ Pas d'interruption du jeu lors de l'exécution des scripts permanents uniquement
+ Ajout de la statistique "énergie"
+ Le joueur perd de l'énergie lorsqu'il court (et + à venir)
+ Blackout (passage du temps) lorsque l'énergie atteint 0
+ Fonctions de passage du temps, de l'énergie et de sauvegarde de la position du joueur
+ Remplacement des interrupt dans les scripts permanents par des goto(end)
+ Correction d'un bug pouvant faire sauter une instruction d'un script
+ Début d'implémentation de l'argent
+ Le joueur peut désormais parler correctement aux PNJ (bug lié aux scripts permanents)
+ Unification des fonctions de recherche dans le fichier locale

+ Ajout des missions, du sous-menu et des fonctions de scripting relatives
+ Sauvegarde de la progression des missions
+ Graphismes associés aux missions
+ Ajout d'une fenêtre latérale aux sous-menus Missions et Sac permettant l'affichage de données supplémentaires (description, menu contextuel)
+ Mise à jour correcte du contenu du Sac en revenant à la position d'origine à chaque fermeture de la barre latérale
+ Ajout du script commun à tous les PC (fonctionnalités à développer)

+ Ajout d'une nouvelle mission entièrement jouable : parler à Denis
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Statut : En test Requête en test, non mergé
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Transition musicale Classification des cartes et fonction de téléportation
1 participant