データベース的なものはですね、
一応ユーザーというか、
プレイしたユーザーの歩いた履歴とか保存してるんで、
それ用のクラウドフレアのKVっていうやつを使って
保存してはいるんですけど、それだけですね。
それに全部のバージョン違いのプレイデータというか、
あるっていうことですね。
そうですね。というかバージョンが違っても別に
データベース的にはそんなに変わることはないんで。
ルート情報しか保存してないんで。
じゃあそんなに変わってないんですね。
そうですね。
バージョン変わるといろいろと交換性がなくなって
ごちゃごちゃやっていくのがありそうだなと思って。
もし何か起こったら過去のバージョンのデータは
使えませんみたいな感じになると思います。
スプラトゥーンもそうですよね。
そうですね。
スプラトゥーンも最初は豆腐が2つ出てきて
床を塗り合うゲームだったっていうのはよく
そういう話を聞きました。
聞きますよね。
ストーリーから作り始めるんじゃなくて、
ゲームというか遊びのどういう面白い遊びが
作れるかっていう気持ち良さとかコンセプトの
根幹みたいなところから作り始めて、
それが成り立ってからストーリーを考えるみたいな
Nintendoの人は言ってましたね。
まさに同じ作り方になってますね。
めっちゃいいなと思いますね。
これはもう何がすごいって、
僕本当にコードの中身一切見てないっていう。
iPhoneでやってたら見れないですね。
見れないんですよ、そもそも。
見れないけど文句を言い続けることは無限にできるし、
なんていうんですかね、技術的な難しさとか
そういう難しさに結構ぶち当たって
それを解決するのが面白いっていうので
多分エンジニアの人とかゲーム作ったりとかすると思うんですけど、
そこじゃなくて、本当にゲームとして
面白くするためにはどうすればいいかみたいな難しさに
直接向き合うことができるっていう。
それしか考えずに済む。
そう、それがすごくいいなと。
いい使い方してますね。
めっちゃいいですね。
自分のゲームがどうやったら面白くなるかっていうのを
めっちゃ電車の中でずっと考えてて、
電車乗り過ごしたりとかしてます。
普通に帰りの電車を乗り過ごしたりしてます。
まさに夢中になってますね。
そうですね。
こういうのは一回ハマると結構離れられないというか、
ちょっと体調が悪くなるのでやっちゃうんで。
昨日体調悪かったのそのせいだったんですか?
そうですね、収録をすっぽかさせていただきましたね。
ちょっと気分が悪くて。
なんか逆にちょっと、
万全でない体調の方が集中しやすいじゃないですか。
ちょうどその時期だったんですよね。
なんかこう一個の問題に取り憑かれがちというか、その方が。
だからその電車で集中して、
そのゲームの修正とか考えたりとかしながら進んで、
会社着いて、よし仕事するぞみたいな感じでうまく切り替えられないというか。
話して、今日は何を撮らないと何をするんだっけみたいな脳にならない。
文字通り病気ってことですね。
そうですね。
の方が何かをより良くすることができるみたいな。
まあまあわかる気がする。
そういう問題がありますね。
だいぶね、最初よりこうなんか面白い遊びが作れていると思うので。
ヤズマ君っぽいゲームだなっていうのも思いましたね。
本当ですか。
何かしら、何ていうのか。
まあ渋い、渋いというかかなりシビアなゲームではあるなと思うんですけど。
そうですね。
いわゆる今まで知っているゲームのメタファーがあまり通用しないというか。
敵倒すとかアイテム拾うとかレベルアップするとかがちょっと通用しづらい感じではありますね。
何かそういう新しい構造だけ作ってポンとそれをこうなんていうか。
画物に入れてこれだって見せているっていう。
はい、どうぞみたいな。
テキストも少ないし。
そうですね。テキストなしでちょっとやりたがっちゃうんですよね。
アイデア勝負みたいな人ってすぐテキストなしでやりたがるから。
まあ良くない癖かもしれないですけど。
できるだけ言語に頼らないみたいなのをね、カッコつけてやってますね。
いやー言語って便利ですからね。
言語マジで便利。
言語がないと本当に初めて見た人にスッと理解してもらうってめっちゃ難しくって。
このゲームが一番上を目指すゲームだということを理解してもらうのがすごい大変なんですよ。
いやーそれは分かんなかったですね。パッと見て。
ですよね。僕もまだ現状を理解してもらえてないんで、
もうどうやったらその第一目的を理解してもらえるかっていうのを今ちょっと未だに悩んでます。
一番簡単なのは一番上に行けって日本語で書くことなんですよ。
ゲーム最初プレイした時に。
そうですね。
けどそれはやりたくない。
ストーリーもなんか深いところに入っちゃってるから。
そうですね。あえて読もうとしないと読めない場所にありますね。
マイクラみたいですよね。
マイクラもなんか説明だか、なんか結構いろいろ書いてあるけど、
なんかそこに設定画面のどっかにあって。
そうなんだ。マイクラの説明って読んだことないかもな。
なんかあるってこともこうだいぶ後になって知りましたね。
こんなところに説明があったと思って。
えー。
なんかわからないものをマイクラのWikiとか見ながら調べながら進むものだと思ってたけど、
一応公式の文書があるんだ。
ドキュメントあったんだ。
そうそうそうそう。
えー知らなかった。
ドキュメントぐらいのノリですけどね。
でも案外それでいいのかもしれないですけどね。
確かに。
このゲームに関してはめっちゃ独自のアイディアですみたいな感じで言ってるけど、
かなりいろんな影響を受けているものが大きくあって、
一つは前にポッドキャストにもゲストで出演していただいた橋本博さんの僕の好きな概念があってですね。
好きな概念。
何かを制作する制作者。
まあ博さんは映像作家なんで映像ですけど、
物を作る人が良さを探索するための、
ためのというか探索していく様子のグラフィック化みたいなことをしていて。
表現が難しいですね。
そうですね。
まあ良さを最大化するために空間の中を探索していくみたいな三次元の山の上を登っていってとかね。
で一番高い山にたどり着くためには手近なそのちょっと高い山を一回降りないといけないみたいな。
そういうのはちょっとなんかものづくりのメタファーとしても聞いているような感じで結構好きな絵なんですけど。
まあそれをかなり丸パクリというか。
丸パクリというか、まあもともとある概念ではある。
まあそうですね。釈養というかね、させていただいて。
まあ絵的にはちょっと違うものではあるんですけど。
あとはもうデスストですね。
はい。そっち僕やってないんで分からないんですけど。
デスストランディングはもうフル3DCGの山を登ったりとかしてお届けするゲームなんですけど。
お届け。
そうですね。その中でその目的地に行くためにいろんなルートがマップを見ながら考えられて。
でそれの通りに行こうとするとなんかこういろんなアイテムが出てきてちょっとうまくいかないみたいなとか。
そういうのを一つ一つ解決していくみたいなところにも面白さがあって。
僕はそこが結構好きなので。
なんでその山を登るときにどういうルートを通れば安全にかつ最小限のエネルギーでいけるのかみたいなとかをちょっと考えられるみたいな。
なるほど。
はい。
その2つが。
そうですね。大きく影響を受けているところですね。
それをくっつけるとトポポになるっていう。
おお。これは必見ですね。
でも今のストーリーの話から想像できないぐらいシンプルな見た目してるから。
そうですね。
びっくりするかもしれない。
1分で終わります。
あずまくんのアイコンみたいなキャラクターが出てきますね。
そうですね。丸が、主人公丸です。黒い丸。
でも黒い丸結構かわいくって。
崖の方を登ろうとして体力が尽きるというか急な崖を登ろうとすると転落しちゃうんですよ。
転落しそうになるとプルプル震えだします。
プルプル震えず、あ、やばいやばいって思って戻るっていうのを崖10回ぐらい落ちて学ぶって感じですね。
そうですね。で、転落し終わってたら1秒だけ気絶してブルブルってして立ち上がります。丸が。
立ち上がるっていうか丸は丸なんで。
立ち上がってたのか、あれ。
そうです。
なんかめっちゃミニマルだけどどうやったら可愛げを出せるかなみたいな。
はいはいはい。
そういうのもやってるとかしますね。
いや結構ね、あのゲームシステムの反省度は高いと自負してはいるんですよ。こういうものとして。
はい。
その中でこう今バランスをいかに良くするかみたいなところに差し掛かりつつあるなとは思ってます。
まあなんかほとんどクリアできないパターンが多いような気はするけど。
あ、そうですか。僕割とクリアできるようになってきました。
あ、そうなんだ。
これ面白いですね。確かに探索のテクニックだったりとかそういうのをちゃんとメタ的な知識としてだんだん仕入れていくとだんだん成功率が上がっていくみたいな。
なるほど。
結構ちょうどいいところに来てると思います。
まあ制作者は一番現状では相当こう。
上達しちゃってるから。
熟達してる。
そうなんですよ。普通に何百回ってプレイしてますから、やりながら。やってプレイして文句言ってみたいな。
はいはいはい。
この制作の過程自体も結構面白くて、途中で敵を出したことがあるんですよ。バージョン20か30かそれぐらいで。
敵を出したら敵にどうやったら見つかるぐらいの、どのぐらいの距離から敵に見つかるかみたいなのとか。
敵の攻撃を食らったらどうなるかとか。あんまり食らいすぎたら動けなくなっちゃうから、一回食らって気絶したら敵は無視してまた戻っていくようにした方がいいかとか。
色々考えていくんですけど、確かにちょっとずつ面白くはなるんですけど、天井が見えるというか、だから何なのみたいなところが見えて、
もうちょっとやり直しみたいな感じ。このゲーム何が本当に面白いんだっけみたいな。
本館に戻ったら一番トップに行くために手近な頂上に登らないといけないけど、登るのも大変で、
登ったところで見渡したときに初めてどこに自分より上の頂上があるかがわかるみたいな。そういうところが面白いんだって。
敵とかは、その登るときのリスクだったりとかとして、もし本当に必要なんだったら入れるべきだし、今必要ないと思えるんだったらもう全部消そうみたいな感じで。
色々敵とか色んな種類のアイテムとか入れてたんですけど、全部消してもう一回やり直したんですよ。そしたら面白くなりましたね。
すごいなんか、そういうのって人に頼んで作ってたり、自分で頑張って作ったものだとなかなかやめるってできないから。
本当にバクさんの山のメタファーと一緒で、一回登った山って簡単には降りれないんですよね。
登って登って登り切ったその低い頂きから降りる勇気ってなかなか出ないし、これがなんか人に依頼して作ってありがとうみたいな感じでやってきたものなんだとしたらなおさらその関係を壊すみたいなことにもなりかねないし。
あれ?3日かけて作った機能がサクッとなくなってるみたいなことになりますもんね。
消してくださいみたいな言えないけどAIにはもうめちゃめちゃ言えるんで。
いやーすごい。
いやーこれ本当にすごいなと思います。今までの世界でゲームデザイナー的な人が活躍できる場所ってやっぱ大きな会社でゲームデザイナーとしての役割を担ってる人とかはいたと思うんですけど、
ほんとインディーズとかゼロからゲーム作ってるみたいな人でそういうことやってる人って多分兼務でエンジニアリングもちゃんとできるみたいな人だと思うんですけど、
多分もう単体で一人でゲームデザイナーだけでゲームを作るみたいなことがこういうミニマルなレベルだったら全然できるようになってて、
面白さの検証だったりとかコアな面白さをちゃんと作ることができる人だったらもうプロトタイプとして完成した状態でさらに規模を大きくしたいみたいな感じで人を増やしたりとかできるようになると思うんで。
いやーかなり少人数のゲーム会社がもうすでにあるのかもしれないですけどどんどん出てきそうですね。
いやそうですね。
少人数どころか1人っていうパターンもあってもおかしくないぐらいですかね。
いや本当にそう思いますね。1人だけどしかももうコードかけませんみたいな人でもめっちゃ面白いゲーム作れるみたいな世界が来てる気がしますね。
これはただでさえ遊び尽くせないほどゲームがあるのに大変な世の中になりましたね。
そうですね。
いやーでもね、エラーさんにもね、ちょっと相談させてもらってて、僕とテッドーさんとエラーさんのチャットでアドバイスをもらったりとかしてもらったりとかはしてますけど、一緒に喋ってたのが、もうゲームって作るのが一番面白いですねみたいな。やるよりって言ったら、でも作ったらやるのも面白くなりますよって言われて、いやーめっちゃそうだなと思って、ゲーム作りってめっちゃお得だなと思って。
あー、ご飯作れるようになると食べるのも美味しい、なに?
とかね、そういうことかもしれないです。いやーめっちゃいい趣味ですね、これは。
いいですね、いいですねというか、僕もちょっと作ってみたやつがあるはあるんですけど、もうあと8分しかないんでサッと話しますね。
30分制限で。
僕が作ってるのは物理演算を使って、なんていうか、ブロックを崩すやつ。
時を同じくしてテッドーさんも作り始めてましたよね。
そうですね。って言っても、ちょっと僕は作るモチベーションが全く違って、ゲームエンジンを作りたかったんですよ。
トラスCってゲームエンジンじゃないのか。
ゲームエンジンではあったかもしれないけど、今は物理演算のライブラリというかアドオンを入れると、
それでUnityみたいな感じでヒエラルキー構造を見ながら、ギズモって言うんですけど、XYZの矢印が出てきて動かせたりとか、
ここにカメラがあるよとか。
そうですね。で、そういうのをリアルタイムに、ヒエラルキーとインスペクターって言って分かる人には分かると思うんですが、
Unityにちょっと似た感じのノイで3D空間をエディットできるみたいな機能をちょっと作ってるんですね。
すごい。
それは、ちょっと深い話をすると、C++っていう言語で書いたものって、
プログラムそのものは実行するときはもう完全にバイナリーになって人が読めるものではないんですけど、
それをリフレクトっていう機能を使うと、プログラムの中身を意味が分かるように変数名を保持した状態で、
ちゃんとバイナリーにすることができる。
ちょっとこの説明、まあまあこのぐらいにしときます説明は。
わかりました。一応追跡できるみたいなことですね。
そうですね。
仕組みがどうなってるのかを。
これを使ったら、今まで作っていたものをまるっとJSONファイルに書き出して状態を保存するっていうことができるなみたいなことを思っていて、
で、待てよ、これってもしかしてUnityのHierarchyとInspectorってこれで作れるんじゃないかなと思って、
AIと相談してたら、もうほぼUnityも同じ設計になってたらしいんですよね。
へー。
で、なるほどと思って、もともとUnityはちょっと内部構造として意識して作ってたから、
ちょっと真似してみようかなと思って、徐々にゲームエンジンっぽい機能が何か追加されてきているっていう状況です。
なるほど。
ゲームオブジェクトとコンポーネントみたいな概念を作ったりとかしている。
なるほど。
はい、このぐらいにしときますよ。
今の話を簡単にまとめると、トランスシーでゲームを作ることができるような状態になっちゃったってことですね。
そうですね。何か、素結合が大好きで、素結合。もうややこしいからやめようか。
いや、素結合の話しちゃいましょうよ。
素結合いいんですよ。何かっていうと、ゲームって機能を増やしていくと、
どんどん機能が増えた分だけコードが増えていって、これを変えるために他の部分に影響が出るから、それを考慮すると、みたいなしがらみみたいになっていくんですよね。
積み木をどんどんどんどん積み重ねていって、これ抜いたらもう全部崩れちゃうぞみたいな。
そうそうそうそう。敵と味方がいます。ここにアイテムを急に出したとします。
アイテムとは、味方はゲットできるけど敵はゲットできないとか、ステージに置いてあるということができるとか、何かいろんな概念が絡まってくると、
1個のものを追加するのに3種類の他のものを編集しないといけなくなる。
はいはいはい。海ステージ作りますってなった時に、あれこれアイテムどのなんだらっけみたいな。沈むの?みたいな。
なんかそういう感じで、10種類の概念があって11種類目を出した時に、そいつをすべての要素が、
変えるとこが10個あるみたいなね。
そうそうそうそう。影響を受けてしまうみたいなのが、基本的に起きがちなんですけど、
そういうことを起きにくくするために、パーツごとになるべく分離して、
お互いのパーツのことは何も知らないのに、システムが破綻なく動くようにするようなプログラミング手法を素結合、
素っていうのは仮素化の素なので、結合が弱いっていう。
密の反対ですね。
そうですね。結合が弱くて、パーツ単位で自分たち、そのパーツがどう機能するかだけ書いていれば、
その他のパーツはお互いのことを知らなくてもちゃんと動くように、なんか連携できるみたいな、
そういうそれを目指して作っているんですけど、Unityはすごく素結合が上手なので、
アセットストアみたいなので、とにかく外からいろんな部品を入れて、それぞれ組み合わせて、
それでゲームを作っていくっていうことができるのは、結合が弱いからこそできているという。
いろんなものの要素を突っ込んでいっても、それぞれに対する相性みたいなことはあんまり気にしなくてもいいみたいな。
そうですね。最低限、Unityの基盤に対して互換性を持っていれば、アセット同士、アドオンという拡張機能同士が
直接連携していなくても仲良くできるというか。
それに近いことができるんじゃないかと思って、Trust Cではかなり気をつけて設計しているところがあるんですけど、
それを実験するためにゲームを作ったみたいな感じですね。
長かった。素結合の実験のためのゲームだったんですね。
そうそうそうそうそう。それで実はゲーム自体はどんなゲームができるって聞いて、3種類挙げてきたうちの1つを採用して、
アイディアからAI任せたやつね。