Advent of Code 2019: De Noordpool staat onder water!

Laurens Joralf Jeroen Henri Achter de schermen

Jarenlang gaf de Kerstman kolen aan stoute kinderen, maar dat breekt hem nu op. De klimaatverandering is hierdoor zo veel versneld dat het echt gebeurd is: de Noordpool staat onder water! De rendieren hebben natte voeten gekregen en zijn zwaar verkouden.

Een probleem voor de Kerstman, want nu gaat zijn slee niet de lucht in. Gelukkig hebben de elfjes een vervanger gemaakt: springlaarzen! Deze zijn echter niet zo handig in gebruik, dus de Kerstman heeft jouw hulp nodig.

Advent of Code

Dit jaar sponsort Infi net als voorgaande jaren Advent of Code. Bij deze jaarlijkse programmeer-uitdaging verschijnt er elke dag tot kerst een nieuwe puzzel online. Omdat wij het niet leuk vinden om alleen maar een sponsorbericht op de site te laten zien, hebben we onze eigen puzzel gemaakt. Dit jaar hebben Joralf, Jeroen, Henri en Laurens zich gestort op het maken van een uitdagende puzzel.

Jeroen wierp zich op als projectleider en heeft alles in goede banen geleid. “We hebben ontzettend veel respect gekregen voor degenen die alle Advent of Code puzzels schrijven. Joralf, die de code voor de puzzel heeft geschreven is niet echt een puzzelaar, maar wel een gamer. Hij wilde daarom graag iets doen met een platform game. We zijn toen op zoek gegaan naar een vorm paste binnen de Advent of Code. Het idee om de platformen onderdeel te maken van de puzzel input ligt voor de hand, maar hoe ga je daar een puzzelvraag aan koppelen die zich algoritmisch op laat lossen? Het heeft wel een paar iteraties gekost voordat we tot het eindresultaat zijn gekomen.”

Platformer

Joralf heeft niet alleen het idee voor de puzzel aangedragen, maar deze ook geïmplementeerd. “Toen er bij Infi gevraagd werd wie de puzzel wilde maken ben ik meteen opgesprongen, dat leek me super tof! In mijn vrije tijd speel ik veel (indie) games, dus een puzzel platformer maken leek me tof. Het moeilijkste was aan de slag met de verschillende algoritmes om de puzzel te genereren en op te lossen. Ik schrijf eigenlijk nooit dergelijke algoritmes in code, dus naast dat het tof was om te bouwen heb ik er ook veel van op gestoken.”

Jeroen: “Alle respect dus voor de puzzelmakers van de grote Advent of Code die 25 puzzels moesten bedenken, implementeren en testen. We zijn wel erg blij met het resultaat; we denken dat we een leuke puzzel hebben geschreven. Bij een puzzel gebaseerd op een platform game kun je natuurlijk een leuke visualisatie maken. Er zijn geen extra punten mee te verdienen, maar ergens in de puzzel zit een visualisatie verstopt waardoor je het resultaat van je algoritme aan het werk kunt zien.”

Visualisatie

Deze visualisatie is gemaakt door Henri. “Voor het visualiseren van de puzzel waren verschillende oplossingen beschikbaar. De keuze is gevallen op het JavaScript framework Phaser. Na verschillende pogingen waarbij de kerstman alle kanten op over het scherm vloog is het uiteindelijk gelukt de regels van de puzzel te implementeren en kun je je oplossing in actie bekijken.

“Zonder enige eerdere ervaring met game frameworks was het eenvoudig om een eerste opzet te maken, maar eventjes snel een game in elkaar zetten, daar komt toch heel wat bij kijken.”

Doe zelf mee en maak kans op een prijs!

Zo lang Advent of Code loopt kan je nog meedoen met onze puzzel.

Daarmee maak je ook nog eens kans op een tof Infi-shirt. Voor de leukste/origineelste/beste oplossing (ja, we dekken ons zo veel mogelijk in) hebben we ook nog een toepasselijke gift card klaar liggen.

Een afspraak maken bij ons op kantoor of wil je even iemand spreken? Stuur ons een mail of bel met Jolanda.