Kockanap 2015 - a szervezők szemszögéből
Idén is megrendezésre került az egyre nagyobb sikernek örvendő Kockanap, az Óbudai Egyetem Neumann János Informatikai Kar megrendezésében. A rendezvény egy 24 órán át tartó programozási verseny, ahol csapatokba szerveződött barátok és hallgatótársak mérik össze programozói tudásukat.
A rendezvény menete nagyon egyszerű volt, regisztráltunk két barátommal és már meg is alakult a csapatunk. Az esemény pénteken vette kezdetét és szombat késő délutánig tartott, eredményhirdetéssel együtt. Nagyjából dél körül értünk a helyszínre, ahol már szinte minden készen állt a versenyre, szóval a helyi regisztrációt követően kaptunk egy kitűzőt a nevünkkel és csapatnevünkkel a könnyebb beazonosítás érdekében. Továbbá leltár készült azokról az eszközökről, amiket a versenyzők vittek a helyszínre, hogy ha bármi eltűnne, akkor ellenőrizni lehessen. Szerencsére ilyen sem ez előtt, sem pedig ez alkalommal nem történt. Ezek után elfoglaltuk a helyünket, lepakoltunk és beüzemeltük a hozott gépeket. Összedugtuk a routereket, hogy a gépek tudjanak kommunikálni egymás között, illetve, hogy a szerver gépet elérjük. A legtöbben laptoppal dolgoztak, azonban volt, aki nem tudott saját gépet hozni, neki viszont az iskola egyik terméből tudtak biztosítani egy asztali pc-t, így ez sem jelentett akadályt. Volt, aki még egy kiegészítő külső monitort is hozott a laptopja mellé, így növelve a produktivitást.
Eközben megérkeztek a szponzorok is a helyszínre, a Liligo, SuitSolution és a Profession személyében. Felállították a standjukat, ahol rövid regisztráció után kaptunk ajándéktárgyakat, illetve jövőbeli munkalehetőségeket.
Három órai kezdettel Szabó-Resch Miklós Zsolt tanár úr mondott egy rövid köszöntőt, majd sok sikert kívánt minden csapatnak. Ezután kézhez kaptuk a feladatot és tartott egy rövid demót, hogy mit is vár el, hogyan működjenek a dolgok.
A feladat egy Bomberman-szerű játék létrehozása volt, amely egy fő és egy mellékrészből tevődött össze. A fő rész volt maga a játék, ami egy szerveren futott. Ehhez kellett nekünk felkapcsolódni és az innen érkező adatokat fogadni, feldolgozni a mi oldalunkon, majd ezt követően új utasításokat küldeni a szerver felé – amikkel a saját karakterünket irányítottuk.
Az érkező adatok reprezentálták a pályát magát, valamint a játékosok és powerup-pok pozícióját. Ezeknek megfelelően, nekünk versenyzőknek a kliens oldalon létre kellett hozni egy mesterséges intelligenciát, ami majd a mi karakterünket vezérelte a pályán, a többiek ellen. Az MI megalkotásakor figyelembe kellett vennünk a pálya határait, az ellenségek helyzetét és a begyűjthető powerup-pokat, és ezek fejében egy optimális algoritmust kidolgozni.
A feladat mellékrésze nagyon ötletesen volt kitalálva, három különálló, de mégis, a nagy feladattal összekapcsolódva értelmet nyerő programkódot kellett írni. A fő feladat, programozási nyelv függetlenül volt megvalósítható, azonban a kis részfeladatokban ki volt kötve, hogy melyiket milyen nyelven kellett megírni. Így kaptak helyet a PHP, Python és Bash nyelvek. Ezen kívül voltak egyéb megszorítások, például, hogy törekedjünk a minimális karakterszámra (ami befolyásolta a fájl méretét), vagy, hogy a leggyorsabb futásidőt eredményezze a kódsor.
Az így elkészült részfeladatok által fejleszthettük a karakterünket, oly módon, hogy több bombát volt képes lerakni, gyorsabban tudott menni vagy éppen több ideig volt hatással rá egyik-másik powerup.
Mindeközben bármilyen felmerülő probléma azonnal orvoslásra került, a technikai problémák Szabó Zsolt tanár úr részéről, míg a szervezés részét a NIK HÖK menedzselte gördülékenyen. Folyamatos meleg tea és kávé ellátmány volt a helyszínen, ami nagyban segítette a 24 órán át tartó ébren maradást. Voltak azonban akik hol a monitor előtt bóbiskoltak el egy-két órára, illetve voltak akik egy terembe tértek be és kényelmesen csendben, sötétben pihentek pár órát, hogy utána újult erővel állhassanak neki a kódsorok írásának.
Természetesen a 24 óra alatt igencsak megéhezik az ember, még az is, aki jóllakottan érkezett versenyezni, azonban ez nem jelentett gondot, mert bőségesen el voltunk látva étellel is. Az első napon meleg ételként, kétfogásos vacsora várta a monitorok mögötti versenyzőket. Másnap reggelre frissen sütött péksütemény volt, a finálé előtt ebédre pedig pizza.
Nem sokkal ebéd után, elérkeztünk az utolsó lépéshez a versenyen: meg kellett mérkőzniük a csapatoknak. A végső összecsapás úgy nézett ki, hogy minden csapat karaktere egyszerre elindult egy pályán. Voltak, akik amolyan Rambo MI-t írt és teleszórta bombával a pályát, még ha ettől ő maga is meghalt. Voltak, akik a védekezésre mentek és természetesen voltak olyanok is, akik totál véletlenszerűen lépkedtek. Ezáltal előállt egy pontszám, ami a rangsort jelentette az 1v1-es, egyenes kieséses selejtezőhöz. A végső küzdelmet egy több nemzetiségű egyénből álló trió nyerte – igen, külföldi nemzetiségű hallgatók is indulhattak, hiszen minden kommunikáció angolul is megtörtént, csakúgy, mint a feladat leírások és szabályok lefordítása.
Úgy gondolom, egy remek eseménynek lehetett mind a tizennyolc csapat a részese, ahol jó emlékekkel és hasznos tapasztalattal lettek gazdagabbak, mindamellett, hogy megtapasztalhatták, hogy mennyivel másabbul telik így 24 óra, szemben egy gólyatáboros átbulizott 24 órával.
<opcionális>
Ha esetleg kedvet kaptál ezen írást olvasván egy hasonló megmérettetéshez és NIK-es vagy, akkor neked szánták a tavaszi félévben megrendezésre kerülő Kockanap inside rendezvényt, ami ugyanolyan, mint a nagy Kockanap, viszont itt kizárólag NIK-esek versenyeznek.
</opcionális>