Four guys with a mission: beating the Guinness world record for the longest marathon playing a board game. 80 hours of playing the mind-numbing Game of the Goose. Due to the sleep deprivation a very interesting topic physiological-wise, but I would like to show you the computer setup that made sure this event will end up in the Guinness Book.
Fun facts are listed like this. So, did you know that some years ago, there was a difference between local and global world records? The record for longest marathon Game of the Goose was 74 hours, but after the globalization of the Guinness Records, this specific record disappeared and became the more general 'longest marathon playing a board game'. The record was also reset and is now only 61 hours and 2 minutes.
For a record to be acknowledged by the Guinness World Record organization, either an official judge has to be present for the duration of the record or you have to provide sufficient (video) evidence of the entire event. Since our budget was small, we opted for the latter. And this started the challenge for me: how can I record 80 hours of video, whatever happens, without missing a second. So my IT background kicked in: we needed redundancy, failovers, Uninterrupted Power Supplies, monitoring! But on our limited budget I had to make do with what IT infrastructure that everybody had lying around: a couple of laptops, some computers and some webcams.
In addition to the video evidence the Guinness World Record organization also requires a detailed logbook containing all games played and detail break duration, filled in by two impartial judges. These judges had to be always present and could only judge for four hours. We are really thankful to our 40-some judges who made time to assist in this world record attempt, it's no small feat to take the 04:00 to 08:00 shift!
The Guinness Guide to Evidence state that "video evidence must show the entire record attempt, from start to finish". It is really required to record everything: "For 'longest marathon' record attempts, we understand that it may be necessary to change batteries or tapes during the attempt, and for this reason you should have a second camera to film while the first camera is not running."
We used two webcams and a handicam to provide double redundancy. All the cameras were filming different angles, so should any camera be obscured by people standing in the way or a light from a news camera crew blinding a camera, we can still show an uninterrupted, clear video to the Guinness World Record organization.
This one was simple: use laptops! And a handicam with the adapter plugged in. And another handicam ready with a full battery.
So we were pretty well covered, but in the case of a complete power outage we might have had other problems, since playing Game of the Goose in the dark is a challenge. To prepare for this we also had several flashlights and a big battery powered LED flood light standby.
Thankfully the only power outage occured when we were setting up the IT infrastructure the day before. No problems at all during the record attempt!
I am not aware of any Nagios Core plugins for making sure that a clock is visibly showing the correct time or that a video app is recording, so we took the manual approach regarding monitoring. All machines that either showed a clock or were streaming video had TightVNC server installed, so we could remotely keep an eye on all machines from our Control Room.
When I was not in the Control Room I carried my iPad with me with the Remote Ripple app. This is a VNC viewer by TightVNC for the iPad, so I could monitor all machines wherever I was. The app works great and is miles ahead of all crappy, shareware, free VNC offerings in the App Store, so definitely worth supporting the TightVNC team with the few bucks it costs.
One of the laptops showing the clock would show a Windows popup about some missing DLLs once in a while, covering the clock. It turned out to be a virus infection. These kinds of unexpected failures are near impossible to prepare for, so manual monitoring was our best bet. Extra tip: make sure all machines you use are up-to-date and virus scanned!
Did you know that a 32 GB SD card in a GoPro is filled within a couple of hours? High resolution recording would simple take too much disk space. It would also not be needed to see every speck of dust on the board for 80 hours so we searched for a balance between quality and file size. We used an open source tool called iSpy to record the footage from the webcams. iSpy is a surveillance tool, commonly used for CCTV cameras and is specialized in continuously recording footage. It uses an encoder that gives a clear picture with relative small file sizes, but with a low framerate. An acceptable trade-off for our purpose.
The handicam had an internal hard drive of 80GB. At its lowest setting it predicted a maximum recording time of 72 hours, but in the end it managed to complete the 80 hours. This was perfect as a backup solution that required no attention.
It is not really possible to stay up 80 hours and still play a game. The rules of marathon world record attempts state that every full hour of play will award you with 5 minutes break time. This break time may be accumulated for longer breaks. We had a very strict planning of breaks to ensure that the players could take enough power naps to make it through the 3 days and nights of playing. These breaks also allowed us, the support team, to make adjustments to cameras or to the playing room.
To be on the safe side regarding requirements from the Guidelines to Evidence, we wanted a clock that shows both the current time and the current duration of the record attempt. This clock had to be clearly visible on all video feeds as well as to our independent judges and the support team (our strict break schedule meant that we had to be very strict about resuming the game). So we had several screens (powered by several computers) showing the clock. And for convenience everyone could open the hosted version of the clock on their iPads or phones.
But with the clock running on 5 different computers we ran into another challenge: computers clocks will slowly skew. The judges would be counting down the seconds until a break and the audience would be counting as well, but not in sync. Most laptops were Windows laptop. You can tell Windows to automatically adjust the time, but this does not happen very often, so clock skew was still visible. Manually tweaking the time was the workaround for this. The Linux computers could sync with an NTP server whenever needed, so they were easier to keep in sync.
My clock was featured on every major news outlet in the Netherlands!
What really lifted the players' sprits up and helped them through their 80 hour struggle was the cheering of their supporters. Friends and family all showed up several times during the attempt to watch, have a chat and provide support where needed. But there was also a whole online following through the Facebook page and the various news channels.
To show the entire world in real time what was happening, we had one webcam streaming to Facebook Live using the Open Broadcaster Software. OBS allows you to add overlays to your streaming videos and we used it to overlay the clock. Setting this up was really easy, but we had to go really low resolution due to our 400 kbps upstream internet connection.
People enjoyed the live stream, so we had a steady number of concurrent viewers, even during the nights. The channel we hosted the videos on had 37.027% more traffic than usual. The final minutes and celebrations were watched live by hundreds of people and have now racked up over 240.000 views!
The players succesfully finished their 80 hour record attempt. And after 16 hours of sleep, everybody already started gathering all the evidence of the record. Scanning the log books, collecting paper articles and radio broadcasts covering the record attempt and receiving pictures from everyone who attended. It was my job to get all the gigabytes of video into shape, so we could share the video with the Guinness World Record organization.
YouTube allows for videos 11 hours in length, so I decided to make 8 videos of 10 hours each. We configured iSpy to record 30 minute files, so we had around 160 videos to stitch together. YouTube has an online editor that allows you to this. But after uploading all individual files (thankfully you can drag and drop them all) it turned out that the video length in the editor is limited to 1 hour. I tried several video editors but none of them made it easy to work with these amounts of film. Re-encoding a stitched video of 1 hour took several hours on my machine so this does not scale well.
In the end I reused the
ffmpeg utility that iSpy uses internally. It is a command line tool that can stitch together a list of filenames. I also had to use the crop functionality, since the 30 minute files were 32 minutes in reality. Cropping an MP4 file can be done without re-encoding if you cut the movie at a key frame and is thus done in a matter of seconds instead of hours. In our case we lost a couple of seconds due to cropping at key frames, but we found that acceptable.
So the videos were done, now we only had to share them with the Guinness World Record organization. We uploaded them all to YouTube and they were blocked immediately due to copyright violations. In the background of all the videos one might vaguely hear the Spotify playlist that kept these guys going for 80 hours.
YouTube actively scans videos for licensed audio and automatically applies copyright restrictions. Copyright holders can impose different restrictions: blocking the video (in certain countries), disabling embedding, claim a video's revenue, show advertisements, or mute all audio.
We had all variaties of copyright restrictions. An entire 10 hour video got completely muted because from 07:57:03 - 07:58:56 a ~3 minute song was played. Another video can't be viewed in Japan, because it features the Dutch song "Ik wou dat ik jou was".
ffmpeg I could easily strip the audio to not violate copyrights on YouTube. Someone his OneDrive was sacrificed to also host the videos with audio for the Guinness World Record organization.
The Guinness World Record organization has reviewed the evidence and has awarded the Guinness World Record for longest marathon playing a board game to Guus, Marcel, Max and Stijn.