インベーダーゲームを開発しつつオブジェクト指向言語のお気持ちを知ろうとした話

この記事は、kstm Advent Calendar 14日目です。

qiita.com

始めに

 今回開発したインベーダーゲームは割と頑張ったのですがかなり大きなプロジェクトになってしまい、コードをどう載せるか考えた結果、一つの記事にまとめるのは大変だろう。発表スライドでお茶を濁そう。という結論に至りました。タイトルも無駄に長い上、よく分からないと部員に言われてしまったので、その辺の説明をしていこうと思っています。わりとポエムになりそうですがお付き合いくださいませ。

C#と戯れだす晩夏

 今年度から学部四年生となり、それと同時にとある研究室に配属されました。研究の内容に刺激受けっぱなしの日々なのですが、これとは別に、C#英語教本輪読会への参加がこの研究室所属の学部生に課せられています。担当が順々に回り、担当者は前に立って決められた範囲に関して翻訳、説明をし、必要ならば練習課題も解いていく、という一般的な輪読会の形式でつつがなく過ぎていくのですが、輪読会の締めくくりに、C#を用いてプログラム作品を製作、発表するという激重タスクが待っていました。

 このプログラム作品に求められる条件は「C#を用いたGUIアプリケーションなら何でもよい」という緩めな制約のみなので、実はUnityでパパっと終わらせることも可能です。僕も割とパパっと終わらせるタイプの人間になるつもりだったのですが、少しドジを踏みました。研究室の同輩たちが、「オブジェクト指向わからん云々」と唸っていたので、ちょっとばかし煽ってやろうと思ったのですが、割と食いつきがよく、むしろ率先してガチ勢としての道を歩くことになりました。アオリティヒエラルキー最底辺脱却ならず。同輩たちはやる気も意識もめちゃ高いので見習いたいところでもありますが、その高いモチベーションに引っ張られ、C#と戯れることとなったのは、夏休みも終わろうかというところでした。

課題に見出す裏テーマ

 一段落目からポエムを飛ばしているのですが、秋の暮れあたりから、「普通にやるんじゃ面白くないな」と思うようになりました。正直、C#オブジェクト指向プログラミングが可能な言語ですが、一人でカタカタする分には、手続き型言語に引っ張られたコードを少し入れてもなんとかなると思っています。まあ、しかし折角ガチ勢の集いに登録されたので、とことんガチろうという機運になります。ゆえになかなか大きめで自画自賛ながら見どころばかり、掲載しきれないー、というプロジェクトになるのですが、「妥協せずオブジェクト指向のお気持ちと向き合う」という裏テーマはそれなりに、自己流ながら達成できた気がします。

 また、このころから、なんか変なことがあったら、kstmの面々に聞けば何とかなるかとも思っていました。kstmとは恐ろしい場所で、もちろん尖りに尖りまくった人々の集いなのですが、ちゃんと基礎のある尖り方をしてる先輩方、同輩、後輩だらけです。少なくとも自分の数段先にいる人たちにいつでもアドバイスを受られるだろうという漠然とした後ろ盾は、モチベーションの維持につながりました。

とりあえず発表スライドを見て

 まとまりのない文章を垂れ流しかけているので、ここで発表スライドを掲載します。ただ、発表が終わり次第上げようと思っているので、本日14:30以降にお願いします。

無事発表が終わったので掲載します!

www.slideshare.net

つまり何が言いたいか

 なんというか、老害感MAXなお話をすると、kstmって何をしてもいいサークルなので、こういう教育的な車輪の再発明なお話でも許されるんじゃないかなぁという甘えでした。スライドを読んだ強い人たちがどう思い何を言うのか分かりませんが、きっといい話ができるんじゃないかなぁと思っています。

 

github.com

DDCC2016参加記

この記事は、kstm Advent Calendar 8日目です。

qiita.com

 

オンライン予選の日

 実は予選開催を知らず、所属サークルのメンバーと飲みに行こうとしてました。出発しようとしたとき、ふと開催を思い出した先輩に

「18卒メチャクチャ有利だけど出る?出るならオンサイト行ってね?」

と、発破を掛けられて出場、恐らくかなりギリギリの出場を決めました。

予選通過メールに気付いたのが本戦参加締め切り前日だったのは内緒のお話。

会場入り

 早起きチャレンジで予定一時間前起床という優秀な成績を収めました。新幹線自由席のフレキシブルさに感謝しつつ優雅に睡眠を貪り、目を覚ますと関東平野のビル群を駆け抜けていました。圧倒的お上りさんを演じながら乗り換えし、余裕を持って会場入りできました。受付でT-シャツを貰い、電源席確保ダービーにも成功しました。

 

f:id:selee:20161208105522j:plain

 

 

コンテスト決勝

 結果は1AC+1部分点と惨敗でした。

 戦略としては、A問AC→B問部分点→C問部分点→(時間があれば) B問C問の解けそうな方からACという流れで取り組みました。 C問の部分点が取れずに焦り、B問ACで挽回しようとしましたが、もやもやふんわりとした方針しか立たず時間切れと相成りました。今はもう野暮ですが、各個撃破スタイルで臨んだ方がより良い点数を獲得できたかもしれません。

 そういえば、お隣には中学生の参加者さんが居ました。だからどうした?言い訳か?って話ではありますが、主催者さんサイドから取材を受けてたり、他の参加者の方々、某ちょくだいさんと恐ろしく強者の会話をしてたりする様子に、

 

怖気付いて謎の保身に走る無様な私が観測されました。

 

お昼

 特別ビュッフェを頂いてきました。包み隠さず言うとぼっち飯です。もう色々と団体が出来ており、皆さん顔なじみなんですねと少しショックを受けます。しかしそれは当たり前で、皆さん、ほかのオンサイトや勉強会などで顔合わせが済んでいないわけがない。時間中実家から長電話が掛かってくるというKYKYアンドKYな事案が発生しましたが、ハートブレイクされた私に誰かをすがりたい気持ちがなかったかと言うと嘘になります。

 

厚切りジェイソンさんの講演

 すごい話が上手い(小並感)。正しくタレントを発揮してる御仁は違うなあと、織り込まれる持ちネタに笑いながら、これから何を目標にどう生きていこうみたいな話題には漠然とした確かな不安を抱かずにはいられませんでした。何故こんなにもこの話題を受け止めすぎているかを話すのは長くなりそうです。コンテスト惨敗、ハイレベルなコミュニティ、お察しください。

 

 DISCO説明+社内ツアー

 これハードの講義で受けた内容だ!と、少し気持ちが回復してきます。DISCOさんは、『kiru kezuru migaku』に特化した企業さんで、シリコンウェーハをカットする機械の実演では、切る位置は画像認識で調整しているというお話も聞けました。この実演で、B問の理想解を見ることができ、えも言われぬ気分になったことも合わせて記しておきます。

 

表彰式+懇親会

 結論、コミュ障。表彰式前に、何の気なしに「コンテストどうでした?」なんて話しかけてしまった参加者さんが5位の成績を取ってらっしゃって、「早く終わって!」といろんな(主に羞恥)感情などからか懇親会ではひたすらに回遊魚と化します。そういえば、軽い食事とビール、特製ケーキが振舞われました。

f:id:selee:20161208115132j:plain

 

帰り

 東京駅でお土産を買って、そそくさと山に帰りました。実は、ある人にお使い頼まれていたのですが、気力がありませんでした。その人がこの記事を読んでくれたなら、これを汲んでくれると信じています。

 

まとめ

 この記事が恐ろしく負に溢れてしまって申し訳ないのですが、このあっさりとした苦々しい絶望を、臥薪嘗胆の原動力に昇華できるか怪しいものの、忘れてしまわないために書き残します。

 なんだか訳のわからない自分語りで、今参加記の締めとします。