仮説

こういう命削るような開発、もうこれっきりにしてほしいです。私たちはゲームを作ってるんです、ゲーム。ゲームは楽しい気分で作んないとダメなんです。今回はなんとか突貫工事で実装までこぎつけましたけど、もうたぶん、次回以降は本当に無いだろうと思っています。これが、正真正銘の最後です。チーム内のムードも最悪です、みんな怖がってしまっている。次はいったい、何をやらされるんだろうって。


このゲームの物理エンジンを触ると、ロクなことが起きないんですよ。私は信じていないですよ。でももう誰もやりたがらないから、仕方なく今回は私自身が手を動かしました。シーズンイベントに合わせて浮かんでる星も変えたいみたいな上の人の気持ちも分かりますが、正直、こういうのってもし本当にやるならもっと早い段階、それこそゲームリリースする段階で仕込んでおくべき挙動なので。


元々がそういう風に出来てないんです、このゲームの物理エンジンは。だから今さらになって「あれやりたい」「これやりたい」と催促されても、付け焼刃で無理やり仕組みを実装することになって後から色々な箇所に不具合を出す元凶になるので、極力避けたいんです。そういうこともあって、誰も手を出したがらないという面もあります。まぁ、主たる理由はもっとオカルトめいた動機によるものですが。


2月に退職した浅野君、いたじゃないですか。彼、「火属性魔法の温度変化の部分リアルにやりたい~」って言われてその辺の機能実装してたでしょう。でも温度変化を物理エンジンでやろうとすれば膨大な計算が必要になるので、本来そんな軽い気持ちでアップデートで追加できるわけじゃないんです。神でも七日かかってるんですよ世界創造、文学部新卒の浅野君が一か月で出来るわけないじゃないですか。


あとから浅野君作った箇所を見たら、やっぱり温度計算にかなり苦しんでいたみたいで。結構な付け焼刃で機能を実装していました。ゲーム中にある全部のオブジェクトに「moeru_point」みたいなパラメータ持たせて、これが減り始めると0になるまで燃え続ける、みたいな訳のわからない処理を作っていたんです。今回バグフィックスも一緒にやりましたけど、これがあちこちで悪さしまくって、危険な状態だった。


浅野君は悪くないですよ。現実の物理法則通り「酸素が別の元素と結びついたときに熱が放出され~」みたいな処理を作ってたらどれだけ時間あっても終わらない、限られた時間で実装するのであれば、ぱっと見動いてれば良いだろうって場当たり的な仕組みで実装するでしょう。でも実際、現実世界はそんな仕組みで動いていないのだから、物理エンジン上でそんな燃焼処理を実装したらいつか必ず綻びが出てしまう。


moeru_pointが勝手に放出されて、あっちで炎上、こっちで炎上、ここ数か月は自然発火のラッシュでした。一時期は火属性カット率80パーセントの防具の需要が急激に高まって市場も崩壊していました。ボスモンスターを槍で突くと自然発火して5秒で死ぬみたいな動画を撮られて、SNSで擦られまくるし、本当に辛かった。まぁ浅野君の方がずっと辛かっただろうからあんまり私からは何も言いませんけどね。


3月にスタジオで倒れて運ばれたCG部隊の森君も、「光の屈折を正しく波として計算できるようにしたい~」とか言われたものだから、必死になって作ってたじゃないですか。あれだって一度世に出したゲームの物理エンジンに追加で載せられるような機能じゃないんですよ、本来。それを必死になって作って、ずっと能力を超えるタスクとプレッシャーに晒されていた。森君が調子を崩したのも当たり前なんです。


一緒ですよ一緒。本当に光の屈折の云々かんぬんを物理エンジンに載せようと思ったら、相対性理論とかそんなレベルのことまで気を遣わなきゃいけなくなるんです。アインシュタインですら一生かけて研究していた話を、数年前まで栃木でうどん作ってた森君にメインでやらせるのは、冷酷な言い方かもしれませんが、酷ですよ、それは。アインシュタインですら、労基署に逃げ込むような仕打ちです、それは。


これも結局コードを見てみたら、ゲーム内の全空間を「object_hikariyou」みたいな透明のオブジェクトで埋め尽くして、それが揺れる揺れないみたいな物理計算で光の伝達率を計算してたんです。一見何にもない空間にobject_hikariyouがぎっしり詰まってて、その動きを一つ一つ丁寧に計算してた。当然ですけど、こんな膨大な計算やらせてたらゲームの挙動はガックガクですよ、ガックガク。


当たり判定がないオブジェクトとして設定されてましたけど、おかげで物理エンジンの他の部分の計算に干渉しまくりで。風も音もobject_hikariyouに阻まれて正しく伝わらない上に、このobject_hikariyouがさっきのmoeru_pointまで持たされてたものだから、光が通過する度にエネルギーの上下を感知してあっちで炎上こっちで炎上、よくゲームとして成り立ってたなって感じです。笑い事でもありませんが。


救いがあったとすればバグの原因を見つけるのは難しくなかったってことですが、それも今となっては考えもので。この手の物理エンジンのバグ出しって、結構科学の歴史を参考にしたりするんです。浅野君にしろ森君にしろ、「熱や光の伝達を処理として再現しようと思ったら、おそらく世界の仕組みはこうなってるんじゃないか?」って考えたけど、結局それが根本的に間違ってたことに起因する不具合でしょう?


現実世界の科学者達も、歴史を紐解いてみれば間違った仮説を立ててたケースが多くて、浅野君や森君とまったく同じ勘違いの仮説を提唱してた人もいるんですよ。例えば浅野君のmoeru_pointは1703年にG.E. Stahlが提唱した「フロギストン」という仮説に結構近い間違いで。物質の燃焼が酸素によって引き起こされると知られる前は、このフロギストンが物質を燃やすと思われていたんです。


森君のobject_hikariyouはロバート・フックが提唱していた「エーテル」という仮説に比較的よく似た勘違い。彼は「もしも光が波動なら、波を生み出す物質が空間のすべてを満たしているはずだ」と言って、世界中全空間にエーテルという物質が充満していると考えていた。結局フロギストンもエーテルも否定された仮説ですが、ゲーム内の不具合を逆算していくと似たような仮説を比較的容易に見つけられる。


否定された仮説とはすなわち、実在を検討してみたら否定されるような結果が得られた仮説でしょう。これは私からすると「現実にもしもそんな仕組みが実装されたらこんなバグが発生するだろう」という話に近くて、実際浅野君や森君が作った不具合も、誤った仮説が反証されてきた歴史に似通っているのです。フロギストンなんて実際あったらこうなる、エーテルなんて実際あったらこうなる、と。


技術系のコミュニティで過去に同じ質問されてないか探すみたいなものです。「なんか自然発火が相次いでて困ってるんですけどどうしたらいいですか?」 「もしやフロギストンを介して燃焼が行われていると仮定していませんか?」 「なんか光を交差させたときに時間差が存在するんですけど世界はどうなってますか?」 「もしやエーテルで世界が満たされていませんか?」 そうやって、今回も原因を特定した。


特定が容易だったのは、基本的には良かったのですが。結果としては逆に、チーム全体の士気がそれを理由に大きく悪化してしまった。みんな、複雑な物理エンジンを触って不具合を出すのを怖がってしまってるんです。みんな言ってます。みーんな言ってます。もう自信がないって。この世の仕組みをちゃんと理解してる自信が全然ないって。浅野君や森君みたいにだけはなりたくないーって。


浅野君、結局退職の直接の原因になったのは火傷だったじゃないですか。たまの休暇にスタジオ近く通りかかったら、突然スマホが発火して全治二か月。森君は私も倒れたところを見ていましたが、何にもないところで突然「息が詰まる」「何も見えない」と言いだして泡を吹いていました。二人とも、丁度ゲーム内に似たような処理を実装し終わった直後だった。みんな、"あいつらは理解してしまった"と怖がってるんです。


"理解してしまった"ですよ、世界を"理解してしまった"。浅野君は多分、燃焼の処理を作ってるうちに「現実世界も多分フロギストン仮説みたいな感じで動いてるんだろうな」みたいに勘違いしたんでしょう。森君も同じ、光の処理を作ってるうちに「現実世界も多分エーテル仮説みたいな感じで動いてるんだろうな」みたいに勘違いした。彼らは世界をそういうものだと潜在意識下で"理解してしまった"。


だから、浅野君は「世界がフロギストン仮説で動いていたらいずれこういう不具合を起こす」って反証通りに、突然発火して火傷を負った。森君は「世界がエーテル仮説で動いていたらいずれこういう不具合を起こす」って反証通りに、突然光が見えなくなって窒息しかけた。細かいところはよく分からないですが、みんなもう仕事が手につかないんです。間違った物理法則を実装して二の舞になるのはゴメンだって。


次に世界の仕組みを誤解して、無知の報いを受けるのは自分かもしれない。


今回のアップデートだって、まともに実装しようとしたら時間がいくらあっても足りないものです、本来なら。こういうことがあるからもっと一回一回のアップデートには時間が欲しいって前々から言ってたんです。天体の動きなんて、あまりに大がかりじゃないですか。天動説なんて17世紀から否定されてる。でもゲーム内で地動説を実装しようと思ったら、どれだけの工数が必要になるか、想像がつきますか?


もしもゲームの物理エンジンに天動説を実装して、現実まで天動説で"理解しちゃった"らどうなるって、みんな戦々恐々ですよ。誰一人として星空のテクスチャ移動させるだけの処理を実装したがらない。みんなね、今、本気で怖がってるんです。もしも突然世界が天動説で動き出したらどうなるんだろうって。半分くらいのメンバーが無断欠勤、半分くらいのメンバーはスタジオで壁に背中張り付けてます。


「自分が今日ぶっ飛ぶかもしれない」って心配してるんですよ。天動説がどうやって実装されるかにもよりますけど、地球の公転が止まったら慣性の法則で地上に存在する物体は時速11万キロメートルで横にぶっ飛ぶ可能性があるでしょう。馬鹿げてると思いますよ。でも、本気で怖がってる。天体の遠心力弱まり地球が太陽に吸い込まれる、潮力が激変してしまい津波が襲い掛かるって震えてるメンバーもいます。


私ですか? いえ、特に、何も。不安って、そんなオカルトよりうまくアップデートが動いてくれるかどうかの方がずっと不安です。世界中で天動説が信じられてた頃だって、現実は地動説で動いていたんです。当時みんなが天動説を信じていたから、それにあわせて現実も津波を起こしたとか、ガリレオが裁判中に真横にぶっとんだとか、そんな都合の良い話、聞いたことがありますか?


信じる心が現実を変えることはありません。


オカルトに決まってるでしょう。あり得ないです、ゲームに実装した物理法則が現実を改変するなんて。誤った仮説を信じ込んだ浅野君や森君が思い込みで超常現象的に倒れたって可能性はあるのかもしれませんが、それもあり得ないと思います。というか、会社として、まず心配するのってそこであってますか? 二人が倒れた原因にしたって、そんな複雑なことを考えなくてももっと簡単な理由があるでしょう。


……そんなの、「過労」に決まってません? 浅野君は残業残業で注意力も下がっていたし、森君もプレッシャーで毎日苦しい苦しいって言っていました。普通に考えれば事故の原因はそっちでしょう。メンバーが時速11万キロメートルで横にぶっ飛ぶ心配より前に、会社がやらなきゃいけないことって、時速11万キロメートルで横にぶっ飛ぶ心配を始めたメンバーの精神衛生の心配じゃありませんか?


……別に、私は特に自分自身を合理主義者だと思ったことはありませんが。私だって世間様から見ればこの世の仕組みの一つや二つ誤解してる可能性もありますから。……まぁ、いいですよ、もう時間も良い頃合いだし。そろそろ新しいバージョンがストアにアップされますよね。その瞬間に、私が時速11万キロメートルで横にぶっ飛ぶかどうか、せっかくだから、試してみましょうか?


じゃあ、いきますよ。







……念のため確認しますけど、何か変わったことってありましたか? 例えば、私が時速11万キロメートルで横にぶっ飛んだとか。なんでもいいです。とにかく、何か変わったことがあれば、なんでも仰っていただければ。


……そうですか。なにも、変わらなかったですか。やっぱり、そうでしょうね。私から見ても、特に何も変わってませんから。さっきと同じ世界です。何一つルールが変わった感じもしない。同じ、なにもかも、同じ。


ありがとうございます。そうですね。無事で良かったのかもしれませんね。この調子でがんばれ、ですか。なるほど。まぁ、今回も何とか炎上をしのぎ切りましたから。運よく地球が太陽に吸い込まれることもなかったですし、津波がやってくることもなかったですし。会社も特に何の変化も無いようですし、予想していたことではありますけど、信心だけで現実が変わるほどこの世は甘くないなと思います。


残念ですね。やっぱり、オカルトはアテにならない。私、今回のアップデートで、星空の移り変わりの処理以外にもう一つ機能を実装したんです。天動説は端から信じてなかったですけど、そっちの仕組みの方は結構信じていたというか、この世はちゃんとルール通りに動いているはずだろうと思ってたので、もしかすると信じる心の不思議な力で現実も書き換わるんじゃないかなって、割と期待していたんですが。


特にゲームに影響を及ぼす追加じゃないですが、今後の担当者が削除に苦しむのも申し訳ないと思うので、今ここで追加した処理についてお話しておきます。《36》という関数名で呼び出す一連のルールです。内容は、roudou変数が1日8時間、1週40時間以内を超える場合、36の関数を呼んでチェックが入るようになってます。……roudouなんて変数ゲーム内では一切使われていないんで、無意味な記述ですが。


さすがに、現実世界は36協定に従って動いていると思ってたんですが、ね。


……もしかすると、ご心配されていた不思議な力ってのは本当にあって、この世はすでに36協定を"理解してしまった"世界、それがルールとして実装された後の世界なのかもしれませんが。まぁこうしてお話しする限り、どうもあまり大きくは改変された世界でもないようなので。大変申し訳ないですが。私、一身上の都合により、本アップデートをもちまして、この会社を退職させていただきます。


残ったメンバーにはこう伝えておいてください。「浅野君、森君に引き続き、私も実装したルールに従って消えてしまった」と。おそらく、11万キロで横にぶっ飛んでしまったと勝手に思い込んでくれるしょう。それでは。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る