Crash & Compile

Posted on 20 Oct 2016

Competitive coding
Some three weeks ago, the s[ck]rip(t|t?c)ie (hereinafter referred to as the scriptcie), organised a new and fully automated crash and compile. For those that attended the event, the previous sentence might make some sense, for those that missed the event, I will elaborate. In short a crash and compile is a competition where contestants have to solve problems of varying degrees of difficulty, using small scripts or programmes. This in short describes the compile part of the competition. Should your programme fail to compile, fail to run or yield an incorrect answer, then you cross over to the crash part of the competition, i.e. you have to drink.

A new way of crashing
This edition of the crash and compile brought a lot of new features, that helped us smooth out the event and more importantly allowed us to gather statistics. This time the contested started by logging in to a customly made terminal, where they entered the text-based world of POKéMON, starting off in front of their mother's house in PALLET TOWN. The contestants then had the opportunity to walk around by typing right, left and similar commands. On their way through the world they had ample opportunity to encounter exercises, POKéMON, and even some easter eggs. The exercises rewarded points for the programming rankings, whereas the POKéMON would award challenge points, when caught. Sometimes (read: often), a team would encounter an ADTATA, which meant they had to drink. All emptied (alcoholic) drinks could be exchanged for points in the crash rankings. This in short explains the basis of the entire event.

Figure 1: For those that were wondering, this is an ADTATA.

Looking back
Looking back at the event, I can say that we are very pleased with ourselves. We managed to procure a very nice location (Quintor), with food, beer and some pretty awesome prizes. If you want to get the essence of the event, you can take a look at the pictures. Our server (Kathinka-bot), which ran the entire event, never crashed, but we did have to call to Francken a few times and ask the people drinking there to wiggle the ethernet cable in order to regain connection. The automated system meant that we spent most of the evening at the bar drinking beers, as we barely had to step in. The entire system was built in-house, which means that even though we didn't have to do a lot during the event, we spent a lot of time coding and testing everything the weeks before. I'm actually quite happy that we didn't use crash and compile rules during those weeks. Examples of things we made include: a grid editor to aid in making the maps, a terminal that allows the end user to walk through the maps, random POKéMON encounters, the storyline and a logging system that allows us to present a bunch of interesting statistics.

Figure 2: Committee being busy

Statistics
And now for some statistics, so that we can answer some questions you never asked us. In the end 11 teams correctly answered a total of 73 questions. The contestants had to drink a total of 295 times, which resulted in 86 empty glasses (3 drinks in each glass) or 172 POKéBALLS for the contestants. The teams encountered a total of 193 POKéMON of which 120 resulted in a DRINK! (54 ADTATAs, 41 ZUIPBATs, 13 PINTEYs and others). In total 65 POKéMON (26 unique ones) were caught of which the Compucie caught 17 making them the best POKéMON catcher, closely followed by YpkeYpkeGuusGuus with 16 POKéMON. Henk, IceT and DigimonHoog only caught one POKéMON, which is the PIKADCHU they got from the professor. The best explorer has to be CPD, who travelled a total of 795 steps, followed by Lego with 467 steps. All teams combined walked a total of 4105 steps. We're currently expanding the way were gathering statistic, so after next time we should be able to spam you with more useless data.


Written by

  • Sjoerd Sjieuwe Ferdinand Meesters