📜 ⬆️ ⬇️

Technical interakty on fantastic conventions. Part 2



In the first part, I talked about a laptop from a Gravity Falls fan stand, with which I participated in several science fiction festivals 2-3 years ago. This year the team was inspired by a new film on Jumanji and decided to make a stand in this universe. My attitude towards him is not so unambiguous, but the old film and the series were very good. When it came time to start working on the interactive, I decided to make a mobile counterpart of the board game for festival visitors, with the possibility of playing together on the stand and solving riddles. Under the cut - what came out of my implementation and how it looked at the Starcon 2018 festival.

Board game Jumanji (Jumanji)


In the original film, the players (up to 4, according to the number of figures in the game) threw the cubes, their figures moved to the corresponding value, and in the center of the game a mystery arose. They had a few seconds to understand what it was about, after which the writing began to be executed. Bats flew in, wild animals sprang up — all of this came into our world from the game.

Moment of doubt
Theoretically, players could immediately make the next move in turn and quickly finish the game. In fact, each puzzle brought with it new difficulties to continue the process. There was another principle in the series, and there was no such problem.

In the series, the game behaved differently - even though the same figures and the field appeared there, in practice it did not matter. No matter how many people (or other creatures) were present next to the field at the time of the game, they were all drawn inward after the riddle appeared - until they solved it in the game world, saying the answer out loud.
')

Implementation of the board game


The idea was simple - to combine these options. The player rolls a die, makes a move, after which a riddle appears in the center of the field. Until the answer is given, the next player cannot walk. Since I am more a programmer than a crafter, I decided to make the game as an application for mobile devices.

I understood that such an interactive entails certain inconveniences for visitors. If at each festival booth a visitor downloads a new application, spends traffic, batteries, space on the device, then he will get tired of it very soon. And in the end, not everyone has a mobile device, and it would be unfair to deprive people of potential entertainment. Therefore, I decided to make two versions, mobile (online) and stationary (offline), with the input of the answer directly on our tablet. Mobile was supposed to be used only as an additional interactive, although I had high hopes for it.

Offline version


With the offline version of the client, everything was pretty simple. My wife drew graphics, I made a prototype in Unity - a figurine moves on a board, a riddle is displayed. Beauty! I was not going to spend a lot of effort on the interface, after all, the application had to work for only two days and perform primarily the function of bringing questions to the visitors, but I could not leave it completely raw. Added the creation of players (up to four) with the name, approximation of the camera, various trivia. In the first version, questions from the film were rigidly sewn. Knowing the policy of the app stores, I decided to post this version in advance so that I could slowly fix any jambs - the game was made after a famous film, albeit without any monetization and advertising, but the copyright still belongs to the publishing company. Then my fears were not justified - first Google Play , and later the App Store confirmed the application without any problems, and in the meantime I began to refine the server and client for working online.



First ratings from Google Play


I did not add localization, because I did not expect to use the application by anyone else, except as a festival visitor, but, bearing in mind that guests from different countries could not add regional restrictions on the game. I did not post links to the first version anywhere (except for the test among our stand team), but to my surprise, reviews from Google Play began to appear. Among the first reviews were foreign in the spirit of “what to answer questions? I can not pass the game "and with low ratings. I was afraid that the low rating would scare away even those visitors who could install the application at the festival, and decided in the next version to add the game mode No questions and make it active by default if the device language is different from Russian. In this mode, the game turned into the simplest board game in the spirit of “ roll a cube, go forward N cells, who quickly came to the finish - won ”, but there were fewer such reviews (others appeared, more on this below).

Online version


I started the work on the server part even before the offline version. I was aware that Laravel is not the most suitable platform for the game server, but it seemed to me easier to make a prototype on it and fill the database of questions through the site. The site had closed sections, where I could add questions, create an online game and manage its process (start the game after all the participants select the figures, confirm the answers to the questions, finish the game).



Implemented API for connecting to the game, selecting shapes, throwing dice. Tested via Postman and went to the client side.

Poll server client every N seconds - of course, not the implementation, which should be proud of in 2018, but this simple mechanism worked as it should. Made a saving system based on a small asset, added settings for the application, where you can select the game mode and download the actual database of questions from the server. There are several lists - a basic list of questions (questions from the film that were present in the first version), a list of questions for the stationary version, and a list of questions for the online version. A question can be in several lists at once, but usually only in one. Also on the button you can download the current version of questions from the site. Of the 4 game modes, 3 work on the basis of the offline version (with two different lists of questions + mode without questions), and the last one requires prior creation of the game by the presenter from the stand and cannot be started automatically. Those who want to learn more about the principle of operation of the online version can read the following spoiler, where I have tried as much as possible (perhaps even unnecessarily) to describe everything in detail.

The principle of the online version
First, visitors (group from 1 to 4 people) come to the leader with their devices with installed applications. In the settings, select the game mode On the stand online . Now, when the game starts on the client, a window for entering the 4-digit code appears. The host of the game from his device enters the site and in the closed section creates the game on the server, after which the unique code of the game is displayed to him. Normally, this is the only code that players will need to enter (except for the name). So, all the players enter the code of the game, and on the client displays the box for selecting a figure and entering the player's name. At the same time, the server is polled (based on the game code) for the presence of occupied pieces — for example, if player Peter chooses a monkey, the next server polls only the remaining three pieces will be available to Judy . If Judy tries to choose a monkey after Peter has chosen her, but before the list of available figures is updated, she will be given an error and will need to try again.



After selecting a piece, the players enter the standby mode, and a unique 7-digit identifier is returned to the client, which is not displayed anywhere, but is used to identify the requests sent by the player. Here the server polling begins again, but not for the presence of free pieces, but for receiving detailed information about the game, including its status. And this continues as long as the status is pending . Also, the game information includes the field with the last update date. This field is also transmitted in the request to the server so that it will give out full information only when the date changes, and in other cases sent only a notification that everything is still. Finally, when all the players have chosen the pieces, the presenter from his device changes the game status to active .

The next time the visitors update the information, the playing field opens. Players move in the order of sequence (who chose the figure before), if a double fell on the dice - the turn remains with the current player. There are two kinds of questions in the online version.

  • The first type - questions with input of the answer in the corresponding field, just as it happens in the stationary version. When you click the Answer button, a request to the server occurs, where it is determined if the answer is correct. Most often there may be several correct case-insensitive variants.
  • The second type - questions that require confirmation. There are no buttons here except for re-displaying the question. It is necessary for the presenter himself to click Calculate the answer on the game page on the site after the players fulfill the relevant conditions from the puzzle and tell the facilitator about it. After that, the turn becomes available to the next player in order of priority, and so on until someone reaches the center of the field. Formally, after that the presenter will have to click the Finish button on the site, after which the game will disappear from the list of active, and attempts to reconnect from the client with this code will return a warning that the game is already finished.



The ability to reconnect to the game was also implemented. If a visitor started an online game, and then, say, went to the menu, chose another mode, played the offline version and again decided to connect to the old game, or decided to continue the game on another device, he can do it with the help of the host . First, he also enters the 4-digit game code, and then, instead of choosing a free piece, he needs to press the Enter player code button. The 7-digit player code mentioned earlier is not shown openly in the game interface, but is visible to the moderator along with the names and figures of the players in the closed section on the site, so the player will be able to identify himself and enter this additional code. If the game has already been started, then after entering the game code, the visitor will immediately be prompted to enter the code of an existing player. This opportunity was tested, but was never used at the festival, therefore it remained redundant.

Sudden difficulties


The finalization of the final version of the application took more time than I thought, and the update went to the market only a few days before the convention. And, of course, the App Store blocked it =) Of course, it was my fault - I assumed that the use of the film’s name might be incorrect, but it was used only in the context of a fan stand, and there were no problems with the first version of the application, so I relaxed . At first, only the icon was blocked, after it was changed and re-checked — the description was already in the market (both were present in the first version), and a notification was issued that the next application check would take more time. In general, it seemed to me strange that the update was rejected, and the first version that had already been downloaded with the “incorrect” description and the icon was left for download, but at least something. I was in some panic - plus a couple of days of testing, and the application would no longer be relevant, and at the festival all visitors from iOS are cut off for the online version of my interactive. Not knowing whether to wait for a joyful confirmation letter, on the night before the convention I frantically wrote down the online text version - albeit not very beautiful, but workable, with which the interactive users could pass through all the devices with access to the network.



First day of the festival


And now, the day of the convention. By that time, I already knew that my interactive application was not the only one - it was still the main application from Megaphone for the global quest throughout Starcon. I hope the presence of my application did not create any inconvenience for the organizers, but at least I still have not heard about it. But the stationary version of the game was able to integrate into the main quest. Its meaning was that visitors with installed Starcon applications walked around the stands, performed unique tasks, and when successfully executed received a special code for each stand (which was entered by stand participants to avoid distribution), and collecting codes from all stands participated in the raffle prizes At the stand of Jumanji, I volunteered to answer for this quest. As an assignment from our booth, I offered to go through an offline version of my game with fairly simple questions. Those interested could download the application to their device and go at their own pace, then showing me a successful result, or, under my leadership, “ play Jumanji with Alan Parrish ” from our tablet. This, of course, was not as canonical as the old laptop for past festivals, but with a tablet case painted under Jumanji it didn’t look so bad.



The online game was a separate, independent interactive. For it, visitors had to install the application (or use the online text version, but everyone chose the application). The situation was aggravated by the fact that the new application for iOS was not confirmed, and only the first version could be found in the App Store , without the online game and even without the ability to download the current version of the questions. In addition, on the first day of the festival, as usual, there were more visitors, including those who wanted to go through the official quest, therefore, as a result, only a couple of people with Android started an online quest on the first day, but abandoned at the first riddles. I was a little upset, because quite a lot of energy was spent on the online version, it would be a shame not to test it at all. But he hoped that the second day would be more successful in this regard - it happened.

Second day of the festival


The second day began with inspiring news - the App Store finally confirmed the new version of the application, also writing that in the event of such a need (in response, my letter with reasoning that I needed the application strictly on certain dates) I should write an additional notification on a quicker check (to be honest, since then I haven’t specified this point since there was no more such need). On this day, it felt like there were fewer visitors who wanted to go through the global quest, and I often offered to go through the online version of my game. The puzzles for the online game were more difficult, there was usually described some other stand from the festival, and the players had to understand which stand was in question, reach it and describe to the leader (or show a picture of this stand). Teams from 1 to 4 players could participate, and even though everyone was playing for his piece, they needed to solve riddles together, as was the case in the series. If necessary, the presenter could give a hint (if the visitor does not know the Universe of the stand at all from the puzzle, and I don’t want to go through all the options). On this day there were more such volunteers, and almost everyone went through the quest entirely, to which I was unspeakably happy. A total of successful players was about ten, less than I expected, but after the last day - an obvious increase. I especially remember the girl who started the online game alone in the first part of the festival, but returned and questioned closer to the end, when we began to fear that she had abandoned the quest. It turned out she just could not solve one of the riddles for a long time, but in the end she completed everything successfully!)
I thought that as a special reward for completing the online version, I would give out one badge and only to those who came to the center of the field faster from the team, but there were not many participants, so everyone was awarded, and the fund of awards was replenished with self-made acrylic-painted magnets in the style of Jumanji . I hope that the participants of the interactive were satisfied with both the prizes and the game itself.



One of the lessons for the future


It would seem that it was time for me to understand that content in such projects is often more important than the form in which it is presented. One of the mistakes that I made was to focus on the application to the detriment of the riddles. Of course, I managed to write a number of riddles, but wrote them on the bus from the phone on the way to the Expoforum , which could affect both their originality and the number - with repeated passes of the game, they will almost certainly be repeated. But interesting puzzles - this is what is expected from Jumanji . In the future, you need to spend more time on such important things.

Total


Almost half a year has passed since the festival. During this time, I no longer updated the game - I planned that it would be needed only during the days of the festival, and did not count on further support. Oddly enough, I still continue to receive new reviews from Google Play . And although most of them are in Arabic with a request to add Arabic (maybe I don’t know something about the etymology of the word Jumanji ? I found that it has rather African roots), reviews with questions about the online version continue to appear.If there is time in the future, I would have realized a couple more things so that the game could function without my direct intervention, but I believe that it has already fulfilled its main purpose. For me it was a unique experience - to watch how your quest passes with the help of your application is very nice. I would like to thank all those who gave me this opportunity - the organizers of the festival, their team, and, of course, the visitors who participated in it. I hope this is not my last festival and not the last interactive =)



Technical interactives on fantastic conventions. Part 1

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


All Articles