Evénement : Game Jam – GMTK 2023

Bonjour à tous,

Nous sommes de retour avec de grandes nouvelles : nous avons participé à notre deuxième GMTK game jam! Si vous ne vous souvenez pas de ce qu’est cet événement ou que vous voulez savoir comment nous nous en sommes sortis l’année passée, vous pouvez retrouver notre expérience précédente ici.

Prélude

La compétition a eu lieu du 7 au 9 juillet 2023 et comme presque 20 000 autres groupes dans le monde, nous avions 48 heures pour créer un jeu complet basé sur un thème précis dévoilé à 19h (CEST) le vendredi.
Après deux intenses journées de travail, arriverait la second étape, tout aussi difficile : la promotion de notre jeu pour arriver à se hisser tout en haut du classement grâce aux votes de la communauté.

Comme l’année passée, nous voulions nous challenger et voir ce que nous étions capables de créer en si peu de temps. Nous voulions aussi passer un moment mémorable, en équipe, concentrés tous ensemble autour d’un même objectif. Malheureusement, l’un de nos membres n’avait pas pu se joindre à nous. Nous nous étions donc préparé et avions redistribué à l’avance les différentes tâches à effectuer. D’un côté plus positif, nous étions heureux d’accueillir dans notre équipe un animateur 3D et un compositeur de musique pour l’entièreté de la Game Jam.

Voilà tout pour le contexte. Plongeons-nous à présent dans cette aventure !

H-48 : Idée

Vendredi, 19h, il était l’heure de nous rassembler, tous les 5, autour de la vidéo de présentation du thème.

Le compte à rebours avait commencé…
Suivant toujours notre esprit Bottom Up (Games), nous voulions nous concentrer sur un concept de gameplay unique. Cependant, nous avions seulement 48 heures pour trouver et mettre en place une idée qui soit à la fois originale et faisable.

Après quelques heures de brainstorming, nous nous sommes mis d’accord et nous sommes lancés.
Nous voulions proposer une inversion de contrôle : au lieu de contrôler le personnage directement, le joueur devrait prendre le rôle de la caméra qui le filme. Pour l’originalité, ça nous semblait bien parti. Mais comment mettre en place ce concept pour que le joueur puisse rapidement comprendre ces contrôles assez inhabituels ?

H-45 : Développement

Nous avons immédiatement pensé aux différentes prises de vues usuellement utilisées dans les jeux vidéo et à l’imaginaire qui les entoure. Nous avons décidé de rendre hommage à ces archétypes bien connus en centrant notre concept sur le rôle de la caméra dans les jeux vidéo.
Le joueur serait donc capable de passer d’un mode de jeu à l’autre en changeant l’angle de la caméra.
Le jeu se composerait de :

  • La Vue en perspective large : une prise de vue globale et éloignée qui permet de se déplacer facilement dans de larges espaces.
  • La vue du dessus : comme pour suivre une souris dans un labyrinthe, la caméra regarde le joueur en dessous d’elle.
  • La vue « Shooter », à la troisième personne : une vue haut dessus de l’épaule, particulièrement pratique pour viser et tirer.
  • La Vue Side Scrolling : une prise de vue plus rétro où la caméra suit le personnage de côté.

En fonction de l’approche choisie, le personnage imite automatiquement le style de jeu correspondant et se déplace pour se repositionner au centre de l’écran. Lorsque la caméra est trop éloignée du personnage, celui-ci attend patiemment en position T. Cette règle « un angle de caméra = un mode de jeu » a permis de structurer l’ensemble du développement de notre jeu.

Et en ce qui concerne le contexte général, nous nous sommes rapidement mis d’accord sur un laboratoire de crash-test à l’esthétique simple et épurée, un peu à l’image du jeu emblématique « Portal ». L’objectif du joueur serait de contrôler la caméra et de guider le mannequin d’une pièce à l’autre, en le soumettant à une série de tests. Le tout sans lui faire de mal, bien entendu.

Ces premières questions résolues, une série d’autres challenges nous attendaient encore. La plupart de ceux-ci étaient techniques, avec notamment l’implémentation d’IA et la création de sons évoluant tout au long du jeu. Nous devions également nous assurer de pouvoir créer un jeu jouable et sans bug en utilisant Unreal Engine 5.

Même si nous étions très motivés, nous étions toujours un peu nerveux face à la tâche qui nous attendait. Nous étions bien conscients des problèmes inhérents aux contrôles de la caméra dans la plupart des jeux vidéo. Peut-être que vouloir faire de la caméra le sujet d’un projet de Game Jam était trop ambitieux, surtout si notre focus portait sur les transitions fluides entre les modes de prise de vue, et pas seulement sur la maîtrise de l’un d’entre eux.

H-42 : Rush#1

Compte tenu de notre planning serré et des nombreuses tâches qui nous attendaient encore, nous n’avons plus perdu de temps et nous sommes passés à l’action : création d’éléments 3D et d’animations, développement de l’IA, expérimentation musicale, mise en place de menus et établissement des bases de l’architecture générale du jeu.

H-32 : Première mise en commun

Après quelques heures de travail, nous disposions d’une base solide qui nous a permis de tester la gestion des caméras. Comme cela ne fonctionnait pas, nous avons rapidement changé notre approche pour implémenter un système de caméras aimantées.

Dans cette nouvelle approche, des sphères de collision suivent le personnage en conservant leurs positions respectives. Lorsque la caméra entre dans l’une de ces sphères, elle est attirée comme un aimant et s’aligne automatiquement sur l’angle de vue approprié, débloquant ainsi des comportements uniques pour chaque mode choisi.
Heureusement pour nous, ce nouveau système a fonctionné immédiatement !

Comme les angles de vues étaient encore un peu trop similaires à notre goût, nous avons tiré parti du système mis en place pour y intégrer une gestion dynamique du son en associant une itération spécifique de la musique à chaque mode de prise de vue. De cette manière, le joueur aurait une meilleure idée du déroulement du jeu en faisant l’expérience de changements d’ambiance sonore en fonction de ses actions.

H-28 : Rush#2

En plus de ce travail de caméra et du développement général d’assets, de sons et d’animations, il était grand temps de commencer à mettre en place nos niveaux. Une tâche qui s’est révélée un peu périlleuse étant donné que le jeu n’était pas encore jouable. Même si nous avons des envies et idées quant au résultat final, sans la partie essentielle de playtesting, nous avons dû compter au mieux sur notre communication, nos instincts et notre level designeuse.

Après une courte période d’incertitude pendant la nuit de samedi soir, nous avons rassemblé toute la motivation dont nous étions capables pour que, dimanche matin, il soit temps de remettre notre travail en commun et de tester l’ensemble.

H-12 : Deuxième mise en commun

Finalement, nous pouvions enfin tester nos niveaux et faire bouger notre personnage… ou plutôt notre caméra. La magie de la deuxième nuit avait opéré : notre jeu était jouable !

Nous étions vraiment soulagés. Il était alors temps d’intégrer les animations et les sons à cet ensemble. Tout prenait vie.

H-9 : Rush#3

Suivant le mot du week-end « rush », nous avons passé les dernières heures de la compétition à essayer de résoudre tous les problèmes qui persistaient encore. Des ratés de sons et de lumière, aux collisions et level design, nous avons rushé pour effectuer le plus d’ajustements possible, et ce, jusqu’à la dernière minute.

H-0.01 : Soumission

Et nous avons pu poster notre jeu à temps ! Quel soulagement.

Nous n’étions pas peu fiers d’avoir réussi à créer notre jeu dans les temps. Oui, il y avait toujours quelques ratés dans la musique et les contrôles. Oui, nous avions dû mettre de coté quelques modes de caméras (et donc niveaux). Pourtant, nous pouvions considérer notre jeu comment complet, original, visuellement plutôt pas mal, il y avait de la musique et des sons et un menu comportant des paramètres pour permettre de jouer sur n’importe quel ordinateur.

Mais, malheureusement pour notre sommeil, il n’était pas encore temps de se reposer. A la place, nous avons embarqué dans la deuxième phase de la compétition. Une étape tout aussi cruciale : les votes.

H+0.01 : Votes Repos

H+14 : Votes et promotion

L’année dernière, cette seconde partie nous avait pris par surprise. Après avoir développé notre jeu, nous n’avions pas anticipé le besoin de devoir le promouvoir pour recevoir de votes positifs – ou même juste des votes. Cette année, nous étions préparés mais le challenge n’avait pas disparu pour autant. Malgré de la fatigue résiduelle, nous devions nous y plonger entièrement. Cette étape demande, après tout, du temps et de l’investissement personnel.

Notre jeu devait se démarquer des autres avec un concept original, un design attrayant et des images ou GIF accrocheurs, mais nous devions aussi nous faire remarquer parmi près de 7000 autres propositions. Nous devions faire connaître notre jeu pour que d’autres participants puissent le tester et, surtout, nous donner leur avis. Nous étions très enthousiastes à ce sujet, impatients de savoir quels aspects avaient été bien accueillis et lesquels devaient encore être améliorés. En outre, nous étions impatients de découvrir d’autres concepts uniques et d’apprendre du travail des autres participants.

Même si nous ne sommes pas particulièrement habitués à interagir avec une communauté inconnue, nous étions vraiment intéressés d’échanger des idées et de recevoir un feedback de la part d’autres développeurs !

En parallèle, nous avons continué de retravailler pour améliorer petit à petit notre jeu. Nous voulions peaufiner la version présentée dans la Game Jam pour qu’elle soit complète. Nous nous sommes concentrés sur de petites améliorations tout en restant au plus proche du concept réalisé pendant ces 48 heures. Nous n’avons donc pas ajouté de modes additionnels comme le side scroller ou le point-and-click. À la place, nous avons affiné les contrôles, la musique, les effets sonores et de manière générale, l’ensemble de l’expérience de jeu.

H+216 : Résultats

Neuf jours après la fin de la Game Jam et deux jours après la fin des votes, c’était l’heure des résultat.
Nous ne pensions pas arriver dans les 100 premiers mais nous espérions quand même recevoir un feedback positif de la communauté. Nous étions déjà contents des commentaires que nous avions reçus et qui nous avaient apporté des indications précieuses sur notre travail. Mais, comme dans toute compétition, nous voulions savoir où nous nous situions parmi tous ces jeux de qualité.

Et… nous étions 267ème ! Avec une 72ème place honorable en créativité et une moyenne générale de 4/5.

Conclusion

Nous sommes vraiment contents de notre résultat, mais, surtout, nous sommes particulièrement fiers de ce que nous avons accomplis ensemble en un temps si court. Il est toujours fascinant de tester nos limites et de voir ce qu’une petite équipe de passionnés peut accomplir lorsqu’elle travaille à la réalisation d’un objectif commun.
Nous avons aussi appris beaucoup lors de cette expérience :

  • Nous avons réussi à nous concentrer sur le résultat global à atteindre, en réduisant progressivement nos objectifs au cours du week-end, sans frustration.
  • Nous avons travaillé avec des professionnels spécialisés dans d’autres domaines, que nous avons intégrés dans notre flux de travail habituel afin de tirer le meilleur parti de leur expertise. Et nous avons pris beaucoup de plaisir à collaborer avec eux !
  • Nous avons enduré pas mal de stress ensemble sans nous énerver ni baisser les bras.
  • Plus important encore, nous avons fait preuve à la fois de créativité et d’esprit d’équipe, ce qui, pour nous, incarne l’essence même du développement de jeux vidéo !

Bien joué tout le monde ! Et un grand merci à Tonhi Nguyen and César Roba (Mr.SeizeArts) pour leur aide précieuse.

Merci aussi à vous de nous avoir lu et n’hésitez pas à tester notre jeu sur itch.io à l’adresse bottom-up-games.itch.io/let-the-camera-roll

Nous serons bientôt de retour avec d’autres nouvelles, mais cette fois-ci, sur le jeu que nous sommes en train de développer !