Technical interakty on fantastic conventions. Part 2
In first part 3r37777. I talked about a laptop from a fan stand Gravity Falls He 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 of my implementation and how it looked at the festival Starcon 2018.
Board game of Jumanji (Jumanji)
In the original film, the players (up to ? 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 appeared - all of this came into our world from the game.
3r3113. 3r3114. A moment of doubt [/b] 3r3r166. Theoretically, players could immediately make the next move in turn and quickly finish the game. In fact, each puzzle brought with it new difficulties for the continuation of the process. There was a different 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.
The 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 3-333260.
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 according to a famous film, even 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 App Store They confirmed the application without any problems, and in the meantime I began to refine the server and client for working online.
The first estimates from Google Play
I did not add localization, because I did not expect to use the application by anyone else, except as festival visitors, 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-up team), but, to my surprise, the reviews began to appear with Google Play . 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 in the next version I decided to add the game mode 3r33265. No questions asked 3r3r. and make it active by default if the device language is different from Russian. In this mode, the game turned into a simple board game in the spirit of " Throw a dice, go forward on N cells, who quickly came to the finish - won 3r3r206.", But fewer such reviews (others appeared, more on this below).
I started the work on the server part even before the offline version. I was aware that Laravel - 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 through Postman and went to the client side.
Poll server client every N seconds - of course, not the implementation, which should be proud of in 201? 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 tried to maximally (perhaps even unnecessarily) describe everything in detail.
3r3113. 3r3114. The principle of operation of the online version [/b] 3r3r166. 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 the client displays a 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 the player is 3r326565. Peter [/b] will choose a monkey, the next time the server polls the player Judy only the remaining three figures will be available. If Judy will try to pick a monkey after being picked by Peter , but before the list of available figures is updated - it will be given an error, and will need to try again.
After selecting the figure, 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 goes on as long as the status corresponds to r3r3265. waiting for [/b] . 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 gives 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 leader from their device changes the game status to 3r-3265. active r3r3266. .
The next time the visitors update the information, the playing field opens. Players go 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 3r3206. - questions with input of the answer in the corresponding field, just as it happens in the stationary version. When you press the button Answer there is a request to the server, where it is determined whether the answer is correct. Most often there may be several correct case-insensitive variants. 3r3164.
[i] The second type is - questions requiring confirmation. There are no buttons here except for re-displaying the question. It is necessary that the presenter himself pressed Count answer on the game page on the site after the players fulfill the relevant conditions from the puzzle and tell the leader 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 press the button Finish 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 over. 3r3164.
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 button. Enter the player code . The 7-digit player code mentioned earlier is not shown in the clear form 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 feature was tested, but was never used at the festival, therefore it remained redundant.
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, App Store blocked it =) Of course, this is my fault - I assumed that the use of the film’s name might not be correct, 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 “wrong” 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 will no longer be relevant, and at the festival all visitors are cut off for the online version of my interactive with iOS . Not knowing whether to wait for a joyful confirmation letter, on the night before the convention I frantically finished writing an 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.
The first day of the festival
And now, the day of the convention. By that moment, 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 went on the stands, performing unique tasks, and upon successful execution they 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 booth Jumanji I volunteered to be responsible 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 3r3205. Jumanji with Alan Parrish " From our tablet. This, of course, was not as canonical as the old laptop for past festivals, but with a painted Jumanji The tablet case 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 3r326565. iOS [/b] never confirmed, and App Store it was possible to find only the first version, 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 wishing to go through the official quest, therefore, as a result, only a couple of people from 3r33265. Android [/b] on the first day they started to go through an online quest, but they abandoned it on the very 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.
The second day of the festival
The second day began with encouraging news - 3r33265. App Store [/b] finally confirmed the new version of the application, writing also that in case of such a need (in response, my letter with the reasoning that I needed the application strictly for certain dates) I should write an additional notification for a faster check (frankly, since has not clarified this point since since there was no more such need). On this day, it felt like there were fewer visitors willing to go through the global quest, and I often offered to go through the online version of my game. The puzzles for online games were harder thereSome other stand from the festival was described, and the players had to understand which stand was in question, reach it and describe to the leader (or show a photo 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 that she simply 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 from the team who quickly reach the center of the field, 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 finished writing them on the bus from the phone on the way to Expoforum that could affect both their originality and the number - with repeated passes of the game, they will almost certainly be repeated. But interesting puzzles are what are expected from Jumanji . In the future, you need to spend more time on such important things.
The result is
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 feedback 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 3r-?665. Jumanji 3r-?666.? I found it to have more African roots), reviews continue to appear with questions about online version. 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, 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 interakty on fantastic conventions. Part 1
It may be interesting