Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(1 edit)

Je ne sais pas si c'est un bug ou si c'est voulu, mais le coup de pied ("E") fait avancer le temps, contrairement au coup de poing. Le problème avec ça, c'est qu'il devient difficile de l'utiliser dès qu'il y a plus d'un ennemi qui nous voit (et s'il n'y a qu'un seul ennemi, autant utiliser le poing directement), et que l'on peut l'utiliser dans le vent quand on est caché derrière un pilier pour faire avancer le temps sans avoir à dépenser la jauge avec la barre espace, ce qui était la seule utilité que je lui ai trouvé du coup.

L'IA est un peu buggée, parfois elle ne nous voit pas alors qu'elle le devrait (même parfois en passant tout près), j'ai l'impression que ça arrive notamment quand on se déplace un peu trop vite. Ça arrive heureusement plutôt rarement, et jamais si on y va mollo.

Sinon, pour les contrôles du jeu, au début je n'ai pas trop aimé le lag de la souris, et le léger tremblement de la vision, jusqu'à ce que je me rende compte que si ça n'avait pas été là, le jeu aurait été trop facile puisqu'il deviendrait un simple tir aux pigeons. J'ai finalement assez apprécié la prise en main après quelques niveaux. J'ai trouvé le zoom ("MAJ") un peu abusé, parce qu'on enlève cette imprécision due au lag et tremblement de caméra, et ce n'est pas vraiment la jauge qui nous empêche de trop utiliser cette capacité (surtout que si on reste immobile, ça ne dépense pas la jauge), même si je pense qu'il est indispensable dans des niveaux plus grand comme le dernier niveau ou celui du prototype. Cependant, j'ai moins aimé la prise en main du corps à corps, qui n'est pas assez réactif et avait parfois tendance à ne pas marcher comme prévu quand on se déplace (on passe à travers l'ennemi qu'on veut frapper et on frappe derrière lui...), et j'avais du mal à savoir si j'étais à la bonne distance ou non pour toucher (ce qui est pourtant une information capitale quand tu te retrouves mains nues devant trois gars armés ^^). Une dernière chose, j'étais parfois déstabilisé quand je jetais ma première arme et que j'essayais ensuite de tirer ou de jeter ma deuxième... sachant qu'elle s'était retrouvée dans la première main !

Pour le reste (graphismes, effets sonores, musique, game feel, juice, level design, etc.), j'ai bien compris que c'était un prototype, donc je ne me fais pas trop de soucis là-dessus. Le jeu me semble très prometteur, je te souhaite bon courage pour la suite.

Le kick fait effectivement avancer le temps, c'est une question d'équilibrage, mais pas très bien gérée, je suis plutôt d'accord. Le kick a été intégré bien après le punch qui lui était déjà dans le jeu depuis les premières versions de SUPERHOTline Miami. Pour le punch, j'avais équilibré en mettant un cooldown dessus, et kick, j'ai forcé la vitesse du jeu à 1 (le facteur de temps va de 0.01, presque arrêté, car techniquement, arrêter complètement le temps pose certains problèmes à 1, vitesse réelle). Mais au final, c'est vrai que ça n'est pas très harmonisé; je crois que SUPERHOT fait légèrement avancer le temps lorsque l'on punch un ennemi, sans pour autant mettre la vitesse du jeu à 1. Je pense que je vais tester ça pour le punch ET le kick, forcer la vitesse entre 0.25 et 0.5, puis voir comment tout ça va rendre en jeu. Et en même temps, ça permettra de régler l'exploit pour faire avancer le temps sans utiliser la touche espace. Et en dernier ressort, si après playtest ça reste toujours rentable à exploiter, je verrai pour faire en sorte que le kick et le punch consomment une partie de la jauge de focus, et que lorsque l'on punch/kick alors que la jauge est vide, la vitesse du jeu est forcée sur 1 (ça apporterait une dimension de gestion de la jauge de focus car plein d'actions en dépendraient).


Je ne crois pas que ce dont tu parles au niveau de l'IA soit un bug, mais plutôt ta perception de leur temps de réaction. Pour faire simple, ils réagissent comme suit : quand le joueur est dans leur champ de vision, leur chrono interne augmente (en fonction de la vitesse du jeu, donc si le temps est figé, le chrono progresse moins vite bien évidemment), lorsque ce chrono atteint le temps limite que j'ai choisi pour leur temps de réaction, ils passent en mode attaque du joueur, si le joueur sort du champ de vision, le chrono redescend progressivement vers 0. Ca permet de laisser le temps de réagir au joueur, et évite de se prendre une balle dès que l'on sort de cover, ça rend aussi beaucoup moins efficace la technique qui consiste à se mettre à cover, puis sortir et tirer une balle, puis recommencer, car si le joueur fait ça, le chrono de temps de réaction de l'ennemi n'aura pas le temps de redescendre complètement à 0. En revanche, ça crée des situations où lorsque le joueur passe très vite devant un ennemi, il est possible qu'il passe inaperçu. Personnellement, je ne trouve pas que cela soit gênant, mais je pense pouvoir affiner ce système en faisant en sorte que plus le joueur est proche de l'ennemi lorsqu'il est dans son champ de vision, plus le chrono de temps de réaction monte vite, ce qui serait plutôt logique car on se rend plus facilement compte que quelqu'un est dans notre champ de vision lorsqu'il est proche, que lorsqu'il est éloigné.


Ce lag de la souris dont tu parles est étrange, car je ne rajoute aucun lag au niveau du placement du curseur. Peut être est-ce le léger lag du placement de la caméra que tu ressens comme étant du lag venant du curseur ? Ce lag caméra est là pour rendre ses mouvements plus fluides, sinon la vue se téléporterait juste où tu vises ou sur les cibles des killcams, ce qui aurait pour effet très probable de générer des maux de têtes :)

Le tremblement de la caméra est purement esthétique, et j'ai essayé de le régler de manière à ce qu'il ne dérange pas trop niveau gameplay. La caméra se décale au maximum de 2 pixels autour du point de visée, ce qui fait 4 pixels d'amplitude. Le but était de créer un effet de caméra qui tente de suivre l'action tant bien que mal. Je ne supportais pas l'effet de caméra un peu psyché dans Hotline Miami qui consistait à ajouter une légère rotation à la caméra oscillant de gauche à droite; mais je trouvais l'idée super cool, du coup j'ai fait cet effet de léger tremblement/caméra à l'épaule. Cela dit, l'amplitude du tremblement est réglable, mais si on le réduit trop, bien évidemment l'effet disparaîtra et n'aura plus de raison d'être. Je précise également que de viser avec Maj ne supprime pas, ni n'atténue ce "tremblement".


Concernant ce zoom, c'est vrai qu'il est vraiment utile dès que les niveaux deviennent beaucoup plus grands que la taille de l'écran, c'était le cas dans SUPERHOTline Miami, il était donc important de garder cette feature. Par contre, je ne peux pas la rendre dépendante de la jauge de focus, c'est une feature vraiment trop importante et utile pour que ce soit le cas. Et je trouve aussi difficile de la dissocier du déplacement lent qui va avec, parce que ça multiplierait les inputs et perdrait juste le joueur. C'est aussi vrai qu'il est possible de s'arrêter pour tirer avec le zoom, sans avoir à dépenser du focus en bougeant. Mais j'avais prévu de contrebalancer ça via le système de score, tout est encore en cours de réflexion, mais je comptais faire en sorte que l'algo qui gère le score valorise le fait de faire des kills en se déplaçant, et aussi que les séries de kills durant un mouvement rapportent un max, et bien sûr la série s'arrête si le joueur arrête de bouger pendant trop longtemps. Tout ça dans le but de pousser le joueur à utiliser ce déplacement au ralenti pour faire des jolies séries de kills. Mais c'est vrai que dans la démo, c'est difficile de jauger cet aspect puisque le scoring n'est pas encore intégré.



Pour le punch qui rate parfois, j'essaye de faire de mon mieux, parce que Construct 2 est vraiment relou au niveau de tout ce qui est raycasting. Pour faire simple, pour pouvoir puncher et tuer un ennemi, il faut qu'il se trouve à une certaine distance du joueur, et qu'ils soit compris dans une certaine fourchette d'angle par rapport à celui du joueur, en gros imagine une sorte de mini cone de vision devant le joueur. Puis un rayon qui part du centre du joueur, jusqu'au centre de l'ennemi est lancé, s'il touche un obstacle, le punch ne marche pas (cette partie sert à empêcher de pouvoir puncher à travers un mur, parce que faire un simple check de collisions des hitbox de l'ennemi et du joueur n'empêche pas ça, et serait beaucoup moins précis). C'est peut être pour ça qu'à un coin de mur, tu penses pouvoir puncher l'ennemi parce qu'une partie de son corps dépasse, mais en fait son centre est encore derrière le mur. Malheureusement, c'est la seule solution que Construct met à ma disposition pour gérer ce genre de choses.

Et en temps normal, il me semble qu'il est impossible de passer à travers les ennemis car j'ai fait en sorte que le joueur "rebondisse" contre eux lorsqu'il essaye de leur rentrer dedans à pleine vitesse (je ne pouvais pas les rendre complètement solides pour certaines raisons techniques). Cela dit, si le jeu rame beaucoup et que le joueur se déplace vraiment à sa vitesse maximale, c'est peut être possible de passer à travers un ennemi, mais ce serait vraiment un cas extrême. Je pense que l'imprécision que tu ressens lorsque tu essayes de puncher pendant un déplacement vient du fait que le "cône de vision" qui sert à détecter les ennemis lors du punch est centré sur le joueur, du coup la pointe du cône est plus fine et il est possible de parfois rater plus facilement.

C'est vrai qu'il serait sympa de savoir quel ennemi le joueur va/peut puncher. Cela dit je suis quand même partisan de le laisser mémoriser la portée du punch lui même via la pratique, mais à cause des quelques imprécisions dues aux points techniques mentionnés au dessus, je vais considérer la possibilité de mettre une sorte de glow autour de l'ennemi ciblé.


Pour le changement d'armes, il faut que je retravaille certaines choses. Comme les contrôles pour lancer ses armes, je m'en suis rendu compte quand j'ai vu la vidéo d'At0mium. Dans SUPERHOTline Miami, le perso lançait son arme automatiquement lorsqu'on tentait de tirer alors qu'elle était vide, dans SHOOTOUT Inc, j'ai retiré cette fonction, parce que j'estimais que le joueur pouvait avoir envie de garder une arme pour la lancer sur un ennemi plus tard. Mais malheureusement ce choix ne permet pas de mettre un lancer automatique de l'arme lorsqu'elle est vide. Je vais voir ce qui rendra le mieux en terme de prise en main.

Pour le passage de l'arme 2 en arme 1 lorsqu'on lance l'arme 1, j'avoue ne pas trop savoir quoi faire, il serait bête de laisser l'arme 2 sur le slot 2 lorsque le slot 1 est libre, ça forcerait le joueur à continuer de tirer avec le clic droit. La majorité des FPS font ça lorsque le joueur peut avoir 2 armes. Quand il n'a qu'une arme, le tir est sur le clic gauche, et lorsqu'il en a 2, les 2 clics servent pour tirer. Peut être que de simplifier le ramassage et le lancer des armes comme je l'ai dit au dessus rendra le passage de l'arme 2 en arme 1 plus évident. Il faut penser en terme d'arme principale et d'arme secondaire. Ca me fait penser que je dois aussi ajouter une fonction pour switcher les 2 armes.


Au niveau du gamefeel et du juice, j'essaye vraiment d'en intégrer un max dès maintenant pour éviter que ça me prenne trop de temps plus tard. Mais comme je suis seul à m'occuper de la programmation, du Game Design et du Level Design, ce n'est pas dit que j'aie les moyens de faire énormément plus :)

Merci pour tes retours, ça m'aura pris 2h de mettre en forme cette réponse, mais du coup j'ai de quoi ajouter des choses à ma todo list et changer quelques priorités :)

Pour l'IA, il me fallait en effet passer le moins de temps possible dans leur champ de vision pour qu'ils ne s'aperçoivent de rien, mais à moins de faire du speedrun, ça devrait arriver assez rarement. Ton idée de varier l'augmentation du chrono en fonction de la distance est très bonne, et ça résoudrait le problème dans le cas où on s'approche rapidement par le côté, on se ferait tout de même repérer car on est trop proche.


Sinon je n'ai absolument jamais été arrêté par les ennemis comme tu le décris, il me semblait que c'était ton choix de nous avoir permis de les traverser sans problème. Si je rebondissais contre eux (au moins un minimum), ça aiderait sûrement à ne pas rater le coup de poing bêtement quand on veut aller trop vite.

Quant au « lag de la souris », j'aurais dû lui donner le nom correct, j'ai en réalité un énorme temps de latence (j'imagine quelque chose comme plusieurs dixièmes de secondes) entre le moment où je bouge la souris et le moment où mon curseur bouge effectivement. Comme ce temps de latence est presque non existant dans le menu de sélection de niveau, j'ai cru que c'était peut-être volontaire.


Mais à vrai dire, je me rend compte que je suis vraiment bête. J'ai pu remarquer que personne d'autre, et notamment pas toi, ne se plaignait de ces problèmes de latence ou de coup de poing (lié à la traversée d'ennemi), et comme j'étais sûr que ça ne venait pas de ma souris, j'ai cherché à voir si c'était un problème de performance système, j'ai donc sorti le jeu du plein écran pour pouvoir lire les performances pendant que je jouais... Et là je n'avais plus de latence, et je ne traversais plus les ennemis...... Je crois que j'ai trouvé un problème avec le mode plein écran :P Je n'aime pas jouer sur tout petit écran, donc je n'avais jamais testé le jeu en mode fenêtré.

Du coup, j'ai refait tous les niveaux, que j'ai terminé beaucoup plus rapidement, et il m'a semblé que le jeu était en fait beaucoup plus orienté action que stratégie par rapport à avant (forcément, vu qu'en plein écran il me fallait bien plus de temps pour ajuster mes tirs correctement, et j'utilisais donc des techniques d'approche très progressive), et un peu trop facile du fait qu'il est devenu si simple de réussir ses tirs. Je me pose alors la question de comment tu vas faire pour augmenter la difficulté sans en rendre le jeu frustrant ? Enfin je verrai ça dans tes prochains niveaux.