Projet Godot Top Secret

Pour présenter ses jeux en cours de création, terminés ou abandonnés
Avatar du membre
trotter
Messages : 1620
Enregistré le : 09 juil. 2019, 19:38

Re: Projet Godot Top Secret

Message par trotter » 29 juin 2024, 16:49



Ca rend très bizarre avec les anims actuelles qui sont pas adaptées, le saut je voudrais faire comme dans Dragon Ball, les jambes pliées.

-J'ai rendu le saut "dosable".
Pour reproduire cette sensation du saut dans Dragon Ball :
Image

-Ensuite ya la notion de "air control". Pendant qu'on saute on doit contrôler le perso, mais pas aussi vite que s'il est à pied.
MAIS le premier air control DOIT être aussi vite qu'on est à pied sinon ça fait super bizarre.
Donc si on change de direction pendant un saut, on va deux fois moins vite en l'air.

-Enfin j'ai rendu le bunny hop beaucoup moins difficile avec 40ms de marge d'erreur pour faire le saut suivant (au lieu de 1ms lolz).

Le code est là si vous êtes curieux : https://gitlab.com/trotter.poulpe/godot ... type=heads

On voit qu'il y a un paquet de variables pour gérer tout ça :
const SPEED:float = 5.0
const JUMP_VELOCITY:float = 2.0
var dash_speed: float = 1.5;
var jump_horizon_bonus_speed: float=1
var ms_before_ending_dash: float = 100;
var max_dash_energy:float = 2
var dash_energy:float = max_dash_energy
var MAX_VERTICAL_JUMP_ENERGY:float = 100
var vertical_jump_energy:float = MAX_VERTICAL_JUMP_ENERGY
const INTERVAL_BETWEEN_DASH_SOUND_EFFECT:float = 200
var ms_left_before_next_possible_dash_sound_effect:float = INTERVAL_BETWEEN_DASH_SOUND_EFFECT
var interval_between_dashes:float = 45
var ms_left_before_next_possible_dash:float = interval_between_dashes
var ms_before_ending_bunny_hop:float = 0
const MS_BETWEEN_BUNNY_HOP:float = 40
const BUNNY_HOP_HORIZONTAL_SPEED_BONUS:float = 0.4
var air_control_malus:bool = false
var air_control:float = 0.5
var jump_during_dash_done:bool = false

Avatar du membre
trotter
Messages : 1620
Enregistré le : 09 juil. 2019, 19:38

Re: Projet Godot Top Secret

Message par trotter » 29 juin 2024, 17:00

Il faut que :
-je commence à créer ennemis + attaques + environnement basiques pour valider la vitesse des déplacements. Des déplacements dépendront les niveaux, les attaques ennemies (zone d'effet etc), la taille des ennemis bref IMPORTANT de valider les déplacements !!!
-il me manque un déplacement, c'est le dash en l'air.
-je refasse les anims de déplacement car elles me perturbent un peu, notamment l'absence d'anim de dash.
-la caméra doit pouvoir se déplacer autour du perso et le perso marche vers la caméra (au lieu de marcher à reculons) sauf si on est en mode combat. Pas très clair dans ma tête ce qu'est le mode combat.

Pour le combat je veux des anims type KPOP mais impossible avec un combat au corps à corps.
Image

Par contre ça doit être possible avec une épée fouet :
Image

C'est également possible avec des flingues :
Image

Néanmoins je ne suis pas sûr de pouvoir combiner anims sexy + vitesse de jeu (se cambre en 0.8s, se penche en 0.4s, fait un mouvement de vague en 0.7s...). Tant pis je vais essayer. Bayonetta par exemple n'y arrive pas très bien selon moi, ses anims sont trop rapides. Stellar Blade non plus. BloodRayne est passable. Lolipop Chainsaw ou Remember Me utilisent des ralentis pour compenser ça.
Il faudra que je privilégie les poses avant le réalisme des animations et je pense qu'une épée fouet peut me permettre ça NEANMOINS j'ai peur pour la physique. Faut que j'expérimente.



----------

Pour le scénar ça peut être une danseuse de KPOP qui est l'élue et qui réutilise sa danse pour se battre. Et en fait tout ça c'est juste une hallucination et elle se bat contre la société de KPOP qui l'exploite (bof, un peu cliché) :fgr:

Avatar du membre
trotter
Messages : 1620
Enregistré le : 09 juil. 2019, 19:38

Re: Projet Godot Top Secret

Message par trotter » 30 juin 2024, 00:29

La map de test prend forme, ça va bien me calmer sur les déplacements ultra-rapides je pense :
Image

Avatar du membre
trotter
Messages : 1620
Enregistré le : 09 juil. 2019, 19:38

Re: Projet Godot Top Secret

Message par trotter » 30 juin 2024, 10:31

J'ai fait un arbre :
Image

En suivant ce tuto :


Ca me fait plaisir car les arbres dans les JV c'était pas simple à un moment.

Hein quoi oui il est moche c'est fait en 15 min.

Avatar du membre
Nemau
Administrateur du site
Messages : 786
Enregistré le : 28 avr. 2019, 14:40

Re: Projet Godot Top Secret

Message par Nemau » 30 juin 2024, 16:18

Non il est sympa ton arbre.

Avatar du membre
trotter
Messages : 1620
Enregistré le : 09 juil. 2019, 19:38

Re: Projet Godot Top Secret

Message par trotter » 30 juin 2024, 22:52

Merci bon faut que je fasse le mapping du niveau et en 3D c'est pas simple :
Image

Euuuh je remplis avec quoi....
Image

:croa:

Avatar du membre
trotter
Messages : 1620
Enregistré le : 09 juil. 2019, 19:38

Re: Projet Godot Top Secret

Message par trotter » 01 juil. 2024, 00:52

Bon ça avance ça fait trop plaisir de faire un jeu comme quand je l'aurais voulu étant gamin en voyant des images de playstation etc.

Image

Avatar du membre
trotter
Messages : 1620
Enregistré le : 09 juil. 2019, 19:38

Re: Projet Godot Top Secret

Message par trotter » 01 juil. 2024, 18:26

Scène d'intro :

-Fondu d'ouverture, camera reculante, une femme en haillons assise à même le sol dans une petite pièce, un banc de pierre, un mur derrière elle.
-La caméra recule toujours, passe à travers des barreaux, on découvre qu'elle est dans une cellule de prison.
-La caméra recule encore, dévoilant un garde qui s'approche. Il y a des bruits plutôt négatifs, des moqueries, des cris, des gens qui tapent sur des barres de fer etc.
-La caméra "s'accroche" au garde comme s'il était le héros, s'avance (pendant une seconde). Symbolise peut être que le héros est souvent mâle mais ça va changer. Ou symbolise que le garde a le pouvoir à cet instant.
-Le garde s’accroupit.
-Contre-champ, le garde fini de s'accroupir (je pense que le mouvement permettrait de mieux lier les 2 plans). On voit la femme de dos, devant elle les barreaux puis le garde. La caméra est très proche du sol.

EN MÊME TEMPS :
-Le bouton "attaquer" apparait immédiatement, sans doute une icône de souris avec le bouton gauche qui clignote ou s'enfonce.
-Le garde parle (sous titres) : "Est-ce que ça va ? Je peux t'aider. Je peux t'apporter quelque chose ? Je te trouve vraiment mignonne. Peut être que tu pourras m'aider aussi. Je pense qu'on pourrait s'aider tous les deux." Il doit avoir l'air gentil une seconde puis pathétique/pervers.

Deux possibilités, A et B.

A) ON ATTAQUE:
-Le dialogue est interrompu. L'héroïne se lève, grande et fière, comme une reine, la caméra se positionne, on invoque l'épée-fouet, on défonce les barreaux et on tranche le garde en 2. Peut être cinématique qui montre le découpage en deux si c'est pas trop relou, sinon gameplay "normal". Dans tous les cas ça doit durer moins de 2 secondes.


B) ON ATTAQUE PAS :
-Le garde s'en va. On reste là jusqu'à ce qu'on attaque, ce qui revient au A sauf qu'on casse juste la porte (pas le garde car il est parti !).
-Il y aura un garde supplémentaire à tuer.

Les effets sur le joueur :
1) Le joueur attaque immédiatement et se dit "oups j'ai raté le dialogue" mais d'un côté c'est un peu drôle de pouvoir interrompre un dialogue. Humour Marvelesque.
2) Le joueur n'attaque pas, pense avoir affaire à un allié, comprend que c'est en fait un pervers et décide d'attaquer.
3) Le joueur n'attaque pas, il laisse le garde partir, il comprend qu'il a une petite liberté.
4) Si c'est la 2e fois que le joueur joue et sait déjà que le garde est un pervers c'est très satisfaisant (je pense) de l'attaquer alors qu'il fait le gentil.

Dans tous les cas c'est l'alerte générale et on casse tout dans la prison, l'objectif me semble assez clair pour un premier niveau (s'échapper).

Néanmoins l'objectif peut être différent :
-l'héroïne avait perdu ses pouvoir, s'est donc faite capturer puis a récupéré ses pouvoirs. ==> un peu complexe.
-l'héroïne s'est laissée capturer car elle veut délivrer quelqu'un. ==> faut expliquer c'est chiant.
-l'héroïne s'est laissée capturer pour tuer quelqu'un d'important (un officier de la caserne par exemple). ==> ça me semble être le plus clair car forcément à la fin du niveau il y aura un boss donc cet objectif s'intègre naturellement au jeu. "C'est justement toi que je voulais voir", "Tu t'es laissée capturer pour me tuer !" par exemple.
On peut aussi combiner le boss+délivrer quelqu'un c'est plus fort émotionnellement surtout si c'est une personne fragile et que le boss la tue devant nous. Là ça va énerver le joueur et lui donner une bonne raison de tuer le boss.

C'est pas top top de commencer en prison car c'est un niveau d'intérieur donc relou pour les déplacements/la caméra qui se coince dans les murs etc MAIS on peut imaginer que c'est une caserne avec juste 3 cellules et une grande cour d'entrainement. Et là c'est parfait car :
-grande cour vide = idéal pour les déplacements.
-murs d'enceinte = pas besoin de murs invisibles pour bloquer le joueur dans le niveau, c'est très naturel.

Avatar du membre
trotter
Messages : 1620
Enregistré le : 09 juil. 2019, 19:38

Re: Projet Godot Top Secret

Message par trotter » 02 juil. 2024, 10:08

Ourrf, quand je dashe c'est tellement rapide que la collision n'a pas le temps de se faire avec les murs fins et le perso passe au travers.
Pire, pour les objets complexe (un escalier avec une collision "pente" + une collision "haut de l'escalier" + une collision "pente rampe" + une collision "haut de la rampe") on peut se retrouver coincé dans le décor...

Ya plusieurs moyen d'éviter ça :
-Soit augmenter le framerate de la physique, au lieu de vérifier 60 fois par secondes s'il y a une collision je peux vérifier 600x par secondes. Le plus simple mais soi-disant plombe les perfs (mais impact invisible sur ma machine).
-Soit augmenter la marge à partir de laquelle on considère qu'il y a collision. Problème, si c'est 50cm au lieu de 1cm ben le perso va flotter à 50cm du sol.
-Soit, avant le dash, vérifier ce qu'il y a devant et ne dasher que de cette longueur. Pff chiant à programmer mais ça semble être la solution privilégiée.

Avatar du membre
trotter
Messages : 1620
Enregistré le : 09 juil. 2019, 19:38

Re: Projet Godot Top Secret

Message par trotter » 02 juil. 2024, 20:03

Bon j'ai pas tout à fait réussi, au final ya une sorte de bâton dans la direction du mouvement qui détecte préalablement les murs et ralenti le dash vers un mur.

Image

A ma grande surprise ça marche, je n'arrive plus à passer à travers les murs très fins.

Maintenant il faut que le perso puisse monter une petite marche et c'est tout un bordel https://github.com/godotengine/godot-pr ... ssues/2751 :fgr:

Actuellement une boite de céréale couchée par terre bloquerait mon perso :pwned:

Mon plan est de fixer deux bâtons au niveau des pieds. C'est la jambe :


|____baton2 (au niveau du tibia)
|
|____baton1 (au niveau de la cheville)
|__ <= c'est le pied


Si le bâton 1 détecte une collision MAIS que le bâton 2 n'en voit pas, alors je fais monter le perso vers le haut et en avant. Ca me semble être un plan génial.

Répondre