ババはあなたですは、言葉がゲームのルールを変えるプッシュブロックパズルラーです。を押しますbaba
隣のブロックis
を押してから、you
端では、4本足の長い耳の生き物を制御していることになります。別のルールを追加します。flag is win
、ババを旗の上に移動させるとレベルをクリアできます。
したがって、Baba Is You は言語からゲーム ロジックを作成するゲームです。そしてこれは、意味を言葉にエンコードし、さらに言葉をゲームにエンコードしようとすることから生じる厄介な機械的および形而上学的な問題の顕著な例です。これらは、その作成者である Arvi Teakari にとって最大の悩みの種でした。
not
Baba Is You は、2017 年 4 月に Nordic Game Jam 用に作られたゲームとして誕生しました。Teikari は、氷のブロックと溶岩のブロックを使用したターンベースのパズル ゲームのアイデアを思いつきました。溶岩は氷を溶かす可能性がありますが、何らかの方法で「氷は溶けていない」と宣言することで氷の溶けを止めることができます。
「言葉は最初から存在していたわけですね」とテイカリは言う。 「氷はデフォルトで溶けやすく、溶岩は熱いなど、固有の特性を持つオブジェクトが存在するでしょう。次に、これを使用してそれらの特性を削除しますis not
」
しかし、Baba Is Youの設立コンセプトの一部ではあったものの、テイカリはそれを放棄することを決めたis not
のためにゲームのジャムバージョンそれはルールを無効にする機能しか果たさないように思えたからです。
「それは言葉としてはあまり興味深いことではありません」と彼は言います。やっぱりルールがあればbaba is you
、すべての手配baba is not you
他の場所では単にそれを否定するだけです。しかしその後、『Baba Is You』の商用バージョンを作り始めたとき、彼は次のことに気づきました。not
ゲームのロジックを拡張する際に、より広範囲に使用できる可能性があります。
しかし、条件文は、次のような単語のクラスです。not
発作が起こり、あらゆる種類の頭痛が引き起こされました。 "のようにon
、 のようなbaba on grass is you
、ババがあなたになるのは、芝生の上に立っているときだけです。」ゲーム完全版のリリース以来、彼はゲームに次のようなことを理解させるためにさまざまな修正を加える必要がありました。baba not on not rock is you
。
(is not
Jam バージョンには存在しますが、機能しません。これを表示するには、\ または | を押します。 UK または US キーボードでレベル エディタ モードにアクセスします)。
text
『Baba Is You』の明らかなメタレベルのおバカ行為は、言葉自体を制御できるようにするというテイカリの初期の選択に由来しています。text
。 「だから、こう言えますよ」text is you
そしてゲーム内の言葉をコントロールします。それはゲームへの非常に論理的なメタレベルの追加でした」と彼は言います。
しかし、それよりもさらに根本的なのは、Baba Is You の言葉に対する深い遊び心は、固有の規則からオブジェクトを切り離すという彼の決断の結果です。捨てるという彼の決断とともにis not
ジャムの間、彼はまた、氷に固有の溶解性と溶岩に固有の熱を与えないことに決めました。代わりに、言葉によって定められた規則がこれらの性質を定義することになります。
これは、岩、壁、ケケ、ババなどのオブジェクトはすべて単なる視覚的なオブジェクトであり、それ以外の点では完全に相互に交換可能であることを意味します。 「ですから、望むだけ、どんなテーマでも追加できない理由はありません。それらはメカニズムにとって重要ではないからです。」
slip
オリジナルのジャム バージョンには含まれていたが、最終リリースには含まれていなかった単語の 1 つが次のとおりです。slip
。アイデアは、彼が含めたので、ice
, テイカリは、表面が滑りやすくなる可能性があると考えました。
しかしslip
多くの問題を引き起こした。 Baba Is You のコードの特定の部分は特に複雑です。レベル内の単語の配置を解釈して実装する方法を管理するルール システムは 1 つです。もう一つは移動系です。
動きは Baba Is You です。ターンベースのゲームでは物事が起こる順序を非常に正確にする必要があるため、難しいです。そして、オブジェクトを押し回すことができるものは特に注意が必要です。ただし、Baba Is You はオブジェクトが押すことができるゲームです別のオブジェクトなので、なおさらです。
したがって、テイカリ氏は、2 つの物体が異なる方向から押し可能な物体に近づいている場合、およびテレポート パッド上に同じく押し出されようとしている物体がある場合に何が起こるかを考える必要がありました。
「今でも、論理的に解決できず、恣意的に放置せざるを得なかった状況がいくつかあります」と彼は言います。他のゲームなど死の致命的な部屋ゲームの恣意的なルールをプレイヤーに明確にするターン順序インジケーターを備えていますが、Teikari は、Baba Is You でプレイヤーがそれほど専門的なことに関与する必要があることを望んでいませんでした。
「2 つのものが同時に動いているように見える場合でも、実際に動くようにできる限り実現したかったのです。それは多くの問題を引き起こしました。」
のアイデアslip
それは、滑りやすい表面上で動き始めた物体は、壁にぶつかるか、または何もない物質に到達するまで、その方向にしか進み続けることができないようにするというものでした。slip
財産。しかし、ゲームが正しい順序で物事を進めるのは「驚くほど困難」でした。オブジェクトがタイルに滑り込み、そのタイルに滑り込む別のオブジェクトが入り込もうとしている場合はどうなるでしょうか?どれがタイルに移動しますか?彼らは動き続けますか?プレイヤーは何が起こったのかを直感的に把握するにはどうすればよいでしょうか?
テイカリはそれを追求しないことにした。 「初期の頃は、そのような言葉をサポートするには動作システムがあまりにも脆弱でしたが、おそらく再度追加しようと考えています」slip
、今ではシステムはより堅牢になりました。」
back
テイカリは、オブジェクトの動きを巻き戻すことができる単語を追加することに興味を持っていました。rock is push
、移動してから設定しますrock is back
、岩は時間を逆行します。
「言葉を考えるとき、大部分はクールに聞こえる言葉を探すことでした。それでback
「」という言葉を追加するのは刺激的でしたが、実際に実行してみると、なかなか難しいものだったことは想像できると思います。」
バグや論理的な奇妙さ、例外的なケースは別として、back
また、パズルを解くのに、移動したり巻き戻したりする多忙な作業を必要とするパズルを導入する傾向がありました。そして、テスト担当者は、間違いを犯した場合はすべてやり直す必要があると指摘しました。
しかしテイカリは離れることができなかったback
一人で。彼は多忙な作業を最小限に抑えるレベルの設計を試みましたが、新たな問題に遭遇しました。鍵オブジェクトとドアがあり、鍵をドアに押し込んでドアを開け、鍵を破壊したとします。それからあなたはこう述べますkey is back
。
論理的な結果として、キーはリンボから取得されます。しかしゲームにとって、それは物事がかつて存在したことを記憶し、再び元に戻すことができるシステムを作成することを意味します。 「それはちょっと難しいことが分かりました。」
しかし、それでもテイカリはこれで十分ではありません。 「そのアイデアはクールすぎる」と彼は言う。 「おそらくもう一度試してみますが、今は保留中です。」
if
「おそらく、アイデアがあっても、それに伴う作業を理由にそれを実行できなかった最大の例は、if
」とテイカリは言います。 「でも、本当に言いたいのは、baba is you if rock is push
」
Baba Is You の言葉の一部により、彼は相互作用する方法を考慮して、既存のシステムに膨大なコードを追加することになりました。if
するだろうまたこれは、Teikari がすでに大きくて扱いにくいと感じているルール システムに、まったく新しいコードの塊を追加することを意味します。
でも、例えばback
、テイカリは考えずにはいられません。if
。 「少なくとも 2 年前からそれを考えていましたが、実際に追加してみる勇気はありませんでした。ファンが動作中に改造したと聞きましたif
条件付き、これはかなりクールです。私よりもはるかに優れたプログラマーはたくさんいるので、彼らがそれをやっているのはうれしいですが、少しうらやましくもあります。」
empty
テイカリが最初に考えたアイデアempty
言えることだったのかbaba is empty
そしてそれを消して、そして言うempty is baba
空いているスペースからババをたくさん出現させます。
しかしそれは、深いことについて考えなければならないことを意味しました。 「空虚の内部ロジックは何ですか?」テイカリは言う。
初期のゲームには空の概念がなかったため、彼は空を扱うすべてのコードを書かなければなりませんでした。empty
、 のようにempty is push
。 「押されているオブジェクトだけでなく空の空気もチェックする必要があるため、多くの追加コードが必要であることが判明しました。うまくいったときはとても満足でした。」
背後にある複雑さを理解するにはempty
、空のタイルを考えてみましょう。何かがそこに入るとき、空虚は消えます。ゲームジャムバージョンは次のようには動作しませんでした:empty is win
、馬場が空いたスペースに移動すれば勝ちです。
「テスターは、このようなことが起こるべきではないと指摘しました」とテイカリ氏は言います。なぜなら、ババが空いたスペースに入るとすぐに、そこはもう空ではなくなるからです。したがって、次の場合に勝つ唯一の方法はempty is win
述べることですempty is you
。
「これもまた根本的な設計上の決定であり、それを理解するまでに多くの時間がかかりました」とテイカリ氏は言います。 「実際、これは、異なる単語がどのように相互作用するかという設計上の問題にもつながりました。」空のタイルの上に立つことができないという概念は、ブロックのプロパティに応じて 2 つの方法でブロックを操作できるという事実を強調しました。
たとえば、次の場合rock is push
, ババは岩を押すことができます。しかし、ババとプッシュ可能な岩が同じタイルに住むことはできないため、プッシュは岩から 1 タイル離れたところで行われます。それでも、あなたが言うならば、rock is win
、岩の上に移動した場合にのみ勝ちます。
これらの奇妙な形而上学にこれほど深く没頭しなければならなかったことが、タイカリの気を散らしたのだろうか。そうではありませんでした。 「これまでゲーム プロジェクトに携わってきた中で、『Baba Is You』が最も楽しいと認めざるを得ません」と彼は言います。そして、論理的なウサギの穴を掘り下げた結果、より堅牢なシステムが生まれたことに満足しています。 「ゲーム システムが堅牢でダイナミックであることを知り、非常に満足しています。」
今後の公式レベルエディターをサポートするのに十分な堅牢性があり、Baba Is You の言葉はこれまでで最も困難な課題に直面することになります。