Interactif technique lors de conventions fantastiques. 2e partie



Dans la première partie, j'ai parlé d'un ordinateur portable du stand des fans de Gravity Falls , avec lequel j'ai participé à plusieurs festivals de science-fiction il y a 2-3 ans. Cette année, l'équipe s'est inspirée d'un nouveau film sur Jumanji et a décidé de prendre position sur cet univers. Mon attitude envers lui n'est pas aussi claire, mais l'ancien film et la série étaient très bons. Lorsque le moment est venu de commencer à travailler sur l'interactif, j'ai décidé de créer un analogue mobile du jeu de société pour les visiteurs du festival, avec la possibilité de jouer ensemble sur le stand et de résoudre des énigmes. Under the cut - ce qui est ressorti de ma mise en œuvre et à quoi cela ressemblait au festival Starcon 2018.

Jeu de société Jumanji


Dans le film original, les joueurs (jusqu'à 4, selon le nombre de figurines dans le jeu) ont lancé des dés, leurs figurines se sont déplacées à la valeur appropriée, et un mystère est apparu au centre de la partie. Ils ont eu quelques secondes pour comprendre de quoi elle parlait, après quoi l'écriture a commencé à être exécutée. Des chauves-souris ont volé à l'intérieur, des animaux sauvages sont apparus - tout cela est venu dans notre monde du jeu.

Un moment de doute
Théoriquement, les joueurs pourraient immédiatement effectuer le prochain mouvement par ordre de priorité et terminer le jeu assez rapidement. En fait, chaque énigme a entraîné de nouvelles difficultés pour poursuivre le processus. Il y avait un principe différent dans la série, et il n'y avait pas un tel problème.

Dans la série animée, le jeu se comportait différemment - même si les mêmes figures et le même champ y figuraient, dans la pratique, cela n'avait pas d'importance. Peu importe combien de personnes (ou d'autres créatures) étaient présentes près du terrain au moment du jeu, elles ont toutes été attirées vers l'intérieur après que l'énigme soit apparue - jusqu'à ce qu'elles la résolvent dans le monde du jeu, en disant la réponse à haute voix.

Implémentation de jeux de société


L'idée était simple - combinez ces options. Le joueur lance un dé, fait un mouvement, après quoi une énigme apparaît au centre du champ. Tant que la réponse ne sera pas donnée, le joueur suivant ne pourra pas marcher. Comme je suis plus programmeur que cratère, j'ai décidé de faire du jeu une application pour appareils mobiles.

J'ai compris qu'une telle interaction entraînait certains inconvénients pour les visiteurs. Si à chaque stand du festival le visiteur télécharge une nouvelle application, dépense du trafic, de la batterie, de l'espace sur l'appareil, alors très vite il s'en lasse. Et à la fin, tout le monde n'a pas d'appareils mobiles, et il serait injuste de priver les gens de divertissement potentiel. J'ai donc décidé de faire deux versions, mobile (en ligne) et stationnaire (hors ligne), avec la saisie de la réponse directement sur notre tablette. Le mobile était censé être utilisé uniquement comme une interactivité supplémentaire, même si j'avais de grands espoirs.

Version hors ligne


Avec la version hors ligne du client, tout était assez simple. Ma femme a dessiné les graphiques, j'ai fait un prototype dans Unity - la figure se déplace autour du plateau, l'énigme est affichée. La beauté! Je n'allais pas dépenser beaucoup d'énergie sur l'interface, après tout, l'application n'aurait dû fonctionner que deux jours et avait principalement pour fonction de transmettre des questions aux visiteurs, mais je ne pouvais pas la laisser complètement brute. Ajout de la création de joueurs (jusqu'à quatre) indiquant le nom, l'approche de la caméra, diverses petites choses. Dans la première version, les questions du film étaient câblées. Connaissant la politique des magasins d'applications, j'ai décidé de disposer cette version à l'avance afin de pouvoir réparer certains montants lentement - après tout, le jeu a été fait à l'aide d'un film bien connu, bien que sans monétisation ni publicité, mais le droit d'auteur appartient toujours à l'éditeur. Ensuite, mes craintes ne se sont pas matérialisées - au début, Google Play , puis l' App Store a confirmé l'application sans aucun problème, et entre-temps, j'ai commencé à affiner le serveur et le client pour travailler en ligne.



Premières notes de Google Play


Je n'ai pas ajouté de localisation, car Je ne m'attendais pas à ce que quelqu'un d'autre utilise l'application, sauf en tant que visiteurs du festival, mais sachant que les invités peuvent provenir de différents pays, je n'ai pas ajouté de restrictions régionales sur le jeu. Je n'ai jamais publié de liens vers la première version (à l'exception du test parmi notre équipe de standers), mais, à ma grande surprise, les avis de Google Play ont commencé à apparaître. Parmi les premières critiques étaient étrangères dans l'esprit de «quoi répondre aux questions? Je ne peux pas traverser le jeu "et avec de faibles notes. Je craignais qu'une note faible n'effraie même les visiteurs qui pouvaient installer l'application au festival, et j'ai décidé dans la prochaine version d'ajouter le mode de jeu Pas de questions et de le rendre actif par défaut si la langue de l'appareil est différente du russe. Dans ce mode, le jeu est devenu le jeu de société le plus simple dans l'esprit de `` lancer les dés, avancer de N cellules, celui qui est arrivé plus vite à la ligne d'arrivée - a gagné '', mais il y avait moins de telles critiques (d'autres sont apparues, plus sur celle ci-dessous).

Version en ligne


En fait, j'ai commencé à travailler côté serveur avant même la version hors ligne. Je savais que Laravel n'est pas la plate-forme la plus appropriée pour un serveur de jeux, mais il m'a semblé plus facile de faire un prototype dessus et de remplir la base de données de questions via le site. Le site avait des sections fermées où je pouvais ajouter des questions, créer un jeu en ligne et gérer son processus (démarrer le jeu après avoir sélectionné les chiffres par tous les participants, confirmer les réponses aux questions, terminer le jeu).



Implémentation d'une API pour se connecter au jeu, sélectionner des formes, lancer des dés. Testé via Postman et passé du côté client.

Interroger le serveur avec le client toutes les N secondes n'est bien sûr pas l'implémentation dont vous devriez être fier en 2018, mais ce mécanisme simple a fonctionné comme il se doit. J'ai créé un système d'économie basé sur un petit atout, ajouté des paramètres pour l'application où vous pouvez sélectionner le mode de jeu et télécharger la base de données actuelle des questions depuis le serveur. Il existe plusieurs listes - une liste de questions de base (questions du film présentes dans la première version), une liste de questions pour la version stationnaire et une liste de questions pour la version en ligne. La question peut figurer dans plusieurs listes à la fois, mais généralement dans une seule. Le bouton vous permet également de télécharger la version actuelle des questions sur le site. Sur les 4 modes de jeu, 3 fonctionnent sur la base de la version hors ligne (avec deux listes de questions différentes + un mode sans questions), et le dernier nécessite une création préalable du jeu par le présentateur depuis le stand et ne peut pas être démarré en mode automatique. Ceux qui souhaitent en savoir plus sur le principe de fonctionnement de la version en ligne peuvent lire le prochain spoiler, où j'ai essayé de maximiser (peut-être même inutilement) pour tout décrire en détail.

Fonctionnement de la version en ligne
Tout d'abord, les visiteurs (un groupe de 1 à 4 personnes) viennent au présentateur avec leurs appareils avec les applications installées. Dans les paramètres, sélectionnez le mode de jeu Sur le stand en ligne . Maintenant, lorsque le jeu démarre, une fenêtre de saisie de code à 4 chiffres apparaît sur le client. L'hôte du jeu depuis son appareil entre sur le site et crée un jeu sur le serveur dans une section fermée, après quoi il affiche un code de jeu unique. Dans des situations normales, c'est le seul code que les joueurs devront entrer (à l'exception du nom). Ainsi, tous les joueurs entrent le code du jeu, et sur le client le champ pour sélectionner la figure et entrer le nom du joueur est affiché. Dans le même temps, le serveur commence à interroger (sur la base du code de jeu) pour la présence de personnages occupés - par exemple, si le joueur Peter choisit un singe, les trois prochains sondages de serveur ne permettront à Judy que les trois autres personnages d'être disponibles. Si Judy essaie de choisir un singe après que Peter l'ait choisi, mais avant que la liste des personnages disponibles ne soit mise à jour, elle recevra une erreur et devra réessayer.



Après avoir sélectionné un chiffre, les joueurs entrent en mode veille et un identifiant unique à 7 chiffres est retourné au client, qui n'est affiché nulle part, mais est utilisé pour identifier les demandes transmises par le joueur. Là encore, le serveur commence le sondage, mais pas pour la disponibilité des chiffres gratuits, mais pour obtenir des informations détaillées sur le jeu, y compris son statut. Et cela continue tant que le statut correspond en attente . Les informations sur le jeu incluent également un champ avec la date de la dernière mise à jour. Ce champ est également transmis dans une demande au serveur, afin qu'il ne fournisse des informations complètes que lorsque la date change, et dans d'autres cas, envoie uniquement une notification indiquant que tout est toujours le même. Enfin, lorsque tous les joueurs ont sélectionné des pièces, l'hôte change le statut du jeu en actif depuis son appareil.

La prochaine fois que les informations sont mises à jour, les visiteurs ouvrent le terrain de jeu. Les joueurs se déplacent par ordre de succession (qui avait précédemment choisi une pièce), si un double tombait sur les dés, le joueur actuel reste en mouvement. Il existe deux types de questions dans la version en ligne.

  • Le premier type est celui des questions avec une réponse entrée dans le champ correspondant, similaire à la façon dont cela se produit dans la version stationnaire. Lorsque vous cliquez sur le bouton Répondre , une demande est envoyée au serveur, où il est déterminé si la réponse est correcte. Le plus souvent, il peut y avoir plusieurs options insensibles à la casse valides.
  • Le deuxième type concerne les questions qui nécessitent une confirmation. Il n'y a aucun bouton en plus de réafficher la question. Il est nécessaire que le leader lui-même clique sur la réponse Count sur la page du jeu sur le site après que les joueurs remplissent les conditions pertinentes de l'énigme et en informent le leader. Après cela, le coup devient disponible pour le joueur suivant par ordre de priorité, et ainsi de suite jusqu'à ce que quelqu'un atteigne le centre du terrain. Formellement, après cela, l'hôte devra cliquer sur le bouton Terminer sur le site, après quoi le jeu disparaîtra de la liste des actifs, et les tentatives de reconnexion du client avec ce code retourneront un avertissement que le jeu est déjà terminé.



La possibilité de se reconnecter au jeu a également été mise en place. Si un visiteur a commencé un jeu en ligne, puis est allé dans le menu, a choisi un mode différent, a joué la version hors ligne et a décidé de se reconnecter à l'ancien jeu, ou même décidé de continuer le jeu sur un autre appareil, il peut le faire en utilisant le facilitateur . Tout d'abord, il entre également un code de jeu à 4 chiffres, puis, au lieu de choisir une pièce gratuite, il doit cliquer sur le bouton Entrer le code du joueur . Le code de joueur à 7 chiffres mentionné précédemment n'est pas affiché en texte clair dans l'interface de jeu, mais est visible par l'hôte avec les noms et les figures des joueurs dans une section fermée sur le site, afin que le joueur puisse s'identifier et entrer ce code supplémentaire. Si le jeu a déjà commencé, après avoir entré le code du jeu, le visiteur sera immédiatement invité à entrer le code du joueur existant. Cette fonctionnalité a été testée, mais n'a jamais été utilisée au festival, et est donc restée redondante.

Difficultés soudaines


La finalisation de la version finale de l'application a pris plus de temps que je ne le pensais, et la mise à jour n'a été mise sur le marché que quelques jours avant la convention. Et, bien sûr, l' App Store l'a bloqué =) Bien sûr, c'est ma faute - j'ai supposé que l'utilisation du nom du film pouvait être incorrect, mais il n'était utilisé que dans le contexte d'un stand de fans, et il n'y avait pas de problème avec la première version de l'application, donc je me suis détendu . Au début, seule l'icône était bloquée, après l'avoir modifiée et revérifiée, il y avait déjà une description sur le marché (elle était déjà présente dans la première version), et une notification a été émise que la prochaine vérification de l'application prendrait plus de temps. En général, il m'a semblé étrange que la mise à jour ait été rejetée, et la première version déjà téléchargée avec la «mauvaise» description et l'icône a été laissée à télécharger, mais au moins quelque chose. J'étais dans une certaine panique - plus quelques jours de vérification, et l'application ne sera plus pertinente, et tous les visiteurs avec iOS sont coupés au festival pour la version en ligne de mon interaction. Ne sachant pas s'il fallait attendre une joyeuse lettre de confirmation, la nuit avant la convention, j'ai ajouté frénétiquement une version texte en ligne - quoique pas très belle, mais efficace, avec laquelle tous les propriétaires d'appareils ayant accès au réseau pouvaient passer de manière interactive.



Premier jour du festival


Et maintenant, le jour de la convention est venu. À ce moment-là, je savais déjà que ma demande d'interactivité n'était pas la seule - il y avait toujours la principale application de Megaphone pour la quête mondiale à travers Starkon. J'espère que la présence de ma candidature n'a pas gêné les organisateurs, mais au moins je n'en ai pas encore entendu parler. Mais la version stationnaire du jeu a pu s'intégrer dans la quête principale. Cela signifiait que les visiteurs avec des applications Starkon installées ont parcouru les stands, effectuant des tâches uniques, et après une exécution réussie ont reçu un code spécifique à chaque stand (qui a été entré par les participants du stand pour éviter la distribution), et la collecte des codes de tous les stands a participé au dessin prix. Sur le stand de Jumanji , je me suis porté volontaire pour être en charge de cette quête. À partir de notre stand, j'ai suggéré de parcourir une version hors ligne de mon jeu avec des questions assez simples. Ceux qui le souhaitent pourraient télécharger l'application sur leur appareil et y aller à leur propre rythme, en me montrant plus tard un résultat réussi, ou sous ma direction « jouez Jumanji avec Alan Parrish » depuis notre tablette. Bien sûr, ce n'était pas aussi canonique que l'ancien ordinateur portable pour les festivals passés, mais il n'avait pas l'air si mal avec un étui pour tablette peint sous Jumanji .



Le jeu en ligne était un jeu interactif séparé et indépendant. Pour elle, les visiteurs devaient installer l'application (ou utiliser la version texte en ligne, mais tout le monde a choisi l'application). La situation a été aggravée par le fait que la nouvelle application iOS n'a pas été confirmée, et dans l' App Store, vous ne pouviez trouver que la première version, sans jeu en ligne et même sans possibilité de télécharger la version actuelle des questions. De plus, le premier jour du festival, comme d'habitude, il y avait plus de visiteurs, y compris ceux qui voulaient passer par la quête officielle.Par conséquent, seules quelques personnes avec Android ont commencé la quête en ligne le premier jour, mais elles l'ont abandonnée dès les toutes premières énigmes. J'étais un peu contrarié, parce que la version en ligne prenait beaucoup d'énergie, il serait dommage de ne pas en faire l'expérience du tout. Mais j'espérais que le deuxième jour serait plus réussi à cet égard - c'est arrivé.

Le deuxième jour du festival


La deuxième journée a commencé par des nouvelles encourageantes - l' App Store a finalement confirmé la nouvelle version de l'application, écrivant également qu'en cas de besoin similaire (en réponse à ma lettre avec le raisonnement selon lequel j'avais besoin de l'application strictement pour certaines dates), une notification supplémentaire devrait être envoyée à vérification plus rapide (pour être honnête, depuis lors, je n'ai pas clarifié ce point car il n'y avait plus un tel besoin). Ce jour-là, j'avais l'impression qu'il y avait moins de visiteurs qui voulaient passer par la quête mondiale, et j'ai souvent suggéré de passer la version en ligne de mon jeu. Les énigmes du jeu en ligne étaient plus compliquées, généralement un autre stand du festival y était décrit, et les joueurs devaient comprendre quel stand était en question, s'y rendre et décrire au présentateur (ou montrer une photo de ce stand). Des équipes de 1 à 4 joueurs pouvaient participer, et même si chacun jouait pour sa propre figure, il fallait résoudre des énigmes ensemble, comme ce fut le cas dans la série. Si nécessaire, l'hôte pourrait donner un indice (si le visiteur ne connaît pas du tout l'univers du stand depuis l'énigme, mais que vous ne voulez pas trier toutes les options). Ce jour-là, il y avait plus de ces personnes, et presque tout le monde a parcouru toute la quête, ce dont j'étais extrêmement heureux. Au total, il y avait une dizaine de joueurs réussis, moins que ce à quoi je m'attendais, mais après la dernière journée, il y avait une augmentation évidente. Je me souviens surtout de la fille qui a commencé le jeu en ligne seule dans la première partie du festival, et est revenue et interrogée plus près de la fin, quand nous avons eu peur qu'elle abandonne la quête. Il s'est avéré qu'elle ne pouvait tout simplement pas résoudre l'un des mystères pendant longtemps, mais à la fin, elle a tout terminé avec succès!)
Je pensais qu'en récompense spéciale pour avoir terminé la version en ligne, je donnerai un badge et uniquement à celui de l'équipe qui atteindra le centre du terrain plus rapidement, mais il y avait peu de participants, donc tout le monde a été récompensé, et le fonds de récompense a été reconstitué avec des aimants acryliques faits à la main et peints à la main dans le style de Jumanji . J'espère que les participants à l'interactivité ont été satisfaits à la fois des prix et du jeu lui-même.



Une leçon pour l'avenir


Il semblerait qu’il soit temps pour moi de comprendre depuis longtemps que le contenu de ces projets est souvent plus important que la forme sous laquelle il est présenté. L'une des erreurs que j'ai commises a été de se concentrer sur l'application au détriment des devinettes. Bien sûr, j'ai réussi à écrire un certain nombre de puzzles, mais je les ai ajoutés dans le bus depuis le téléphone en route vers l' Expoforum , ce qui pourrait affecter à la fois leur originalité et le nombre - ils seront presque certainement répétés lorsque le jeu sera répété. Mais des puzzles intéressants sont ce qu'ils attendent de Jumanji . À l'avenir, plus de temps devra être consacré à des choses aussi importantes.

Résumé


Près de six mois se sont écoulés depuis le festival. Pendant ce temps, je n'ai plus mis à jour le jeu - j'avais prévu qu'il ne serait nécessaire que les jours du festival, et je ne comptais pas sur un soutien supplémentaire. Curieusement, je continue de recevoir de nouvelles critiques de Google Play . Et bien que la plupart d'entre eux soient en arabe avec une demande d'ajout de la langue arabe (peut-être que je ne sais pas quelque chose sur l'étymologie du mot Jumanji ? J'ai trouvé qu'il a plus de racines africaines), des critiques continuent à apparaître avec des questions sur la version en ligne. Si j'avais le temps à l'avenir, je mettrais en œuvre quelques autres choses pour que le jeu puisse fonctionner sans mon intervention directe, mais, à mon avis, il a déjà rempli sa mission principale. Ce fut une expérience unique pour moi - voir comment votre quête se déroule à l'aide de votre application est très agréable.Je remercie tous ceux qui m'ont donné cette opportunité - les organisateurs du festival, mon équipe et, bien sûr, les visiteurs qui y ont participé. J'espère que ce n'est pas mon dernier festival et pas le dernier interactif =)



Technique interactif lors de conventions fantastiques. Partie 1

Source: https://habr.com/ru/post/fr431914/


All Articles