Bonjour!
Merci pour le retour Fusoy, ça me fait penser que je n'ai pas pensé à tout dire en postant la version! Ça serait dommage de louper les plus belles salles :p
Écrasé sous la fatigue hier soir, je n'ai pas réussi à faire une description correcte du jeu en postant la dernière version. Et je vais vous raconter un peu le développement du jeu au passage (chose que je n'ai pas pris le temps de faire pendant le week-end, même sur le chat où je me suis contenté de mentionner chaque nouvelle feature que j'avais ajoutée).
Comme vous le savez peut-être déjà, vous pouvez vous mouvoir sous l'eau en maintenant la barre d'espace appuyée et changer de direction avec les touches flechées. Quand vous approchez d'un levier, vous pouvez les pousser avec Ctrl gauche. Vous ramassez les clés en passant dessus.
Le seul challenge du jeu, c'est que les leviers et les clés sont parfois un petit peu cachés. Les portes qui n'ont pas de serrure ont forcément un levier qui les ouvre dans la salle où elles sont (ou dans la salle adjacente). Quant aux portes avec une serrure... les clés, ça se transporte
==============================
J'avais envie de faire un jeu où on nage, parce que j'aime bien certains jeux qui ont des séquences sous-marines (notamment les premiers Tomb Raider et Mario 64). Et dans le but peut-être de réutiliser le système pour un jeu plus ambitieux plus tard (réutiliser un système programmé à l'arrache en deux jours, quelle bonne idée :p )
Je suis reparti du code et des assets que j'avais fait pour le projet de l'année dernière (d'où la présence du "château" de la première salle, que j'ai laissé... Et que j'ai "industrialisé" vers la fin du dev pour remplir plus vite les dernières salles :p )
Le déplacement du perso, enfin de la brique, s'est fait facilement, mais ce qui manquait (et qui manque toujours) dans mon moteur, c'est un système de collision en 3D. Il y a déjà un système de collision 2D, et encore il ne permet que de détecter les impacts, pas de "glisser" quand on colle à un objet.
Du coup j'ai commencé un système simplifié (en gros, des AABB), qui marche bien pour les objets isolés mais j'ai eu plus de mal pour quand plusieurs objets sont collés ensemble (donc les longs murs et les petites pièces), ce qui m'a fait perdre pas mal de temps. De plus, contrairement aux apparences, la map n'est pas stockée dans une grille, c'est juste une liste d'objets avec chacun une position, ce qui m'a compliqué la tâche, et je n'avais pas non plus le temps de refactoriser le stockage de la map, donc j'ai du bricoler autour de ça.
Si j'ai le temps et que je reprends ce projet, c'est le système que je corrigerai en priorité.
Comme c'est un jeu où il y a peu de challenge, pas très dynamique, et où il y a surtout le plaisir de la découverte et de l'exploration, j'ai complètement laissé tomber la correction des collisions quand il me restait à peu près 4 heures, pour avoir le temps de faire un plan du niveau et de remplir les salles. Au final il y en a 7, certaines moins meublées que d'autres
Ce qui était à la fois sympa et pas prise de tête à coder, c'était bien sûr les interactions: les leviers, les clés et les portes.
Chaque levier est associé à une porte (et éventuellement à la porte qui est à la position correspondante dans la pièce adjacente, chose que j'ai ajouté à la fin pour un cas où le levier n'est pas dans la 1ère pièce où on voit la porte correspondante, mais dans la pièce d'à côté. Pour les autres cas, je mettais simplement une porte déjà ouverte dans la pièce adjacente :p).
Les clés n'ont pas de porte "associée", il faut juste que la couleur de la porte corresponde (ce qui ouvre des possibilités, avec par exemple une porte à choisir parmi trois de la même couleur quand on a 1 seule clé de la même couleur, cas que je n'ai malheureusement pas eu le temps d'utiliser).
Pour la "cinématique" d'ouverture de porte, c'est juste une position de la caméra qui est settée pendant l'animation d'ouverture de la porte.
Partager