CODE RUNNER 2015 参加記
交通費支給のイベントで夕飯分の食費を浮かせる一般的なテク。のつもりが10位入賞で嬉しい誤算。
以下ツイート付けながら参加記を書きます
予選
A:ランダムに線分を取り続ける戦略。脳死。99位。
B:閾値に達したら攻撃する、みたいな戦略。途中誰も攻撃しないとかあって辛かった。63位。
本戦参加権は予選Bの63位のおかげだそうです。
開始前
code runner準備
— リッキー (@rickytheta) 2015, 12月 11
起きた、準備しよう(N回目)
— リッキー (@rickytheta) 2015, 12月 11
結局ほとんど準備せず。(環境整備を少しだけ)
賞金でお寿司が食べ隊
— リッキー (@rickytheta) 2015, 12月 11
No.72でした。
— リッキー (@rickytheta) 2015, 12月 12
開始
本戦は「お国からタスクを受注するか、市場に出てるタスクを外注として引き受けて、自社の社員に割り振って報酬をいっぱい得よう」みたいなゲーム。他プレイヤーとの相互作用ポイントは外注システムのみ。
社員は酷使していくと経験値が溜まっていって、タスク処理速度が上がっていく。
最初のうちはとりあえずinfoを叩きながら、全員でお国から受注した1つのタスクをこなす、というところを自動化した。
一旦落ち着いた
— リッキー (@rickytheta) 2015, 12月 12
これが自動化安定した時のツイートのはず。
— リッキー (@rickytheta) 2015, 12月 12
プロフィール文を「🍣」に変更。その時プログラムを稼働させている人が少なく上位だったためちょっとだけ目立つ。
中盤
もうだめ・・・ #coderunner2015
— リッキー (@rickytheta) 2015, 12月 12
30分ごとに50%減衰というのを今更しった #coderunner2015
— リッキー (@rickytheta) 2015, 12月 12
お国からいくつか受注して、能力の特化した社員がいれば充てるようにして少しだけ効率を上げようとしたが、無駄に受注してリスクが発生してしまい順位が下がる。
ここで減衰のシステムを知ったので、減衰したタイミングで戦略を切り替えて逆転を考える。
ラスト1時間、減衰はあと1回のみ #coderunner2015
— リッキー (@rickytheta) 2015, 12月 12
ラスト1時間だと思ってたらあと30分じゃん、完全に間違えた #coderunner2015
— リッキー (@rickytheta) 2015, 12月 12
悲しい誤算。焦る。
終盤
ここで、リスクが発生しない外注システムを読み返す。
外注のinfoを叩いてタスクを見てみると、割と報酬の良いタスクがいっぱいあったので、これで行くことに。
閾値以上の報酬がもらえる外注タスクを一つ一つ見て、今使える弊社社員のうちそのタスクを処理する速度が速い順に並べて、社員の能力がそこそこ活かせるようにタスクがこなせる(速い順に使って行って、最低の速度が3以上みたいな判定基準)なら受注する、みたいなアルゴリズムに変更。
この時点で30位前後だったはず。
やっとはまった
— リッキー (@rickytheta) 2015, 12月 12
うまくハマって少し安堵。
追いかけるぞ〜
— リッキー (@rickytheta) 2015, 12月 12
このツイートから20分間ターミナルとランキングに張り付いていた。
自分が12位の時に11位の人が「ここから下は賞金なし」ってコメントに変更していて非常に辛さがあった。
終了
やったあああ!! #coderunner2015
— リッキー (@rickytheta) 2015, 12月 12
滑り込み10位でした。歓喜。
表彰
ごめんなさい #coderunner2015
— リッキー (@rickytheta) 2015, 12月 12
"rickytheta"のIDが読みづらい事案が発生。「リッキー」でお願いします・・・
その後
"#coderunner2015"ではその後考察が多く流れていたが、「社員ガチャ」「社員厳選」など、思いつかなかった(というよりそのAPIを無視していた)戦略があって奥が深いと思った。
社員はずっと初期メンバーのホワイトな会社です #coderunner2015
— リッキー (@rickytheta) 2015, 12月 12
超ホワイト。
あと、今回は外注を受ける側にひたすら回っていたが、外注を出す戦略でももしかしたらかなり儲かるのかもしれない。もうちょい早く考察するべきだった。
感想
すごく楽しかった。
他の普通の[要出典]競プロと比べるとかなり違う頭の使い方をした。
かなり勝手が違うし、APIも仕様も多くてかなり難しいと思ったけど、3時間でどのように使いこなせるか、というのを競うは結構お仕事のプログラミングに近い気がした。
懇親会ではいろんな企業がインターンの募集やってたしそういうのにも手を付けたい。
なお、懇親会で🍣は出なかった。