「理解の理解」を楽しむ時間

 手紙には時候の挨拶を書くものらしいが、万年季節が「コロナ」な昨今では、それらしい時候の挨拶も難しくなったように思う。夕食時の会話もコロナ関連以外の話をすることが難しくなってきた。

ここから先は理解ができるという感覚までやって飽きる

 私は飽き性である。精進など全くできる人間ではない。努力は嫌いだし、努力が向いているわけでもない。しかし、知的好奇心は人より旺盛である。その知的好奇心は知らないことを知ることから、理解できないものを理解できる段階までもっていくことに楽しみを覚えるようになった。

 この説明ではわかりにくいかもしれない。物事を理解するには絡まったひもを解く段階と、解いたひもを編む段階がある。未知の学問や概念に遭遇したとき、理解できないながらもいろいろな試行錯誤をする。そうした中で少しずつ共通点をみつけ、整理し、アナロジーに落とし込むことで、ひもがほどけていく。この時はまだその物事を理解したとは言えない。しかし、その先は飛躍的に物事を理解していく。私はいろんなものに挑戦し、その段階に到達したら飽きてやめてしまう。コレが結果的に何者にもなれない理由ではあるが、それはそれで充実感がある。もちろん私は何も理解していない。しかし、必要になれば十分なレベルにすぐに持っていける自負がある。ひもはすでに解いてあるのだから。

工学における表現力と芸術における表現力

 とりあえずまともな文章を書けるようになりたいのと、何かアウトプットを出すようにしないと本当に虚無を過ごすので少し頑張ることにした。今回は常体で書く。

工学における表現力

 工学における表現力、主にマークアップ言語で言えばできることの広さを指す。markdownテーブル記法ができなかったり表現力が乏しいが、それに比べるとhtmlは表現力が高い。pdfはもっと高い。しかし、表現力とは裏腹に可読性であったり使い勝手が損なわれるため、トレードオフの関係であるといえる。

芸術における表現力

 その一方で芸術における表現力はあればあるほど良い。詩の文化が昔に比べて衰退したのは詩が衰えたのではなく歌にした方が、多くの場合表現力が豊かだからである。また、明治大正期にはリアリティが求められていた小説が、より虚構性物語性を評価するようになったのは、リアリティに関する表現力が映像作品に勝てなくなったからである。もちろん工学と同様に芸術においても製作コストとのトレードオフはある。単行本一冊の小説は一人で書けるかもしれないが、それと同等の内容の映画作品には多くの専門家が携わる。

 しかし、芸術はスケールする。スケールによって利益を生み出す工学を嘲笑うかのように。

 たとえ一つの作品に対していくらコストがかかろうが、その分多くのユーザーに消費させればよい。そうなれば、ユーザーの目からすると表現力の豊かな媒体(映画、ドラマ、ゲーム)が好まれるのは当然である。そして稼ぐ媒体としても優秀なのは表現力の豊かなものである。

 ただ、これは一つの問題もはらむ。クリエイティビティは試行錯誤によって高められるが、映画やドラマやゲームはそれが難しくなっている。ノウハウの共有や便利なツールが登場することで製作コストを下げる動きがあるが、それ以上に表現技術の進歩が個人レベルので試行錯誤を不可能にしている。果たして映画製作において雨を降らすだけの人間が、その過程をこなすことで芸術としての映画を理解することができるのであろうか。大型ゲームのモンスターのモーションだけ作る人間が、ゲームという芸術を理解できるようになるのだろうか。表現力の豊かさが、芸術をコモディティでないものにしているようにも見える。

ナラトロジーに入門したが、これは修羅の道だ

 まず、ゲーム業界に就職(内定)することになったので、その報告をここにします。

「おめでとうございます!!!!」

ありがとうございます!内定先企業については一応秘匿とさせていただきます(インターンの記事書いたのに?)

 ちなみにインターン先企業ですが、二回受けて二回落ちたので行きません(行けません)。というより非ゲーム系の枠で受けたところは基本うまくいきませんでした。

本題

 さて、ゲーム業界に行くにあたってナラトロジーを勉強することにいたしました。書籍としては、

www.amazon.co.jp

こちらの本です。大学一年生の時に買って少し読んだまま放置していました。これをいま読み直しています。

なんでゲームにナラトロジー?というかナラトロジーって何?

 ナラトロジー物語論)は、物語を分析する方法論です。いわゆる大学入試の国語に出てくる「何が書かれている」から一歩踏み込み、「どのように描かれているか」に踏み込んでテクストを分析します。私としては、小説が読めるようになるのが本旨ではなく、音楽映画アニメゲームあらゆる総合芸術を分析的に鑑賞できるようにする前段階として情報が一次元的なナラトロジーを選択している。これだけ聞くとなにかすごいことをやっているように思えますが、これは「センスがない」人間がセンスのある人間と戦う合理的なやり方だと思っています。あと、いろんなコンテンツに触れるにあたって、良いなと思っていてもそれを言語化できないことにもどかしさを感じているのも、芸術学をまじめにやりたいなと思ったきっかけです。もちろん芸術がすべて言語化できるものではないことは十分承知していますが、それでも「エモい」しか言えない状況から多少マシにはしたいですよね。ことにゲームにおいても「なんか楽しい」ではなく「メタが回って楽しい」であったり「死んだときにプレイヤーに納得感を持たせることで、死にゲーであってもやりこませたくさせる」といった風に言語化できるようになれば、ゲームというコンテンツを作るにあたって継続的に面白いものが提供できると思っています。ザックリ言えばゲーム学を学びたいのです。

なぜナラトロジーが修羅なのか

 出てくる概念がかなりとっつきにくいです。それぞれの概念が独立しているわけでなく包含していたりするので理解が遅くなってしまいました。そのうえ「どう考えても作者の気まぐれでしょ」なことにもかなり突っ込んでいるので、ついていくのが大変です。ただ、いままで雰囲気で文豪だと思っていた作家が、どのようにしてほかの作家とは異質であったかを深く理解できるようになるのは素晴らしいと思いました。これは普通に小説を読んでいてもわからないと思います。この本は一回私も挫折したのでおススメはできませんが、こういう学問もあるんだなぁと思っていただけると良いと思います。

理系が挑んだビジネスコンペ不参加記

Playground Advent Calendar 2019 12日目です。プログラミングとはあまり関係ないので、ブログに掲載。ついでにブログアピをしていきます。


以下のビジネスコンペに参加してきました(実験と被ったため、プレゼン自体は参加できてません)

https://daimler-trucksasia.jp/index.php/japanese/career/dta-one/fuso-case-challengedaimler-trucksasia.jp

三菱ふそうというトラックが有名な会社のビジネスコンペです。「物流にはこんな感じの議題があるから、それを解決する提案をしてね」というものになります。

発表した内容

 電気自動車、特にトラックだと充電時間がネックだから既に充電済みのバッテリーと交換できるといいよね。サブスクだと便利だよねという内容です。これからガソリン車が廃れて、次世代の車が普及していくとき、電気自動車にせよ燃料電池自動車にせよ、新しい燃料の供給システムを作っていかないといけないから、このアイデアを基にシェアを取りに行こうぜ!みたいな趣旨です。アイデアをまとめてくうえで思ったことを話します。

議事録は気持ち悪い位取れ

 「なんでこうしたんだっけ?」みたいになって立ち戻りになることが結構ありました。ボイスメモは意外と役に立つ。

技術への鋭さは理系の強み(というか文系も頑張ってくれ)

 そもそも技術的なものを引き下げてプレゼンしたチームが僕のところくらいしかなかったっポイです。ほかのチームはIoTとかそういうワードでごにょごにょしてたらしい?(聞いてないからわからん)。我々の発表内容には致命的な欠点があって、例えば全固体電池が覇権を取ったら、交換するシステムは全部おじゃんになってしまいます。そういうことに気づいて修正できたのは普段からTwitterのTLを監視していた成果かもしれません。

聞いた話

 外国人しか来ていなかったらしい。英語ぺらぺらというか母国語やんみたいな感じで大変だったらしい。





ちなみに結果は2位でした。すくなくとも9チーム以上は参加チームがいたので健闘したのではないでしょうか。

自然言語処理における、口語の誤文の有用性について

 自然言語処理について特に詳しいわけではないが、会話上における誤文には面白いものがいくつかあり、これがコンピューターによる自然言語処理に活かせそうな気がする。

「所詮お前は勉強ができない」

所詮は本来の用法として現在から未来に向かって避けられない(悪い意味での)結末があることを示したり、あるいは何か先進的ななにかがあるようで本質的には大したことがないといった用法で使われるが、悪いニュアンスを示す副詞としてのみ使っている。誤まっていると言うほどではないが、文中では違和感がある言葉だと思う。こういったものをうまく噛ませられないかなぁとか思いつつ、そもそも会話中でないと現れないような誤文のデータを集めるのも大変だなぁとおもったり

サムザップのインターンに行ってきた(CA Tech JOB)

サムザップって知ってる?

 今回CA Tech Jobにて、サイバーエージェントのSGE部門のサムザップ株式会社で三週間お世話になりました。詳しくは下記リンクを

www.sumzap.co.jp

 

インターン採用まで

  • 夏だしなんかインターン探すか

  • 大学の日程的に人事とコネ(くしょん)があるサイバーエージェントくらいしか行けなさそうだなー

  • ゲーム作ってるし、ゲームのバックエンドとかにしようかな

  • サムザップさんを案内された(受け入れられるタイトルが少ないっぽい?)

 みたいな流れになります。作ってるゲームの話は過去記事にて

やったこと

 リリース前なので言えません!お酒の席で聞いてください


 タイトルは戦国炎舞です。7年目を迎えるロングタイトルです。ゆえにレガシーもあります


 まぁでも基本的にはよくある機能改修です。ちょっとデータの扱いがややこしいが、実装自体はある程度めどがすぐ立つみたいな分量です。

ホラ、キラキラ✨渋谷系エンジニアに見えてきただろう?

開発環境うんぬんについて

 言語はPHPです。ぺちぱーって言われてるやつですね。環境もAWSに載せてはいますが、おおむねLAMP環境を踏襲した感じになってます。PHPmyadminもあるし、var_dumpデバッグも健在です。

開発に関して思ったこと

 最近はもう静的型付けでしかプログラムが書けなくなってきたのですが、今回は本当に書けませんでした。Codeigniter系フレームワークをカスタムしてるような使い方をしており、PHPStorm君がまったく補完を利かせてくれません!おれがIDEだ!(周りに聞いたら大体頭に実装を叩き込んでいてびっくりしました。)


 ソースコードを読むよりも、ゲームの仕様を把握するほうが大変というか、ゲームの仕様をわかってないと読めないコードが多々あります。

 それが昔やってたイベントに合わせた実装であったり、補完の利かない動的型付けらしくどんな形で変数を渡してるのか見当もつかない(つくけど追いかけるのがとても大変)みたいなのが結構ありました。

 開発環境まわりのリファレンスはあるのですが、ゲームの仕様は特にリファレンスになってないので、ひたすらプレイしたり攻略サイトを眺めたりしてソースコード読みました。ここらへんはゲーム特有の開発スタイルかもしれません。

サイバーエージェント・サムザップについて

 前回のアーキテクチャチャレンジでもある程度話したような気がしますが、かなり人柄重視だなと思います。今どきの言葉で言えば「心理的安全性が高い」ってやつですね。

 渋谷系IT企業としては珍しくコーディング試験をせずに面接を重視するところであったりすることからわかるとおり、社内の空気感にはかなり気を使っている印象があります。ただ、この辺りは言葉で説明しても難しいのでぜひインターンに参加しましょう(丸投げ)


 有名な話ですが、子会社ごとに裁量があります。それゆえに会社ごとにいろいろルールが違ったりします。

 サイバーエージェントはかなり大きい上に、子会社がかなり独立して運営しているので部門や子会社ごとにかなりカラーが異なるらしいです。サムザップは、う~んわからん。普通?割とワイワイしてる雰囲気があります。戦国炎舞の合戦になるとスイッチが入るところは流石だなと思いました(朝会のタイミングもそれに合わせてずらされている)。自分で作ってるゲームに自信を持っていることは大切だと思います。

参加して得たこと

  • 鈍ってしまったコーディングの勧

 こまかくレビューをいただくことができ、忘れてたり見落としていた部分を見ていただけて非常に助かりました。けど動的型付けはもう書きたくない……

  • 高負荷なソフトウェアの運用ノウハウ

 これは是非自分でリリースするときにいい感じにまとめたい

  • チーム開発

 とくにPHPフレームワーク的にMVCのViewで結構ロジックが書けるので(そこが良いところでもありますが)、その分フロントエンドとのすり合わせは大切ですね。あとは、小さい機能なら多分一人でやったほうが楽です(結局フロント作んなきゃデバッグできないしね)  Unity側でバグが出たけど自分は確認できないみたいなのが結構辛かったです。APIとみなせるところはテストを書いたほうがよさそうです

オプション

 参加するとこんなの付いてきますよ~みたいなやつです

シャッフルランチ

 人事の方が様々なインターン生や社員を混ぜてランチを組んでくれます。就業場所以外のこともいろいろと知れるので非常に参考になりました。トレーナーの方もサムザップ内でいろいろとランチを組んでくださり、さまざまな業種の方とお話しできたのがとてもよかったです(昼食代も浮いてラッキー)


コンピューター貸し出し

 結構スペックのいいノーパソを貸してくれます。1秒も使いませんでした(サムザップの方で用意されてた……)



ジュース

 無料自販機やウォーターサーバーがあります。めちゃくちゃ水分補給をするタイプなので助かりました。(ほかに書くことあるだろ)


インターン同期生との懇親会

 インターン初日にあるらしいです。ちなみにその頃私は電気回路の試験を受けていました。


悪かったこと

 「よいところもわるいとこもぶっちゃけて書いてくれ!」とのことで、いくつか気になるところを



環境が古い

 これはサイバーエージェントというよりは、ゲーム部門あるあるなのかもしれません。ゲームは当たりはずれが大きすぎて安定して人を受け入れられるタイトルがあまりないみたいです。戦国炎舞では、AWSを使っているとはいっても、開発環境自体はかなりLAMP的です。クラウドサービスが発展して、「そもそもLAMPってなに?時代はGo!みたいな」みたいな学生エンジニアには少し物足りないかもしれません。


マイクロサービス化を少しずつ進めてるらしいので、そこら辺に期待したいですね(まぁ課金処理の基盤化とかは今のソシャゲ業界のトレンドっぽいので、そこら辺でGoとかいろいろ出てくる気がします。)



キャリアアップがかなりマネージメントより

 これはインターンとはあまり関係がなく、サイバーエージェントに対する印象です。もちろん技術力でキャリアアップする人もいますが、人数で言うとかなり少ないなぁと思いました。サイバーエージェントインターンに来る学生はやっぱり新しい技術をどん欲に追い求めるようなタイプが多く、そこにギャップがあるように感じました。僕の担当のトレーナーの方はいろんなところに会議に行ったりして忙しくしていて、技術のキャッチアップは趣味でやってるからどうにか追いつけているような印象があります。この辺りは会社も問題には思ってるらしいので改善されるとよいなと思います(ちなみに技術力の高い人自体は結構いるのであしからず)



 まぁあとQA業務ちゃんと見てみたかったですね。そこは会社の都合でなかなかできなかったみたいです。

その他ゲーム業界的な話

 最近ゲーム関係の会社の人と会話することが増えたのと、僕の周りにゲーム業界志望が多いのでそれ関係の話をしようかと。


ゲーム自体のトレンドの移り変わりが早いのに対し、ゲームの製作時間やコストは増えているのが現状です。サービス系が半年ほどでリリースにこぎつけるとしたら、ゲームだと3年ぐらい体感かかるといったお話を聞きました。実際どこぞのゲームは10年かかってたりしますしね。新卒で3年間ノーキャリアとなったら流石にリスクになるので、そこら辺の注意は必要だと思います。ゲーム作るのは楽しいのでそこらへんは心配ないと思います(自分の作ったゲームは神ゲーにしか見えなくなるので、世の中のクソゲーの大半はこの罠に陥ってるんでしょうね……)

まとめ

 やっぱり実務が一番伸びますね!どうせ暇してる皆さんは是非参加しましょう!

夏休みの予定

 すでに夏休みが始まっていますが

進行中のもの

  • どこかのIT系企業でのインターン(3週間)
  • 現在委託中の案件
  • TOEICの勉強

進行させなきゃいけないこと

  • オンラインゲーム開発
  • 螺旋本
  • PyMC3

どこかのIT企業でのインターン

 これはあとで記事にしてまとめますが、ザックリ言うとゲームのバックエンドをやってます。webviewを使っている関係で若干フロントエンドとも言えます。

委託中案件

 理科大つながりの案件です。これもいつか記事にしたい。やってることとしては機械学習周りのインフラです

TOEICの勉強

 単位が足りないでがんす!

オンラインゲーム開発

 連載してるやつですね。流石に9月中にはリリースしないとそのあとのスケジュール的に触れない気がします。

螺旋本

 とりあえず終わらせて、AtCoderへの参加を習慣化したいですね。大学生のうちに水色くらいになろうと思ったら、3年生のうちに緑になりたいなーとか思うわけです。

PyMC3

 機械学習のとっかかりに。本当はR&Stanを使うべきなんだろうなぁ

と言う感じです。ほかにもいろいろしたいことがあって死にそう