So… we finally played our Hunt game this weekend, and we had a lot of fun!
So here is what we did:
We had 2 groups of players: hunters and survivors. There were 11 teams of 3 or 4 survivors, and 7 hunters. We played in our city, survivors had to walk/run all the time, the hunters had bikes. The goal for the survivors was to score points with ActionBound, without being tagged out by the hunters. When the game started, the survivors gathered at a secret place, where they received a print out with 21 qr-codes, placed on a map. Each qr-code was for 1 ActionBound mission, containing 3 parts: go to a certain place (arrow & distance), take a selfie of your group at that spot, and a message saying they got 1 point. Each team was instructed to use the exact same teamname for every bound they played. We had our software to crawl all the result pages for these bounds, checking for new results. As a result was found, it was added to our database as a new visit, linked to a location and a team. All locations were also in the database (coordinates, name, ActionBound result page url) So far, this was used to get the visits into our system. With these results, we had a map of our city, initialy blank, where visits popped up 3 minutes after the bound was finished. This map was displayed on a screen in the center of the city, in a bar, visible from outside. So the hunters always came to this location, looking where survivors were active so they could go hunt them down. When a hunter tagged a survivor team, they took a selfie and sent that to us. In our software, we logged this TimeOut. From that moment, that survivor team was tagged out for 15 minutes. If a result was scraped from ActionBound, and the team was on TimeOut at the time that bound was finished, we deleted it from ActionBound automatically, so they did not score a point. On the map, we also showed a score board, where teams were displayed in red when they were on timeout, also displaying how long the timeout still lasted. The locations that had been visited, were also displayed on the map: in red if it had been visited in the last 8 minutes, orange for the last 15 minutes, black after that.
Once a team of survivors had reached a certain score (we played up to 15 points), we activated the final part of the game: the survivor team with 15 points received a new qr-code, for the Home location. This was a bound just like the others, find the spot and take a selfie. 3 minutes after the survivors received this qr-code, the Home location was displayed on the map, causing all the hunters to rush to that location too. In our case, the winning survivor team had just finished the final bound before the hunters arrived…
So what we developped is: database with locations, survivor teams, hunters, visits, a settings table. A cron job to crawl the result pages of all the locations in the database. A web page with the map and score board, a web page with scores only (so the survivors could monitor timeouts too), and admin page to log timeouts, activate home, enable or disable the cron job. We used 2 messenger groups, one for the hunters and one for the survivors, to share information, hunters used their group to send us the selfies when they tagged a survivor team. Prior to the game, the survivors did not know who was hunting them, and the hunters did not know the survivors. When a hunter tagged a survivor team for the first time, their picture was also sent to the survivors.
All players really enjoyed this game, but we noticed 1 problem: the results of a bound are only shown online when the user has finished all the steps in the app, not when the last part is completed. When players visited a location, took a selfie and then waited 10 minutes to finish the bound in the app, the result showed up online, we showed it on the map and it stated it was 10 minutes ago, having the hunters complain they were supposed to see it 3 minutes after completion… They only way this could be fixed, is by making the app upload a result automatically when a bound is completed, this could be made optional maybe? Then the result would be uploaded immediately when the last stage is completed, without manually having to click “send”.
Also, an API would be very cool! Now we had this cron job crawling for results, logging in every time, accessing the url for all results first. We probably caused unnecessary traffic to your server, sorry about that