一記一遊ブログ

大学生活の中で起こった日々の出来事を日記形式で書き溜めていくブログ。現在1回生。

スポーツチャンバラ4 〜二刀流での激戦〜

今日はスポーツチャンバラサークルの新歓に参加した。5月に入り、多くのサークルが新歓を終える中、このサークルは長めに期間をとるようだ。

時期的なものもあるのか、今日の参加者はこれまでの新歓に参加したことがあるリピーター勢が多く、ここまでほとんどの日程に参加してきた僕からは見覚えのある顔ばかりだった。なんだかアベンジャーズの映画を見た時みたいな感動がある。

リピーターが多かったこともあり、今日は小太刀以外の武器種を多く扱っていた。長剣1本を両手で握る両手長剣と、盾をもつ盾小太刀、そして小太刀と長剣の二刀流で回り稽古(相手を入れ替えてたくさん対戦する稽古)から始まった。どの武器もあまり慣れていない分新鮮で面白い。両手長剣に関しては剣道に近く、慣れていてもいいのだが、守るべきところや、相手の動きが違うため、どうもやりにくい。剣が柔らかいのも結構大きな違いで、剣道では剣先で相手の剣の根元をズラすことで、最小限の動きで相手の攻撃を防ぐという技術があったのだが、スポチャンではそれをしても剣先がしなってしまい、防御としての効果はないのだ。反射的にこの動きが出るあたり、ある程度剣道人間になっていたんだなあ。

その後は団体戦となった。回り稽古で使った3種に加えてシンプルな小太刀と片手持ちでもよい長剣が追加され、5種の武器をそれぞれ分配し、勝ち抜き形式で戦った。順番の指定はなく、勝ち抜き形式なので必然的に異武器間での戦いとなる。これはなかなか面白いぞ。まずは小太刀を選んだ。5種の中では最も武器パワーの低い武器だが、逆にこれで勝ったらアツいだろうという目論見。こちらのチームの先鋒は二刀流のMくん。体験生の一人で、がっしりとした体つき、そして背も高い。二刀流は武器パワーが5種の中でも最大級に高いので、できれば複数人を倒してほしいところ。

と、思っていたら1人、2人と着実に敵を倒していき、気づけば5人抜きを達成して相手チームを粉砕していた。強すぎる…!笑 リーチと高さを活かして敵を牽制しながら、仕留めるのは長剣での足首薙ぎ払い。相手の攻撃を俊敏な動きでかわすこともできるため、攻められているように見えても最終的には勝ってしまうのだ。

チームメンバーを入れ替えて第2戦となった。今度はMくんは相手チームとなった。第1戦では全く出番がなかった僕だが、今度は二刀流で戦うことにした。Mくんの姿に触発されたというのもあるが、やはり二刀は男のロマンなのだ。この憧れは誰にも否定できないだろう。

僕は次鋒となった。こちらのチームの先鋒だった長剣持ちの子がやられて順番が回ってくる。相手は盾長剣。リーチは互角である。僕は小太刀を左手に、長剣を右手に持ち、左の小太刀で防御しながら、顔の横で構えた長剣で振り下ろしを狙うカウンター戦法をとった。これはここ数日でイメージしていた戦い方だ。リーチの探り合いが始まった。一応深くは踏み込まず、すぐにバックステップでリーチ外へ逃げれる位置をキープする。こちらも隙を探るが、相手が盾を持っている以上、長剣を防がれて後隙を狩られるリスクがあり、無理はできない。ここはフェイントで盾を無効化するしかないと判断した僕は高めに構えた長剣を振り下ろすモーションを見せ、相手がガード姿勢に入った瞬間に相手の足首を長剣で薙ぎ払った。まずは1勝。奇しくもMくんと同じ形になったな。

次の両手長剣は相手が振りかかったところを左手の小太刀でガードしながらそのまま体を内にひねって長剣の横振りを当てて倒した。さらに小太刀はリーチを活かして危なげなく勝利。ここまで3人抜き。いい感じかもしれない。

次は片手長剣が相手となった。こちら側が有利だが、シンプルな長剣同士の殴り合いになれば小太刀はあまり関係がなくなってしまうので、いかに小太刀でガードし後隙を狙えるかがポイントとなる。ところがこれが難しい。後隙を狙うには体を引きながらのガードでは次の攻撃が間に合わないので、相手の攻撃に対し、向かっていくような動きをしながらガードをしなければいけない。これは失敗したら死は免れないハイリスクムーブなのだ。なかなか踏み込みきれず牽制し合う時間が続く。

ここで残り15秒との声がかかった。実は各試合には1分の制限時間が存在しており、それが過ぎると両者敗退となるのだ。勝ち抜き戦なのでたとえば小太刀が防御に徹して相手の二刀流などと時間切れになれば、自分たちの犠牲は少なく相手の二刀流を消せるというチーム戦術要素があったのである。今僕は二刀流で相手が長剣である以上、ここで両者敗退となれば若干こちらのチームの損失となる。勝ちにいかねば。一旦試合が途切れて審判の号令と共に再開となった。剣道での学びとして、こういう中断からの再開の瞬間が一番攻撃が通りやすいというものがある。どうしてもいきなりスイッチは入らなりものなのだ。始め! の声とともに突進を仕掛ける。小太刀を前に突き出して申し訳程度に身を守り、軽くジャンプして足元への攻撃をかわせるようにしながら相手の面へ振り下ろす。決まった! ジャンピングスラッシュ! と思ったら審判からは相手が足へと同時に攻撃していたため相打ちとなっていたという。正直必死すぎてどうなったかの感覚はなかったが、残り時間が2秒のところから再開となった。もう攻めるしかない。またも開始直後に距離をつめ、もはや鉄板となってきた、面打ちフェイントからの足首打ち。なんとかギリギリで勝利となった。ふーう。

ついに相手の大将、Mくんが出てきた。今回も二刀流である。だいぶ二刀の扱いには慣れてきたが、相手も2本持っているのは初なのでそのあたりは探りながらだな。基本の戦い方は変えず、カウンターを中心にしようと思う。相手が足首を狙ってくることは分かっているので小太刀をひざ前あたりに下ろして構える。実際に足首を狙った打ちが飛んできたのでガードし後隙を狙う。しかし相手のリーチが長い分、かわされてしまう。これは今後ろ足にしている右足を前に踏み出しながら振ってリーチを稼がないといけないかもしれない。なかなかダイナミックな動きになるな。相手は前足を左右入れ替えながら形を変えて構えてくる。捉えどころがない。再び足首への攻撃が来た。ガードの直後に右足を踏み出しながら長剣を振り下ろす。踏み込みが甘かったのか剣先が相手の面をかすめて空振りとなる。ちょっとビビっているのかもしれない。自分から攻撃するのも考えだしていた時、相手の足首への攻撃が、これまでよりも低い軌道でやってきた。小太刀のガードの下を抜けた相手の剣は見事に僕の足にヒットした。くそー。流石に強いな。

その後は中堅で出ていった僕のチームの盾長剣の子が上手くカウンターを決め、Mくんを倒し、個人での連勝を6で止めて僕のチームの勝利となった。めちゃくちゃ面白かったな。濃い試合ばかりで、だいぶ頭も使った。やっぱり二刀流が楽しい。

自分にあった構えや戦法を見つけ、編み出すことができるという部分も剣道にはない部分で、奥が深くてやりがいとロマン溢れるスポチャンならではの要素なのだ。カウンターをもっと極めたいな。まだまだ精進は続く。

数理工学 〜カオスと脳〜

今日はゴールデンウィークの一員でありながら、普通に授業がある日だった。ミスト状の雨が降っていた(というか舞っていた)ので、自転車は諦めてバスを使うことにする。朝エレベーターに乗り合わせた同じマンションの人から「カッコいい髪型してるね!」と褒められたのは、平静を装っていたがかなり嬉しかった。今までの僕に足りなかったピースは堅めの整髪料だったのだ。

初めは「数理工学概論」の授業を受けた。この授業は、情報学科のうち、プログラミングだけでなく数学や物理にも力を入れる数理工学コースから、何人かの教授がリレー講義をしに来るというものだ。情報学科は2回生から2つのコースに分かれるのだが、その選択をするための味見用授業というわけだ。

ここまでの内容は、人間の脳と現在の人工知能を比較することで、人工知能をもっと発達させる方法を考えていくというものだった。具体的には、脳は、ニューロンが相互作用することで働いており、入力から出力への一方通行ではなく、逆向きに作用したり、内容を飛躍させたりしているのがポイントみたいだ。そういう複雑なはたらきをダイナミズムというらしい。それをいかに再現できるかが人工知能の発達において重要なのだ。

今日はさらに、そのダイナミズムの一例として、同期現象が紹介された。振動が伝わりやすくした板の上に何台かメトロノームを置いて、別々のタイミングでスタートさせると、だんだんとその振れ方が揃ってきて、最後には完全に同じタイミングで振れるようになるというものだ。これは結構感動したな。正確にリズムを刻むはずのメトロノームが並べて置いているだけで互いにタイミングを合わせにいくというこの不思議。板を通して振動が微妙に伝わり、複雑な相互作用のもと、同じタイミングとなるような方向に力が働くらしい。人間の歩くタイミングとかも揃うことがあるようで、この現象の普遍性がうかがえる。

その後、それを数理的なモデルとして、コンピューターシミュレーションすることになった。やはりこの数理モデル化こそが数理工学の柱なのだろう。相互作用の強さを変えられるようになっていて、モデルの性質を調べることができる。

実行結果 上と下では相互作用をわずかしか変えていない

上の方では1本1本の線が最終的に一つの線へとまとまっているが、下の方では線が無秩序に入り乱れている。下の方がいわゆるカオスという状態だ。

ここから分かるのが、この、「相互作用の強さをわずかに変えただけで秩序、無秩序を切り替えられる」という仕組みが脳でも使われているということだ。脳内が完全な秩序なら入力に対して決まった出力しかできない一昔前のロボットのような人になってしまうし、脳内が完全なカオスなら知的なはたらきなど無理だろう。この間を縫うような部分がこの高度な思考を可能にしているのだという。面白い。

数理工学コースも面白そうだなと思ったが、今日ついに外部ディスプレイがお父様から授けられてそれでunityを触っていたのがめちゃくちゃ楽しかったので、まだ数学と物理を選ぶ気持ちにはならなかったな。

unityでゲーム制作

今日は1日家にいてunityでゲーム制作をしていた。unity自体は高校の時にインストールして、少しいじってみるぐらいはしていたのだが、ゲームを作るなどという段階にまでは至っていなかった。久しぶりにunity Hubを開いてみる。なんだか懐かしい。ここでふと、バージョンアップとかはしなくて良いのかなと気になり始めた。すかさずネット検索。どうやら今入ってるのはかなり昔のやつだったみたいだ。種類なども色々と調べながら、なんとかそれっぽいのを見つけ出し、ダウンロード。開いてみる。と、ファイルの検証が始まったのだが、途中で止まってしまい、「ファイルの安全性をAppleでは確認できませんでした。」との文字が。どうやら開けないらしい。バージョンが新すぎたのかと思い、その一つ前のバージョンをダウンロードしてみたが、それも同じ結果に。

再びネットで調べてみると、どうやらアップルのOSが新しくなった時に、ファイルの作成者が確認できないものは開けない仕様になったらしく、unityの配信元の信頼設定もまだなされていないのでバージョンに関わらず弾かれてしまうそうだ。弾かれても設定のセキュリティのところから続行できるようなので、3度目の正直、ようやく開くことができた。

さあさあこれでできるようになったぞと思い、unity本体を起動してみたら、アップデートが必要との通知が出てきた。あれ? Download new versionのボタンを押したらさっきまで開いていたサイトが出てきた。確かにダウンロードしたはずなんだけどなあ。

unity内にバージョン管理のところがあったので調べてみると、どうやらインストールは手動でやらないといけないらしい。大変だなこりゃ。たくさんあるモジュールの中から必要なものを選ぶ必要があるというのも知らなかった。MacWindowsとwebなんたらに対応したものを選び、あと日本語化のやつもあったので追加してインストール。

やっと設定が終わった。ようやくだ。情報系の分野ではこの「環境構築」も大変なステップなんだなと実感する。

まずは2Dのよくあるシューティングゲームを作ってみようと思う。何事もトライアンドエラーだ。メインキャラの画像が必要とのことだったので、銃を持った人の画像をいらすとやで探した。意外と真横を向いたやつがないな。最終的に車椅子に乗って銃を構えたパラリンピックの射撃のイラストを選んだ。これなら移動時に足とか動かさなくても不自然じゃない。我ながら良いチョイスだ。

床も用意し、当たり判定をつけて実行してみる。

実行画面

ゆっくりとキャラが床を突き抜け奈落へ落ちていった。設定が甘かったようだ。

その後はキャラがジャンプと横移動するスクリプトをネットと家にあった本を見ながら作成した。動くには動いたのだが、壁に突っ込んでいくとキャラが激しく振動してしまう。非常にカッコ悪いしなんとかしたい。解決策が思いつかないし、ネット検索の結果も芳しくないのでKMCのslackで質問を投げてみることにした。

初質問だ。ドキドキの瞬間。すぐにいくつかの返信が。どうやらスクリプトで位置を変更させるという書き方をしていたのが良くなかったようだ。スクリプトで壁にめり込む向きに座標を変えられ、その後物理演算で壁に跳ね返されるというのを高速で繰り返した結果のガクつきだった。スクリプトでのキャラの動かし方を、「キャラに力を加える」という書き方にすると見事におさまった。KMCの先輩方がありがたすぎる。

その後も試行錯誤は続く。重力の強さや空気抵抗の大きさをいじって思うような挙動を実現させようとするもなかなかしっくりこない。あと何だかキャラが床に引っかかって動かなくなる時がある。

再びネット検索。床を正方形のブロックをピッタリ並ばせる方法で作っていたのだが、キャラの当たり判定の角がそのブロック一つ一つの角に引っかかるのがどうやら原因のようだ。そんなことあるのか。

今日はここまでで終了となった。結構時間がかかるな。慣れていないというのもあるが、一つ一つの動作がやってみるまでどうなるか分からず、やってみても大体どこかおかしくなるというのは大変だ。だからこそキャラが思った動きをした時は一種の感動がある。ゲーム制作楽しいではないか!

散髪

今日は午前中に散髪に行った。前回行ったのが、高校の卒業式前の2月末とかだからかれこれ2ヶ月ぶりとかか。前回は散髪屋の人と入試が終わったという話だけしていて、その後あった3月初めの合格発表のことは言っていないので向こうは当然結果を知らないわけだ。変に気を使わせても悪いので、最初に「大学に合格しまして…」とは言っておいた。その後は通学方法とかの話になったが、どこの大学かなどと踏み込んだことは聞いてこない。それなりに「鴨川沿いを北に———」などと推測できる内容を言ってみたりしたのだがあまりピンと来ていないみたいだ。お互いが気を使いあう時間。

最後の仕上げのところになって、僕の担当とは別の、その散髪屋の主人のようなおじさんがのそりと現れ、「どこの大学に行ってはりますのん?」と唐突なダイレクトシュート。「京都大学の方に…。」と僕。「なんやそうでしたかー!」「長いことうちに来てはらへんかったからどないしはったんやろって心配してたんですわー!」どうやら一番結果を知りたかったのはこのおじさんだったようだ。気遣いの時間が終わるとともに仕上げも終了した。今までとは髪型を変えてみようと思い、中学時代の校則で唯一禁止されていた髪型であったことが原因で抵抗を感じていた「ツーブロック」にしてみた。今考えるとなぜ禁止だったのかよく分からん。というか中学のツーブロックの定義が「髪の毛が重力に逆らっていること」だったのが謎すぎる。これ絶対ツーブロックの定義じゃないだろ。

仕上がりとしてはかなり、というか非常に良く、なんとかこの髪を明日以降も再現したいがここまでの数年間で僕に技術力がないことは判明しているので半分は諦めている。頭を一旦胴体から外して手元で髪を整えられる世界だったらきっとうまくできるのになあ。

店を出る時に、「今日はウチで祝い酒を飲みますわ!」と肩を叩いてくれた。全くもって調子のいいおじさんである。僕は嫌いじゃないな。

KMC情報学科縦コン

今日はKMC主催の情報学科縦コンに参加した。要するに、KMC内の情報学科の先輩方が同学科の新入生にいろんな有益な情報を提供してくれるという会だ。大学から少し離れた貸し会議室で行われた。

まずは自己紹介から。参加した新1、2回生は5人で先輩方は6人だった。先輩方はもちろん新入生も何かと特徴のある人たちばかりでみんな優秀そうだ。

その後は先輩から各授業ごとのアドバイスがあった。僕が今苦しめられている微分積分学はやはりとても難しいらしく、授業の内容とかがある程度理解できていたらテストは乗り切れるので適度に諦めるのが良いようだ。それを聞いて安心していたら授業の内容すら全く分からなくなりそうなので、少し気を引き締めねば。

3回生になると実験が忙しくなってしまうので、2回生のうちに一部を先取りしておくというテクニックもあるらしい。こういう情報は先輩からじゃないと仕入れられないのでありがたい。

一通り授業の話が終わると、アルバイトやインターンの話になった。情報系のバイトはあまりネット上で求人をしていないらしく、コネで見つけるのが大半だそうだ。ネットの仕事でもネットで求人はしないというのはつくづく不思議な業界だなと思う。その点KMCはOBなどとの関わりがあり、そういったつながりは豊富みたいで心強い。大学での学びとバイトでの経験が相乗効果を生むというのはなかなか他の分野ではない強みだしな。お金ももらえるし。いきなり始める勇気はないので秋ぐらいからかなあとイメージしている。

おすすめのデバイスの話もあった。ノートPCに加えて、外部のディスプレイがあった方がいいらしい。どうしてもノートPCでは頭がうつむき気味になり首に負担がかかるのでそれを改善するのと、複数アプリを同時使用するのに便利なようだ。なんだか欲しくなってきた。父親が部屋の片付けをしたら外部ディスプレイを買ってあげるよと言っていたので、その気が変わらないうちに片付けをするとするか…。

今部屋は高2の弟と共有しているのだが、弟が特に散らかし魔なので部屋にはあらゆるものが散乱して汚部屋となってしまっている。まあ僕も高校時代の教科書類をまだ処分しておらず、散らかしている側の人間であるのは否めないのだが。しかし僕はやればできる男のはずだから、片付け始めたらなんとかはなるだろう。

明日明後日ぐらいまでには片付けを終えてディスプレイを授けてもらった報告ができるはずだ。多分。

ルネパフェ2 ベルギーとカッサータ、あとKMC

昨日、今日は大学の食堂の一つであるカフェテリア・ルネで開催されていた、「世界のぱふぇすてばる」に行ってきた。期間限定のパフェが提供されており、パフェを定期的に食べていきたいと思っている僕にとっては外せないイベントだ。「世界の」を名乗っているだけあり、パフェはそれぞれ国をイメージした作りとなっている。僕が食べたのはベルギー風の「チョコレートたっぷりパフェ」と「カッサータ風パフェ」。

チョコたっぷり(左)とカッサータ風(右)

僕がパフェを食べに行くのは、時間割の都合上、木曜か金曜の4限、つまり15時〜16時ぐらいのタイミングになる。その時間帯は食事をしに食堂に来る人は非常に少なく、パフェを食べに来る人もパラパラいる程度なのだが、このフェスティバルの期間はパフェに50mほどの列ができていてびっくりしたな。パフェの提供速度が食事系メニューに比べて遅いというのもあるだろうが、並び始めてから受け取るまでに40分もかかった。担当のおばちゃんはいつもより1人増えて2人体制だったが、やはり工程が多い分大変そうで、チョコの方は上に乗ってるチョコアイスが提供された時点でかなり溶けていて、席に運んだらチョコの小さな滝を形成することになってしまった。味は美味かったのでよしとする。レギュラーメニュー内のパフェに意外とチョコ系がないので新鮮な感じ。

カッサータ風の方は、チーズとフルーツで作られるシチリア地方の伝統菓子カッサータをイメージしているらしく、いつもより多種類のフルーツが使われていたのが印象的だった。黄桃とかも使うんだな。ただ、チーズが比較的しっかりとした硬さだったため、うまく混ぜながら食べることができず、最後に固まってしまったのは悔やまれる。

他には台湾をイメージした「タピオカミルクティーパフェ」もあったのだが、途中でこのパフェだけに使われるジョッキ型の容器が足りなくなってしまい、今食べている人の返却待ちとなっていたため、諦めざるを得なかった。残念。5限に授業がある身としていてはあまり悠長には待っていられないので。

 

夜は今日もKMCの新歓に参加した。今日はnext.jsを用いてtwitterのようなメッセージシステムを作ろうという会だった。が、活動の場となるシステム(KMC部員の方々が作成した)がうまく動かないという緊急事態に。対処する時間の間、他の部員の方々がKMCの公式webサイトの説明などをしてくれた。もちろん部員が作ったものなのだそうだが、2年前ぐらいにデザインを新しくしたいという話になり、そこからデザインの話だけ盛り上がっていき、それを実現するプログラミングの部分がなかなか進んでいかなかったらしい。最終的には飲み会の後に、勢いと有識者の巻き込みで完成させたというのは少し衝撃だったな。今日は計画されていた活動はできなかったが、公式webサイトの歴史的なものが聞けてむしろ面白かった。公式webの管理をお手伝いするのも面白そうだなーと思い始めている。

Money Forwardの新歓イベント

今日はKMCの新歓に参加した。今日はMoney Forwardという会社のエンジニアの方々が主催してくださるイベントだった。Money Forwardとは家計簿や帳簿アプリを作っているIT企業で、KMCの先輩の1人にこの会社でバイトをしている方がおり、そのつながりで今日の会が企画されたのだそうだ。

会社の軽い紹介などの後、今日はGo言語を使って開発体験をするということになった。まずはプログラムの超基本とも言える「Hello, World!」のプログラムをいじってみた。しっかりとプログラムを成立させ、変数を管理し、正常に出力させる。プログラムの土台となる部分が詰まっているわけだ。時間の都合上、出来上がっているプログラムを動かしたり改造したりといった活動になった。ふむふむGo言語はこういう書き方なのか。

プログラムを実行するのはターミナルという部分にコマンドを入力して行うのだが、これが慣れなくて難しい。とてもハッカーっぽくてカッコ良い部分ではあるが、その分使い方が分かりづらいのだ。見本をコピペしてなんとか動かす。

Hello World!が一段落ついたらhttpの仕組みをサーバーとクライアントの関係から学ぶパートとなった。httpとはスマホやパソコンといった端末上のアプリとサーバーとの間でデータをやり取りする時の規則のようなものだ。まずはサーバーからサイトの情報を引き出すプログラム。その情報が箱のようなものに包まれて送られてくるので、それを開ける関数を用意するのが面白い。開けた後の箱を処分する関数まで用意するのはもはや本物の宅配便のようである。その後はサーバー側のプログラムも見てみることとなったのだが、 PCをサーバーとして目覚めさせるコードがあり、サーバーが動いている間というのはそのコードが実行しっぱなしになるというのは今までのイメージと違ったな。サーバーにはサーバー専用のマシンが使われてると思ってた。

知らないことだらけだが、だからこそ一つ一つの発見が面白い。いろんなところに首を突っ込んで行こうと思う。