1. TimeTreeラヂオ
  2. ゲーム『Oxygen Not Included..
2025-06-16 27:26

ゲーム『Oxygen Not Included』から学ぶシステム開発 #TimeTreeTechTalk

Steve
Steve
Co-host

「TimeTreeラヂオ」はカレンダーシェアアプリTimeTreeを運営する私たちメンバーが、ふだんの仕事に関係することもそうでないことも、だいたい15分でひとつのテーマを話しきるインターネットラジオ番組です。


この放送はTimeTreeエンジニアによるテックなお話をお届けする #TimeTreeTechTalk です。


今回は「ゲーム『Oxygen Not Included』から学ぶシステム開発」についてJustinとScottが雑談しました!


◎放送で紹介しているゲーム詳細

『Oxygen Not Included』


◎お便りお待ちしています!

⁠⁠⁠⁠⁠⁠https://forms.gle/hB76jJpQoD3feFzp9⁠⁠⁠⁠


◎TimeTree Company Deck(会社案内資料)

⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠https://bit.ly/3IyEEWt⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠


◎一緒に働く仲間を募集しています!(採用応募ページ)

⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠https://bit.ly/3MyqZjE⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠


番組の感想・コメント・ご要望はハッシュタグ ⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠#TimeTreeラヂオ⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠ でつぶやいてください!

サマリー

このエピソードでは、ゲーム『Oxygen Not Included』を通じてシステム開発の重要性や問題解決の思考を探ります。ジャスティンは、ゲーム内の課題が現実の仕事にも通じることを示し、効果的な行動の選択がどれほど重要であるかを語ります。また、システム開発におけるメンタルモデルや問題解決のアプローチについて考察します。AIやLLMの活用が現実の問題認識に与える影響についても触れ、ゲームから得られる学びを実務に活かす重要性を述べます。

ゲームの紹介と概要
はい、TimeTreeTechTalkでーす。パチパチパチー。
今回もスコットがファシリテーションしながらやっていきます。
今回はですね、何エンジニアなんだろう、いろいろやってる、TimeTreeのいろいろなことを支えてくれてるジャスティンがゲストで来てくれています。
ジャスティン自己紹介お願いします。
はい、バックエンドエンジニア兼データチームのチームマネージャーをしています、ジャスティンです。
兼なんだね、いっぱいやってますよね。
まあまあ、ぼちぼちって感じですかね。
はい、ということでですね、今回はサーバーサイドの話かな。
どうなんですかね。
事前の台本というか、テーマのあれには、すごいいろいろないい話ができそうな感じがします。
ハードル上がってますね。
ちなみに僕、ラジオ出るのすごく久しぶりで、数年前に出てたことがあるんですけど、その時は僕、話を聞く側とかで、実は出てたりしましたね。
テックトークみたいなのを本格的にやりだす前。
前ですね、はい。
ということで、ちょっと緊張してますが。
ということで、今回、話したいことがあるということでいいですか。
何か話してくれって言われて、最近何してるかなと思った時に、仕事はいろいろあるんですけど、さっきもあったようにバックエンドの仕事もありますし、
データチームのマネージャーもやっていて、データ基盤の開発からデータチームの採用だったりだとか、皆さんのお言葉にご当の相談に乗ったりとか、
あと最近だと、プライバシーの取り組みも、タイムツリーでも、よりしっかりやっていこうという動きがあったりですとか、
いろいろある中で。
なんか、いろいろIRCに来て、なぜかゲームの話にたどり着くっていう。
そうそうそう。いいじゃんいいじゃんとか言って駆けつけたのは僕なんですけど。
そうですね。何か話せることあるかなと思った時に。
あるっちゃあるんですけど、ちょっとネタで出したら意外と変に盛り上がってしまって。
今日はですね、Oxygen Not Includedっていうゲームの話を通して、ここからいろいろ面白いことが自分の中で見つかったので、そんな話をできればなと思ってたりします。
そうですね、まずOxygen Not Includedは、たぶん説明欄にリンクを載せていただけると思うのと、
あとまずどういうゲームなのか、最初の概要説明。
概要説明。ざっくりとすると、いわゆるストラテジーゲームみたいなものではあって、
突然、惑星にですね、3人の複製人間って言われる、デュプリカントっていうものがポンと放り出されて、
そこの惑星はですね、タイトルがOxygen Not Includedなんで、酸素がないっていうタイトルなんですよね。
最初放り出されたところには、一応その環境にギリギリ残ってる酸素はあるんですけど、
一応支給品的な食事もあったりするんですけど、生活をしてれば呼吸もするので、
どんどん酸素は失われていって、酸素は二酸化炭素になっていって、
運動すればエネルギーも消費するので、食事をとっていくとそこに支給品として置かれていた食事もなくなっていくし、
そういう環境の中で、例えば酸素をどう生み出していくかって言ったときに、水を分解すると、水を電気分解すると水素と酸素に分解できるので、
それを使って水から酸素を取り出すということをやりながら生活をしていくというようなゲームです。
これちょっと言葉だけで全部説明しきるのは難しいですよね。
僕もやったことあるんで、確かにその通りなんだが伝わるのかっていう不安があるんですけど、
キャラクターが結構かわいいんですけど、最初まず地下世界なんですよね、確かね。
地下に出て、マップが見える範囲が限られてて、探索しながらいろんな資源を探しつつ、
さっき言ってたような食事をどうする、酸素をどうするというのを解決しながらやっていくみたいなゲーム。
システム開発の類似性
そうですね、そうですね。
キャラクターがかわいくて、ここの会社が出してるゲームのDon't Starveっていうゲームがあるんですけど、
そういうのもちょっと2Dの味のあるキャラクターが出てくるゲームで面白いですよね。
そう、眺めてるだけで楽しいんですけど。
さっきの話でいくと、自ら酸素と水素を取り出せばいいじゃんって話で終わりのように感じるんですけど、
それを取り出すためには電気が必要だったりだとか、電気をどうやって生産するのか。
電気を生産するために、例えば石炭発電をすると、石炭も炭素の反応で発電をするので二酸化炭素が生まれるんですよねとか。
そういったいろんな物事が連鎖していくようなゲームになっていて、
ただ酸素を取り出すって言った時にも、さっきの電気の話もあったりとか、
例えば別のところでは熱の話があったりして、水素と酸素を分解する時に発生した熱みたいなものをどう処理していくのか。
その熱が例えば70度ぐらい確か出てくるんですけど、すごく過ごしづらいですよね、70度って。
めちゃくちゃ暑いと。
その酸素をずっと取り出し続けても、逆に今度は生活できなくなってくるので、
その酸素をいかに冷やすのか。
冷やすって言った時に、熱は移動するだけで減らないんですよね。
エアコンとかもそうですけど、エアコンって室内気と室外気を使って、
中の空気を外の空気と温度交換をして冷やすっていうので、熱はなくならないので。
室外気みたいにどこかに熱が吐き出される。
じゃあその熱をどうするのかみたいな話がずっと永遠に繰り返されるような。
そんなゲームなんですよね。
問題が問題を呼ぶんですよね。
そうそう。
問題解決が別の問題を呼ぶんですよね。
これでもうシステムの開発と一緒なんですよね。
なんかそれっぽい話に繋がってきたぞ。
そうそう。
例えば何もしないっていう状態が一番ゼロなんですよね。
何も生まないし、何も影響が生まないんですけど、
それだと物事は進んでいかないので、何かシステムを作るわけですよね。
例えばタイムツリーだとカレンダーアプリというプロダクトを作ると。
そうするとプロダクトを作ったところで、
そこでどう運用していくのかとか、
エラーをどうハンドリングしていくのかとか、
そういういわゆるシステムの副産物みたいなものをどうハンドリングしていくのか。
それをやったら今度別の問題が生まれてみたいな問題の連鎖が起きるんですよね。
そうですね。
そんな話をゲームでやっているので、
自分の特性とゲームの影響
応援愛は仕事っていうのが会社の絵文字にあるんですけど。
スマークの絵文字にありますね。
応援愛っていうのはオキシジェノットインクルーズの略で。
仕事と一緒なんじゃないかみたいな。
そんな感じのゲームですね。
そんな感じのゲームですね。
だから仕事と一緒なんですよね。
本の中からジャスティンが学んだ頃とは。
そうですよね。
このゲームをしていると、
例えばいろんな問題があるんですよ。
人を増やそうとすると必要な酸素量が増えるとか食事量が増えるとか、
どういう順番で何を拡張していくのか。
一応ゲーム的にはゲーム上のゴールがある程度配置されていたりするんですけど、
何のゴールを達成していくのか、
それに向けてどういう順序でやっていくのか、
そういったことを自分で組み立てながらやるようなゲームなんですよね。
それをやっていくときに、
やり方として、雑に作って早くやるって方法と、
安全で遅くやるみたいな方法がそれぞれあったりするんですよ。
例えばさっきの酸素の話とかでいくと、
別に70度の温度の酸素が出てたとしても、
それ以外の環境の温度がすごいたくさんあるわけですよね。
22度とか23度とかの温度の、
例えば土だったりとか木だったりとか、
いろんな素材があって、
そのいろんな質量に対して酸素の70度が来ても、
なかなかその温度変化はすぐには来なかったりする。
でもいずれは70度の酸素に満たされていて、
環境全体がどんどん暖かくなっていくわけですよ。
っていうこの問題に対して、
じゃあいつ対処するとかっていうところがあるんですよね。
優先が必要か。
そうそう。
これってそれぞれ人によって癖がある気がしていて、
例えばもう熱い酸素出続けてても良くって、
問題になったタイミングで対処する。
っていうやり方ももちろんあるし、
最初から酸素を生産する時に、
ちゃんと冷やして適温で出すような仕組みをしっかりガッチリ作る。
そういう作り方もできる。
そうすると、適温でコントロールできるような
システムみたいなものを組み上げないといけないので、
すごい時間がかかるんですよね。
これは多分結構人の個性が出るところでもあって、
このゲームやってると自分の癖がすごいわかるんですよ。
なるほど。
例えば会社においても開発チームの規模をどう大きくしていくかとか、
システムをどれぐらいの速さでデリバリーしていくかっていうのを
考えたりすると思うんですけど、
よく会社の規模を早く大きくしすぎると組織が壊れるとか、
いろいろ言われ方するわけですけど、
ある一つの手段としては、組織壊れてもいいじゃんみたいな。
早くやって、それでなんとかなればいいじゃんっていう考え方もあって。
あるにはある。
あるにはある。
僕は全然ちょっと逆の方で、わりとゆっくり安全にやっていくタイプなんですけど、
そういう判断とかって、
自分の意識しない潜在的な先行みたいなものが結構強い気がして、
気づけない癖な気がするんですよ。
それがこのゲームをやってると、自分でこれ遅いなみたいな。
例えば他の人のゲームプレイとかも見れるので、
YouTubeとかいろんな動画の配信サイトとかであったりするんですけど、
いろんな人のものを見ると、こういう速さでできるんだっていうのを知ったりして、
実際のシステム開発とか組織開発とかをするときって、
条件が全然平等じゃないので、分かんないんですよね。
その会社のカルチャーが違うから違うんだみたいな言い方もしたりしますけど、
そうではなく、ゲームという、ちょっとそれぞれ微妙に違うものの、
例えばゲーム上で1日っていうのは1サイクルみたいな言い方をするんですけど、
100サイクルに到達したとき、100日間経ったときに、
どこまでどう開発してるかっていう違いが分かりやすく出るんですよね。
なるほどね。
結構時間で切り切ると速いか遅いかみたいな。
そうそう。
もちろん速くて安全にやってる人もいたりするんですよ。
もうそこまでいくと、ベテランというか熟練の技というか、
いろんな経験を積んでたくさんの場を経験したからこそできてるとかもいろいろあると思うんですけど、
とはいえ、自分のそういった癖を知る機会ってなかなかないので、
そういう意味では、ゲームを通してある種シミュレーションゲームっていう名前の通り、
シミュレーションをしながら知れるっていうのが結構、
自分として発見があったなという感じですね。
なるほど。
ジャスティンはこれで、さっきちょっと言ってましたけど、
しっかり速くてゆっくり進めていくっていうのが認識できたみたいな。
だからこそ、例えば新規事業、タイムツリーギフトっていうサービス以前やってましたけど、
やるときに安全にやるところと雑にやるところを割と意識して取り組んだりしてて、
もちろんそれできる方もいらっしゃると思うんですけど、
僕の中ではちょっと1つ、これまでの自分の取り組みの違いが応援の愛を通してあったのかなというふうに思ってたりしますかね。
自分の特性を理解して、保守的にやるところとアグレッシブにやるところと意識的に分けることができたんで。
そうですね。その問題の影響度とか重要度とかによっても、雑にやっていいやとか、
これはしっかり抑えておかないと、後でゲームが崩壊するぞみたいなものを一歩引いた目で見ながら考えられたりするのかなっていうのはありますかね。
なるほどね。たぶん似たようなゲームよりファクトリオとかもあると思うんですけど。
ありますあります。
同じようなジャンルでランダムなスマップで探索するっていう。
そういう能力の、ジャスティンが言ってくれたように認知とか、
あとこうしたらいいんだとか、ここは抑えとかなきゃいけないんだみたいなメタな認知ができるようになると、
確かに仕事に応用できるっていう感じがしますよね。
ゲームとメンタルモデルの関係
そうですね。なんか、ゲームを通して自分の世界理解みたいなものが、メタ認知って話がありましたけど、
どうこの世界を理解しているのかっていうのを考えるわけですよね。
例えばこのゲームをさらに進めるためには、今足りてないものは実は人員なんだとか、
人員を解決するために先にこれをやらないといけないっていう、
自分の中の問題解決の方程式じゃないですけど、メンタルモデルというかそういったモデルが作られてるわけですけど、
これって実際の実システム運用においても多分同じで、
例えばこのシステム開発、大体どの会社でもシステム開発って早く提供したいわけですよね。
そうですね。
デリバリーを早くしたい。
デリバリーを早く。
状況に合わせてコストもある程度抑えながら考えたいとなったときに、
その速さを提供するためのどういう自分のメンタルモデルでもって取り組むのか、
それを引いて考える。
引いて考えるというのが、一歩自分が抽象的に上がってみて、
例えば社内の人が足りないんだったら業務委託の人にお願いするとか、
いろんな手段がありますけど、
結構そういう手段を選ぶっていうことに対して、
自分の認知の中でしか選択肢が取れないんですけど、
そこにまず選考が入っているっていうことと、
選考で好みが入っていることと、
選択肢を広げるっていうことをやると、
より早く短いサイクルでゲームをゴールに導けるわけですよね。
なんかゲームの話と仕事の話が行ったり来たりして面白いけど、
仕事だとあれですよね、
だからスキルを磨くとか勉強するとかって話が手段を増やすというか、
ゲームとかだと他の人のプレイを見るとかといったことと、
そういうのがリンクしている。
リンクしているって言えるのかな。
この意味においてはリンクしていると言えるのかなというところですよね。
これなんか、ちゃんと面白い話になっているのか。
なんかちょっと当たり前の話をしている感じになっちゃっていて、
あれですけど。
なんかゲームの話から意外とちゃんとまじめな話になってきていると思っています。
本当ですかね。
最近だと選択肢というか何か物事を考えるときに、
AIとかLLMとかですかね、
みたいなものを使うことが増えていると思うんですけど、
あれも自分の問題認識がめちゃくちゃ反映されるツールだと思うんですよ。
なるほど、なるほど。
あれの、例えばChatGPTとかに質問をして、
質問に対しての答えをくれるわけですよね。
だからその質問の仕方が、
AIの活用と問題解決
クローズゾーンな質問をしていると、
そのクローズゾーンはスコープの中の回答しかもらえないわけですよ。
クローズゾーンっていうのは例えばESノーみたいな話?
そうですね、例えば、
何でもいいですけど、
例えばこのエラーが発生していて、
このエラーを解決する方法を教えて、みたいな質問をしたとすると、
そうすると、そのエラーに関する情報がくれるけど、
その質問の中にシステム全体の話が出てるわけじゃないので、
エラーに関するすごい局所的な問題解決の方法は教えてもらえるんですよ。
なるほど。
でも本当はもっと広く、
例えばロードバランサーがいて、プロキシサーバーがいて、ウェブサーバーがいて、
データベースもRDBやキャッシュもいろいろある中で、
そのシステムの連携の中のエラーなんですよね。
これがつまりさっきの、今の話でおけるメンタルモデルというか、
ゲームのシステム理解みたいな話ですけど、
その全体を踏まえた上でのエラーの解決方法を教えてもらうというのだと、
さっきのただのエラーに対して解決策を教えてだと、
全然解決のスコープが違うわけですよ。
もちろん変わってくるわけですよね。
今の話はわりかし、
インプットに与えるコンテキストが非常に大きくなるので、
実際どこまでできるのかという難しさもあるんですけど。
最近はLLMをラージコンテキストにすることが多いですし、
こないだ4月に言ったGoogleクラウドのメッセージで、
コンテキストはこれからどんどん受け入れられるコンテキストに出てきます。
LLM側のサポーシティは上がっていくが、
逆に人間がそれを適切に与えられるかどうかという問題に接するという。
そうですよね。
システム全体を理解した上で問題を捉えているのか、
ゲームから得た学び
積極的な問題に対して適応しているのか。
そもそもその問題は今優先度高くないのではないかと。
というところで、
LLMの使い方とか、
そういうメタな理解をしている側のほうが今と使いこなせるし、
よりよく全体最適に使えるということになっているのではないかと。
ということで、
ストラテジーゲームをするといいぞっていう結論。
僕もこのゲーム大好きですね。
時間が無限に必要なので。
聞きたい方は弊社のカジュアル面談に来ていただければ。
そうですね。
それか直接俺の話がしたいですと言っていただければ。
無限に話します。
僕もこのゲームで癖というか、自分もよくわかったなというところがあって。
僕は結構なんだろうな、
ジャスティンと同じで、物をかっちり作りたいタイプなんですよね。
本来の生活は。
でも、物をかっちり作れるということ自体が特徴感なんですよ。
環境全体まで含めたって考えたときに、
システム全体をパーフェクトに作ることってできなくて。
それこそ外部要因だったりとか、
いろんな問題がある中でシステムは完璧に作れないみたいなことを、
無意識的には分かっていたんだけど、
認識してしまったみたいなことがありました。
諦めみたいなことですか。
諦めというか現実の理解だったと思いますね。
なので、
飼い主さんとかを考えた上で最適な飼いを状況に合わせて選択する必要があるみたいな。
という感じの理解をしているというところがありますね。
だから結構重要な要素として、やっぱりタイムスパンってあるなと思っていて、
この問題は対立的に解決しなければいけなくて、
この問題はむしろ表面化してから大丈夫。
そういった問題って仕事においてもいっぱいあるじゃないですか。
そういった問題に対してどう解決するか。
っていうのに理解したかなと思っていますが、
それは現実に自分が仕事に適応できているかというと、またそれとは違う。
現状の認知がうまくいっていないとか、
やっぱりゲームって限られたスコープの環境だったりするので、
そうですね。
何て言うんですかね。
意識解除情報というか、
ゲームって基本的には情報がほとんど解除されるっていうのはあるんですけど、
現実はそうじゃなかったりとか、
そういう中での難しさとか、
逆に言うと面白さというか、
ああ、こんなことあるんだ、みたいな。
そうですね。
現実とゲームの違うところだけど、
でもやっぱり限られた環境だからこそ、
何て言うか、理解できるイメージみたいなね。
そうですね。
なんかめっちゃいい話聞きましたね。
本当ですか。
真っすぐの話はなかったけど、
仕事術的な話ですね。
そうですね。
もうちょっとテクニカルな話をしても良かったかもしれないんですが。
次はONYの画面休止しながらYouTubeで配信しましょう。
それも面白いかもしれないですね。
それも面白いかもしれない。
サイクルチャレンジ。
テクニカルな話ってゲームの話というか、
バックエンド開発に関する話?
バックエンドの話ね。
そうですね。
使っているテクノロジーのより詳細な話とかもね、
面白い話とかもいろいろまだ溜まっていると思うので、
また次の時代にいろいろやってみたいですね。
はい。
はい。
じゃあ、今回のTikTokはこんなところでしたね。
タイムツリーTikTokはこんなところでしょうかなと思います。
はい。
ありがとうございました。
ありがとうございました。
じゃあ、録画止めます。
27:26

コメント

スクロール