サークルと、コードゴルフと、コードゴルフ会(提供: @kuromunori)

サークルでコードゴルフ会を作ってみた。

8月から、数えたら8回開いたようだ。

 

きっかけ

サークルでは、以前から「コードゴルフ大会」という大きなイベントが年1程度で開催されていた。毎回20人くらいは参加している気がする。2〜3日がかりのお祭りのような感じだ。

私も開催に関わったが、このイベントは準備に結構な労力がかかる。作問をして、サーバーを立てて、チーム分けをして、ホストは開催日にある程度張り付いていないといけない。

もちろん大規模なイベントの方が参加者も楽しくはあるが、忙しいなどで開催できそうにないタイミングでも「コードゴルフしたいな」という持て余した部員の呟きをチャットやTwitterで数度見かけた。

しかしそれ以上何も起こらなかったので、「場を用意すれば集まるのだろうか?」と思い、作ってみることにした。

 

その他の要因

プレイヤー

コードゴルフは元々熱意のある人や普段から趣味にしている部員が数人いて、彼らの力でコードゴルフ大会が作られ、作問がなされ、維持されていたように思える。しかし、学年が上がるに従って社会人になったりで、彼らへの院進や卒論でサークルへの参加度合いが下がった。

現在のシステムは熱意と技量のある人間の存在に依存している。そういう人間がいなくなれば途絶えるのが自然な帰結かもしれないが、せっかく持ち込まれた文化であるからには継承したい。今までとは違う形、軽いモチベーションで続いていく形態として、こういう会はどうだろう、というのがあった。

 

形式

既存のコードゴルフ大会はコストが高いため、気軽に開催できない。ならば、逆に極限までローコストにしてみるのはどうかと考えた。

具体的には、

大会ごとにオリジナルの問題を作っていた。これはあるとうれしいが、労力がいる。ということで、AtCoderやAnarchy Golfの既存の問題を使うことにした。

ジャッジシステムも自前で用意していたが、AtCやAnagolを使う。

一般的な分科会(ゼミ)は学期中など決まった期間で開催され、持ち回りで担当を決めるなど、その期間に責任を持って参加できることが必要な場合がある。そのハードルを下げるために、「誰かのやる気がある時に開催され、開催時間中にひょっこり現れれば誰でも参加できる」という形にした。

また、一般的な分科会は週の担当になるとスライドを作るなど、資料の準備がいる。あと、当然出席する必要がある。これもハードルを下げるために、「開催者はお題の問題と言語を選ぶだけで、あとは時間中に各々勝手に書く会」とした。つまり、開催者が不参加でも成り立つ。

 

その他

うら(Twitter:@n4o847)氏がbotを作ってくれて開催リマインダーの自動化と提出を検出してくれるようになった。ありがとう。

私の場合、場を多く用意しておくのが目的であるため、参加者0人でもかまわないと思っていた。だが、他の人からするとどうなのか気になっている。

別に厳密な大会ではないので出題者が選んだ問題を解いてもいい、むしろ自分の練習の機会にしたらどうか、と思っていた(私は問題を選んだ回でも普通に書いたりしていた)。が、伝わっていなかったかもしれない。

問題を選ぶのもそんなに気合いを入れる必要はないと思いかなり適当にやっていたが、もしかすると他の人はそうではなかったかもしれない。

 

やってみて感じたこと

文化として継続したいのであれば、そう思っている数人で持ち回りでやると決めた方がよかったかもしれない。たとえば4人で運営すると、ひと月に1回問題と言語探すだけになる。

ハードルを下げるために「開催したい人が現れたらやる」という形式で完全に自由にしたが、自分から手を挙げる人は現れなかった。縛りには意義もあるのかもしれない。例えば、3ヶ月みたいな期を設けて、その間の主催は決める。3ヶ月ごとに更新として、そのタイミングで主催から降りることができる。…など。

常設したいということであれば、カレンダーが1ヶ月先くらいまで埋まっていると参加しやすいのかもしれない。

初期の夏休み中の会は3〜4人参加者がいたが、学期が始まると参加者は毎回1〜2人くらいになった。人が集まる方が参加のハードルは下がるし、競うことが面白いものでもある。コードゴルフは月1程度でいいかな、と思う人が多いのであれば、そもそも月1にするとか。学期中は頻度を落とすとか。

既に何らかの機会でコードゴルフをやっている人以外は参加がなかった。そもそもコードゴルフが馴染みがないからあまり告知してもということだろうか。初心者回とか用意する?

チャンネルで会話が交わされていて、新しく参加した人が入りやすく、かつ無言でも構わない、のような雰囲気が理想的だと思っているが、どうすればよいだろうか。

 

その他

ut-codegolfで参加してくれている方もありがとうございます。

こういう常設の超低コストの会(問題を選び、解くだけ)は他分野でもできるのでは。競プロで1問解く会とか、CTFの過去問を1題解く会とか。

以前から、学期途中からサークルに入部してくれる人がいるが、ゼミ系の分科会がメインだと入部してすぐ参加できるものがないのが残念なんじゃないか、と思っていた。常設の会があれば敷居が低く

f:id:Szkieletor:20211110103833j:image