diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-06-14 06:13:48 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-06-14 06:13:48 +0900 |
| commit | bb357d58d3775ecace0745ca577cecc6b215522c (patch) | |
| tree | bad15aeffaf0d5cac4babc23d3247a48c4039df6 /vhosts/blog/public | |
| parent | cc3fba44dd6201ce7ba85cd073bddc0d90c84f37 (diff) | |
| download | nsfisis.dev-bb357d58d3775ecace0745ca577cecc6b215522c.tar.gz nsfisis.dev-bb357d58d3775ecace0745ca577cecc6b215522c.tar.zst nsfisis.dev-bb357d58d3775ecace0745ca577cecc6b215522c.zip | |
feat(blog/content): new post /posts/2025-06-14/baba-is-you/
Diffstat (limited to 'vhosts/blog/public')
37 files changed, 715 insertions, 2 deletions
diff --git a/vhosts/blog/public/atom.xml b/vhosts/blog/public/atom.xml index b0dcf3c5..89dbd384 100644 --- a/vhosts/blog/public/atom.xml +++ b/vhosts/blog/public/atom.xml @@ -7,7 +7,15 @@ <author> <name>nsfisis</name> </author> - <updated>2025-05-12T00:00:00+09:00</updated> + <updated>2025-06-14T00:00:00+09:00</updated> + <entry> + <id>urn:uuid:127019eb-e83f-4c9e-ab54-2021124f1bbb</id> + <link rel="alternate" href="https://blog.nsfisis.dev/posts/2025-06-14/baba-is-you/"></link> + <title>最高のパズルゲーム Baba Is You をやれ</title> + <summary>Baba Is You という最高のパズルゲームをクリアした。是非プレイしてほしい。</summary> + <published>2025-06-14T00:00:00+09:00</published> + <updated>2025-06-14T00:00:00+09:00</updated> + </entry> <entry> <id>urn:uuid:64f5e1a6-2f5c-4d5d-b1c8-8346a66c1d40</id> <link rel="alternate" href="https://blog.nsfisis.dev/posts/2025-05-05/make-tiny-self-hosted-c-compiler/"></link> diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/ADVENTURERS.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/ADVENTURERS.webp Binary files differnew file mode 100644 index 00000000..47f48301 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/ADVENTURERS.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/DUNGEON.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/DUNGEON.webp Binary files differnew file mode 100644 index 00000000..236d764c --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/DUNGEON.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/FURTHER_FIELDS.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/FURTHER_FIELDS.webp Binary files differnew file mode 100644 index 00000000..30719f5a --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/FURTHER_FIELDS.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_ADVENTURERS.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_ADVENTURERS.webp Binary files differnew file mode 100644 index 00000000..47f48301 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_ADVENTURERS.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_BABA_IS_YOU.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_BABA_IS_YOU.webp Binary files differnew file mode 100644 index 00000000..68e091ea --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_BABA_IS_YOU.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_BOOBY_TRAP.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_BOOBY_TRAP.webp Binary files differnew file mode 100644 index 00000000..a6c0ff1b --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_BOOBY_TRAP.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_BOTTLENECK.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_BOTTLENECK.webp Binary files differnew file mode 100644 index 00000000..79c63dc6 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_BOTTLENECK.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_CONCRETE_GOALS.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_CONCRETE_GOALS.webp Binary files differnew file mode 100644 index 00000000..47a74c35 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_CONCRETE_GOALS.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_CRUSHERS.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_CRUSHERS.webp Binary files differnew file mode 100644 index 00000000..0814e04f --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_CRUSHERS.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_DUNGEON.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_DUNGEON.webp Binary files differnew file mode 100644 index 00000000..236d764c --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_DUNGEON.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_FLOATIEST_PLATFORMS.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_FLOATIEST_PLATFORMS.webp Binary files differnew file mode 100644 index 00000000..e4da6cdf --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_FLOATIEST_PLATFORMS.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_FRAGILE_EXISTENCE.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_FRAGILE_EXISTENCE.webp Binary files differnew file mode 100644 index 00000000..329be2a1 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_FRAGILE_EXISTENCE.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_FURTHER_FIELDS.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_FURTHER_FIELDS.webp Binary files differnew file mode 100644 index 00000000..30719f5a --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_FURTHER_FIELDS.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_GETTING_TOGETHER.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_GETTING_TOGETHER.webp Binary files differnew file mode 100644 index 00000000..55dde4af --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_GETTING_TOGETHER.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_HEAVY_CLOUD.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_HEAVY_CLOUD.webp Binary files differnew file mode 100644 index 00000000..2dad6ae1 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_HEAVY_CLOUD.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_INSULATION.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_INSULATION.webp Binary files differnew file mode 100644 index 00000000..18f8c5cb --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_INSULATION.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_LOCK_THE_DOOR.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_LOCK_THE_DOOR.webp Binary files differnew file mode 100644 index 00000000..80214bee --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_LOCK_THE_DOOR.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_METEOR_STRIKE.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_METEOR_STRIKE.webp Binary files differnew file mode 100644 index 00000000..86683ffd --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_METEOR_STRIKE.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_OUT_AT_SEA.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_OUT_AT_SEA.webp Binary files differnew file mode 100644 index 00000000..904064fb --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_OUT_AT_SEA.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_PARADE.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_PARADE.webp Binary files differnew file mode 100644 index 00000000..3c7baa7c --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_PARADE.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_PRISON.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_PRISON.webp Binary files differnew file mode 100644 index 00000000..d51b1f35 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_PRISON.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SCENIC_POND.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SCENIC_POND.webp Binary files differnew file mode 100644 index 00000000..187f3393 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SCENIC_POND.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SEEKING_ACCEPTANCE.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SEEKING_ACCEPTANCE.webp Binary files differnew file mode 100644 index 00000000..41427e3c --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SEEKING_ACCEPTANCE.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_STARDROP.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_STARDROP.webp Binary files differnew file mode 100644 index 00000000..85d4d2ac --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_STARDROP.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SUBMERGED_RUINS.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SUBMERGED_RUINS.webp Binary files differnew file mode 100644 index 00000000..586d32c2 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SUBMERGED_RUINS.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SUNKEN_TEMPLE.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SUNKEN_TEMPLE.webp Binary files differnew file mode 100644 index 00000000..8700efc7 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_SUNKEN_TEMPLE.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_THE_BOX.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_THE_BOX.webp Binary files differnew file mode 100644 index 00000000..b334ef6e --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_THE_BOX.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_THE_RETURN_OF_SCENIC_POND.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_THE_RETURN_OF_SCENIC_POND.webp Binary files differnew file mode 100644 index 00000000..8b5ef0d2 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_THE_RETURN_OF_SCENIC_POND.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_ULTIMATE_MAZE.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_ULTIMATE_MAZE.webp Binary files differnew file mode 100644 index 00000000..3ba2051d --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_ULTIMATE_MAZE.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_VIP_AREA.webp b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_VIP_AREA.webp Binary files differnew file mode 100644 index 00000000..7d8b0f66 --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/LEVEL_VIP_AREA.webp diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/index.html b/vhosts/blog/public/posts/2025-06-14/baba-is-you/index.html new file mode 100644 index 00000000..bbc5db2d --- /dev/null +++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/index.html @@ -0,0 +1,587 @@ +<!DOCTYPE html> +<html lang="ja-JP"> + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="author" content="nsfisis"> + <meta name="copyright" content="© 2025 nsfisis"> + <meta name="description" content="Baba Is You という最高のパズルゲームをクリアした。是非プレイしてほしい。"> + <meta name="keywords" content="ゲーム"> + <meta property="og:type" content="article"> + <meta property="og:title" content="最高のパズルゲーム Baba Is You をやれ|REPL: Rest-Eat-Program Loop"> + <meta property="og:description" content="Baba Is You という最高のパズルゲームをクリアした。是非プレイしてほしい。"> + <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop"> + <meta property="og:locale" content="ja_JP"> + <link rel="icon" type="image/svg+xml" href="/favicon.svg"> + <title>最高のパズルゲーム Baba Is You をやれ|REPL: Rest-Eat-Program Loop</title> + <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc"> + </head> + <body class="single"> + <header class="header"> + <div class="site-logo"> + <a href="/">REPL: Rest-Eat-Program Loop</a> + </div> + <nav class="nav"> + <ul> + <li> + <a href="/about/">About</a> + </li> + <li> + <a href="/posts/">Posts</a> + </li> + <li> + <a href="/slides/">Slides</a> + </li> + <li> + <a href="/tags/">Tags</a> + </li> + </ul> + </nav> + </header> + <main class="main"> + <article class="post-single"> + <header class="post-header"> + <h1 class="post-title">最高のパズルゲーム Baba Is You をやれ</h1> + <ul class="post-tags"> + <li class="tag"> + <a href="/tags/game/">ゲーム</a> + </li> + </ul> + </header> + <div class="post-content"> + <section id="changelog"> + <h2><a href="#changelog">更新履歴</a></h2> + <ol> + <li class="revision"> + <time datetime="2025-06-14">2025-06-14</time>: 公開 + </li> + </ol> + </section> + <section id="section--intro"> + <h2><a href="#section--intro">Baba Is You とは</a></h2> + <p> + <a href="https://www.hempuli.com/baba/" rel="noreferrer" target="_blank">Baba Is You</a> という倉庫番系パズルゲームがある。 私がこれまでプレイしたことのあるパズルゲームの中で、間違いなく最高のパズルゲームだと断言できる。 これより面白いパズルゲームを知っている人は、絶対に買うので教えてほしい。 + </p> + <p> + すでに押しも押されもせぬ傑作としての名をほしいままにする本作だが、名作の感想はいくつあってもいいので書く。 + </p> + <p> + 前半はネタバレなし、後半はネタバレありで書くので、プレイしていない人は前半まで読んだら閉じてほしい。 + </p> + </section> + <section id="section--no-spoiler"> + <h2><a href="#section--no-spoiler">前半 (ネタバレなし)</a></h2> + <section id="section--no-spoiler--what-is-baba-is-you"> + <h3><a href="#section--no-spoiler--what-is-baba-is-you">どういうゲームか?</a></h3> + <p> + Baba Is You はいわゆる倉庫番パズルの一種である。 2D のグリッドで操作キャラを動かし、アイテムを押して動かすことでパズルを解く。 + </p> + <p> + Baba Is You の特異な点は、倉庫番のルールが盤面上で動かせるオブジェクトとして配置してある点にある。 これは Baba Is You の一番最初の面である。 + </p> + <p> + <img alt="最初の面「BABA IS YOU」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_BABA_IS_YOU.webp"> + </img> + </p> + <p> + ここには次のようなルールがある。 + </p> + <ul> + <li> + <code>BABA</code> <code>IS</code> <code>YOU</code> + <ul> + <li> + Baba はあなた (操作キャラ) + </li> + </ul> + </li> + <li> + <code>ROCK</code> <code>IS</code> <code>PUSH</code> + <ul> + <li> + 岩は押せる + </li> + </ul> + </li> + <li> + <code>WALL</code> <code>IS</code> <code>STOP</code> + <ul> + <li> + 壁は止まる (押せない) + </li> + </ul> + </li> + <li> + <code>FLAG</code> <code>IS</code> <code>WIN</code> + <ul> + <li> + 旗は勝ち + </li> + </ul> + </li> + </ul> + <p> + 最初の状態では、<code>YOU</code> である baba (うさぎや猫のような白い生き物) が <code>WIN</code> である旗に触れることで勝利条件を満たしクリアとなる。 + </p> + <p> + これらのルールを構成しているテキストを押して動かすことで、ルールをさまざまに変化させることができる。 この面なら一例として次のようなルールが作れるだろう。 + </p> + <ul> + <li> + <code>FLAG</code> <code>IS</code> <code>YOU</code> + <ul> + <li> + 旗が操作キャラになり、キー入力で動かせる + </li> + </ul> + </li> + <li> + <code>ROCK</code> <code>IS</code> <code>STOP</code> + <ul> + <li> + 岩が押せなくなる + </li> + </ul> + </li> + <li> + <code>BABA</code> <code>IS</code> <code>WALL</code> + <ul> + <li> + Baba が壁へと変化し、操作不能になる + <ul> + <li> + <code>WALL</code> <code>IS</code> <code>YOU</code> を同時に作っていればその限りでない! + </li> + </ul> + </li> + </ul> + </li> + </ul> + <p> + この「ルール自体を変えられる」という性質により、パズルの難易度・複雑さが大きく上がっている。 プレイヤーは、どのオブジェクトを <code>YOU</code> にするのか、<code>WIN</code> にすべきは何か、どれに <code>PUSH</code> を付けるべきか、いつどの順番でルールを変えるのか、今の手札で作れるルールは何か等と悩みながら、次第に難しくなるパズルと格闘しなければならない。 + </p> + </section> + <section id="section--no-spoiler--play-time-and-difficulty"> + <h3><a href="#section--no-spoiler--play-time-and-difficulty">ゲームのボリューム・難易度</a></h3> + <p> + 遊べる面の数は「200 以上」ある (Steam ストアページの表記より引用。正確な個数はここでは控える)。 ただしこれは追加 DLC の分を含んでいないので、実際には更に大量にある。 + </p> + <p> + パズルゲームなのでプレイ時間には大きくブレがあるだろうが、私の場合はノーヒントで 75 時間弱だった。 ゲーム画面を閉じて紙とペンで考えていた時間を含めれば、+10~+20時間といったところだろうか。 + </p> + <p> + パズルの難易度はべらぼうに高い。 ひとつ解くのに数時間かかったり、数日間ひとつも解けなかったりするのはよくある (あくまで全クリを目指す場合)。 + </p> + <p> + 完全クリア以外にもいくつかマイルストーンはあるので、それを目指すのもありだろう。 + </p> + </section> + <section id="section--no-spoiler--appeal"> + <h3><a href="#section--no-spoiler--appeal">魅力</a></h3> + <p> + 何がこのゲームを傑作たらしめているのか。 + </p> + <section id="section--no-spoiler--appeal--very-difficult"> + <h4><a href="#section--no-spoiler--appeal--very-difficult">高い難易度</a></h4> + <p> + すでに書いたが、このゲームは非常に難しい。 ゲームのルールを変えられると聞くと、何でもありの大味なプレイ体験かのように思えるかもしれない。 しかし、適当にルールを弄り回して解けるような面は最序盤くらいにしかなく、ゲームが進んでいくと総当たりすら困難になっていく。 解けない、やれることは全部試したはずだ、ゴールから逆算してもこれ以外ありえないのに実現できない、とにかく解けない。 何度もそう思うことになるだろう。 + </p> + <p> + それにもかかわらず、理不尽だと感じることは驚くほど少ない。 隠された法則・秘密のルールがないというわけではない。 最初の面を再び例に出そう。 <code>ROCK</code> <code>IS</code> <code>PUSH</code> と <code>ROCK</code> <code>IS</code> <code>STOP</code> を同時に成立させたら、岩は押せるのか押せないのか。 <code>PUSH</code> と <code>STOP</code> の優先順は言葉で説明されるわけではないし、自分で試して規則を発見することが求められる。 しかし、実際にゲーム上で試しさえすれば、その規則は明らかな結果となってプレイヤーへと提示されるのである。 これを繰り返すことで、プレイヤーは単語ごとの挙動を、そして Baba Is You を理解していく。 + </p> + <p> + この特徴により、その難易度に比して理不尽さが大きく低減されていると感じる。 + </p> + </section> + <section id="section--no-spoiler--appeal--very-flexible"> + <h4><a href="#section--no-spoiler--appeal--very-flexible">新しい単語との出会い</a></h4> + <p> + このゲームには <code>PUSH</code>、<code>STOP</code>、<code>WIN</code>、<code>YOU</code> 以外にもさまざまな単語がある。 新しい単語が導入されるときは大抵チュートリアル用の簡単な面が用意されており、プレイヤーはそこで新単語を使っていろいろと実験をすることになる。 + </p> + <p> + それらの単語の中には、一目で「危険」だとわかる奴らがいる。 <code>YOU</code> や <code>WIN</code> は最初からいる連中だが、普通のパズルゲームなら操作キャラや勝利条件を変えられるだけでもとんでもないルールブレイカーだろう。 + </p> + <p> + 危険な匂いのする単語と出会ったときの「こんな単語を許したらとんでもないことになるぞ」という感覚は実際にプレイしなければ味わえない。 + </p> + </section> + <section id="section--no-spoiler--appeal--very-beautiful"> + <h4><a href="#section--no-spoiler--appeal--very-beautiful">美しいパズル</a></h4> + <p> + 私が大好きなとある面の話をしよう。 この面は最終盤に出現する。 これは序中盤で出てきたとある面のリメイクであり、ほんの少しだけ手が加えられている。 オリジナルとリメイク版の差分は1マスの窪みがあるかないか。 この一つの差分だけで、難易度が劇的に上昇している。 片や特筆することのない印象の薄い面、片やゲーム内屈指の高難易度面である。 最終盤にあるがゆえになんとか解けるものの、もし配置順が入れ替わりでもしようものなら (難易度の差を考えれば絶対にありえないことだが)、ほとんどのプレイヤーがここで諦めるだろう。 + </p> + <p> + これを解いたときは、たった1マスの差でこれだけ難しくできるものなのかと感動した。 他にも似たような例はいくつもある。 素晴しい出来の美しいパズルに何度も何度も出会うことができる。 + </p> + </section> + </section> + <section id="section--no-spoiler--play-now"> + <h3><a href="#section--no-spoiler--play-now">Baba Is You をやれ</a></h3> + <p> + Baba Is You は最高のパズルゲームである。 + </p> + <p> + お世辞にも簡単だとは言えないが、苦しむ価値のあるゲームである。 + </p> + <p> + この次のセクションからはネタバレありの感想を書くが、プレイしていない人はもちろん、プレイ中で完全クリアしていない人も読まないことを勧める。 その価値があるゲームだと保証する。 + </p> + </section> + </section> + <section id="section--spoiler"> + <h2><a href="#section--spoiler">後半 (ネタバレあり)</a></h2> + <p> + ではここからは完全クリアしたプレイヤーに向けて話そう。 + </p> + <p> + ここでいう「完全クリア」はレベルパックの「Baba Is You」(いわゆる本編) に用意されているパズルをすべて解いた状態を指すことにする。 Steam の場合、全実績解除と読み替えてもよい。 すなわち、「Museum」や「New Adventures」を含まない。 + </p> + <section id="section--spoiler--notation"> + <h3><a href="#section--spoiler--notation">表記</a></h3> + <p> + ゲーム上のオブジェクトについて次のように表記することにする。 + </p> + <ul> + <li> + <code>BABA</code>: テキストとしての <code>BABA</code> + </li> + <li> + Baba: オブジェクトとしての baba + </li> + <li> + <code>A</code>、<code>B</code> など: 任意のテキスト + <ul> + <li> + そういうテキストが出てくる面もあるがその面の話はしない + </li> + </ul> + </li> + <li> + A、B など: 任意のオブジェクト + </li> + <li> + <code>A/B</code>: <code>A</code> と <code>B</code> のテキストが重なった状態 + </li> + </ul> + <p> + また、個々のパズルのことはここまでと同様に「面」と呼ぶことにする。 「<code>LEVEL</code> というテキストが指すゲーム上のオブジェクト」は「level」と書く。 + </p> + </section> + <section id="section--spoiler--impressive-levels"> + <h3><a href="#section--spoiler--impressive-levels">印象的な面</a></h3> + <p> + ここからは印象的な面を語っていく。 + </p> + <section id="section--spoiler--impressive-levels--map"> + <h4><a href="#section--spoiler--impressive-levels--map">MAP</a></h4> + <section id="section--spoiler--impressive-levels--map--submerged-ruins-and-sunken-temple"> + <h5><a href="#section--spoiler--impressive-levels--map--submerged-ruins-and-sunken-temple">SUBMERGED RUINS、SUNKEN TEMPLE</a></h5> + <p> + <img alt="「SUBMERGED RUINS」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_SUBMERGED_RUINS.webp"> + </img> + + <img alt="「SUNKEN TEMPLE」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_SUNKEN_TEMPLE.webp"> + </img> + </p> + <p> + ここまでスルスル解けていて初めてしばらく止まった面。 また、苦戦して解いた次の面がその面の派生で絶望するという経験をした最初の面。 この瞬間が苦しくもあり楽しくもある。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--prison-and-dungeon"> + <h5><a href="#section--spoiler--impressive-levels--map--prison-and-dungeon">PRISON、DUNGEON</a></h5> + <p> + <img alt="「PRISON」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_PRISON.webp"> + </img> + + <img alt="「DUNGEON」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_DUNGEON.webp"> + </img> + </p> + <p> + 高難易度面で当然のように要求されるテクニックの初出。 可能な行動が大きく制限されているのでマシだが、それでも初見時には困惑した。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--further-fields"> + <h5><a href="#section--spoiler--impressive-levels--map--further-fields">FURTHER FIELDS</a></h5> + <p> + <img alt="「FURTHER FIELDS」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_FURTHER_FIELDS.webp"> + </img> + </p> + <p> + お気に入りの面。 <code>MOVE</code> を活用するのも <code>YOU</code> を一時的に消すのも好きなので、両方出てくるこの面は大好き。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--scenic-pond"> + <h5><a href="#section--spoiler--impressive-levels--map--scenic-pond">SCENIC POND</a></h5> + <p> + <img alt="「SCENIC POND」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_SCENIC_POND.webp"> + </img> + </p> + <p> + はい。まあこいつは後で触れることにしよう。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--concrete-goals"> + <h5><a href="#section--spoiler--impressive-levels--map--concrete-goals">CONCRETE GOALS</a></h5> + <p> + <img alt="「CONCRETE GOALS」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_CONCRETE_GOALS.webp"> + </img> + </p> + <p> + これも初見時に苦戦した面。 PRISON などと同様に一度理解すれば何ということのない面だが、最初に解けたときは偶然だった。 <code>FLAG</code> <code>IS</code> <code>WIN</code> がギリギリ取り出せそうに「見える」のが嫌らしい。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--lock-the-door"> + <h5><a href="#section--spoiler--impressive-levels--map--lock-the-door">LOCK THE DOOR</a></h5> + <p> + <img alt="「LOCK THE DOOR」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_LOCK_THE_DOOR.webp"> + </img> + </p> + <p> + <code>SHIFT</code> 重ねの初出面。 このテクニックを再び使うのは終盤になってからであり、私はそのときにはもう <code>SHIFT</code> 重ねを忘れていたので大苦戦した。 戯れにスロット2を使って2周目をやっていてこの面まで到達し、そこでようやく <code>SHIFT</code> 重ねが <code>MOVE</code> もどきになることを思い出した。 その意味でも印象深い面。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--insulation"> + <h5><a href="#section--spoiler--impressive-levels--map--insulation">INSULATION</a></h5> + <p> + <img alt="「INSULATION」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_INSULATION.webp"> + </img> + </p> + <p> + MAP の前半 (~DEEP FOREST) では最も苦戦した面。 <code>SWAP</code> の理解が固まっておらず、「こういう状況が作れたら解けそうだ」という勘が働かなかった。 正直なところ <code>SWAP</code> は今も苦手意識がある (終盤で強制的に学ばされる <code>SHIFT</code> と違って、それほど高難度面での出番がないのも大きいと思う)。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--bottleneck"> + <h5><a href="#section--spoiler--impressive-levels--map--bottleneck">BOTTLENECK</a></h5> + <p> + <img alt="「BOTTLENECK」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_BOTTLENECK.webp"> + </img> + </p> + <p> + MAP の中で一番苦しんだ面。 実は一度ここで投げて諦めたのだが、<code>EMPTY</code> を理解した今となっては脳内でも瞬殺できるくらい簡単になってしまった。 最初に面を見てから解き終わるまでの時間は間違いなく最長で、半年以上かかっている (他は長くとも数日間)。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--heavy-cloud"> + <h5><a href="#section--spoiler--impressive-levels--map--heavy-cloud">HEAVY CLOUD</a></h5> + <p> + <img alt="「HEAVY CLOUD」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_HEAVY_CLOUD.webp"> + </img> + </p> + <p> + 難しい面ではあるのだが、それ以上に解法の美しさに感動した面。 解き終わった後に思わず「美しい……」と呟いてしまったのはこの面だけだった。 Baba Is You の好きな面はと聞かれれば真っ先にこれを挙げる。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--adventurers"> + <h5><a href="#section--spoiler--impressive-levels--map--adventurers">ADVENTURERS</a></h5> + <p> + <img alt="「ADVENTURERS」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_ADVENTURERS.webp"> + </img> + </p> + <p> + 難所の多い FLOWER GARDEN の癒し。Hand が <code>MOVE</code> と <code>SHIFT</code> でガチャガチャ動くのを見るのが楽しい。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--out-at-sea"> + <h5><a href="#section--spoiler--impressive-levels--map--out-at-sea">OUT AT SEA</a></h5> + <p> + <img alt="「OUT AT SEA」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_OUT_AT_SEA.webp"> + </img> + </p> + <p> + MAP の問題児。正攻法がテキスト重ねである最初の面。 この面、<code>ICE/LAVA</code> <code>IS</code> <code>PUSH</code> を作ったあと重なった ice と lava を (<code>ICE</code> <code>IS</code> <code>PUSH</code> だけ作るなどして) 分離しないといけないのだが、意気揚々と ice on lava の状態で door に向かって push して push できなかったときの感情はよく覚えている。 テキスト同士を重ねて <code>A</code> <code>IS</code> <code>PUSH</code> と <code>B</code> <code>IS</code> <code>PUSH</code> を両立させるというぶっ飛んだアイデアを実現してもなお解けないのか、この方針がまさか間違っているなどということがあるのか、いやそんなはずはない……。 実際のところそこからのリカバリーはすぐできたが、そのときの絶望はこれまででも最大であった。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--seeking-acceptance"> + <h5><a href="#section--spoiler--impressive-levels--map--seeking-acceptance">SEEKING ACCEPTANCE</a></h5> + <p> + <img alt="「SEEKING ACCEPTANCE」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_SEEKING_ACCEPTANCE.webp"> + </img> + </p> + <p> + ここも好きな面。 FURTHER FIELDS の精神的後継のようなものなので当然かもしれない。 せっせと働く bird がかわいい。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--fragile-existence"> + <h5><a href="#section--spoiler--impressive-levels--map--fragile-existence">FRAGILE EXISTENCE</a></h5> + <p> + <img alt="「FRAGILE EXISTENCE」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_FRAGILE_EXISTENCE.webp"> + </img> + </p> + <p> + MAP の印象的な面と言えば、これを取り上げないわけにはいかない。 <code>LEVEL</code> <code>IS</code> <code>A</code> による level の変換がおこなえる初の面である。 ここまで Baba Is You を進めたプレイヤーであれば、初出のテキストが現れたらまずはその場の色々なテキストと組み合わせてみて相互作用を確認する。 それを見事に利用されたというか、気付かずにはいられないように仕向けられているというか、本当によくできたゲームである。 + </p> + </section> + <section id="section--spoiler--impressive-levels--map--map"> + <h5><a href="#section--spoiler--impressive-levels--map--map">MAP</a></h5> + <p> + MAP 自身。FRAGILE EXISTENCE でそれに気付いたなら当然 HOSTILE ENVIRONMENT でも気付くし、MAP で baba が操作できることに気付いたならもちろん右下のルールに目を向ける。 次に考えるのは無論こうだ。ここで flag を取ったらどうなるんだ? このゲームはその疑問に答えてくれる。期待をはるかに上回る形で。 + </p> + <p> + ??? でまたしても待ち構える <code>BABA</code> <code>IS</code> <code>YOU</code> と不穏な <code>LEVEL</code> のテキスト、そして GLITCH の <code>W</code> <code>E</code> <code>L</code> <code>C</code> <code>O</code> <code>M</code> <code>E</code>。 間違いなく最高のパズルゲームだと確信した。 + </p> + </section> + </section> + <section id="section--spoiler--impressive-levels--triple-question"> + <h4><a href="#section--spoiler--impressive-levels--triple-question">???</a></h4> + <section id="section--spoiler--impressive-levels--triple-question--vip-area"> + <h5><a href="#section--spoiler--impressive-levels--triple-question--vip-area">VIP AREA</a></h5> + <p> + <img alt="「VIP AREA」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_VIP_AREA.webp"> + </img> + </p> + <p> + ??? で大いに苦戦した面のひとつ。 PRISON と DUNGEON で既出のテクニックが肝だが、ちと離れすぎじゃないのか。 この面のリメイクもあるが、ここで苦しんだからかそちらはあまり苦戦しなかった。 + </p> + </section> + <section id="section--spoiler--impressive-levels--triple-question--ultimate-maze"> + <h5><a href="#section--spoiler--impressive-levels--triple-question--ultimate-maze">ULTIMATE MAZE</a></h5> + <p> + <img alt="「ULTIMATE MAZE」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_ULTIMATE_MAZE.webp"> + </img> + </p> + <p> + 普通に解くだけなら大したことのない面だが、問題はこれの <code>LEVEL</code> <code>IS</code> <code>TEXT</code> 解である。 出現順に書いているのでここに置いたが、解いたのはもっと後、META の後半に差しかかった頃になる。 ??? コンプリートの実績が取れていないことに気付き、残っているとすればここの <code>LEVEL</code> <code>IS</code> <code>TEXT</code> しかないと考えたまではよかったが、そこからが大変だった。 個人的にこのゲームで一番苦しかったのがここの <code>TEXT</code> 変換解である。 単純な難しさに加え、実績が取れていない原因がこの面だという確信も持てなかったので、解けるかどうかわからない状態で挑み続けることとなり疲弊した。 + </p> + </section> + <section id="section--spoiler--impressive-levels--triple-question--stardrop-and-meteor-strike"> + <h5><a href="#section--spoiler--impressive-levels--triple-question--stardrop-and-meteor-strike">STARDROP、METEOR STRIKE</a></h5> + <p> + <img alt="「STARDROP」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_STARDROP.webp"> + </img> + + <img alt="「METEOR STRIKE」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_METEOR_STRIKE.webp"> + </img> + </p> + <p> + 両方とも難しい面ではあったが、単文字のテキストが綺麗に活用された美しい面として印象に残っている。 <code>G</code> <code>R</code> <code>A</code> <code>S</code> <code>S</code> <code>IS</code> <code>H</code> <code>O</code> <code>T</code> をこれほど無駄なく使えるとは! + </p> + </section> + <section id="section--spoiler--impressive-levels--triple-question--getting-together"> + <h5><a href="#section--spoiler--impressive-levels--triple-question--getting-together">GETTING TOGETHER</a></h5> + <p> + <img alt="「GETTING TOGETHER」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_GETTING_TOGETHER.webp"> + </img> + </p> + <p> + 初見のインパクト大にして難易度も相応に高い良作。 この頃はまだ <code>SHIFT</code> を<em>理解</em>していなかったので大変だったが、ここを越えたことでむしろこの後の難所が楽になったと言える。 + </p> + </section> + </section> + <section id="section--spoiler--impressive-levels--depths"> + <h4><a href="#section--spoiler--impressive-levels--depths">DEPTHS</a></h4> + <p> + ??? といういかにもクリア後のオマケっぽい名前のマップを攻略したらまだまだ深淵が待ち構えていた。 + </p> + <section id="section--spoiler--impressive-levels--depths--crushers"> + <h5><a href="#section--spoiler--impressive-levels--depths--crushers">CRUSHERS</a></h5> + <p> + <img alt="「CRUSHERS」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_CRUSHERS.webp"> + </img> + </p> + <p> + DEPTHS の序盤で道を塞いでいる必須面であるにもかかわらず圧倒的難易度で立ちはだかる凶悪な面。 大苦戦した挙句 <code>LEVEL</code> <code>IS</code> <code>BELT</code> を作ってアレ?となったのは私だけではないはず。 + </p> + </section> + <section id="section--spoiler--impressive-levels--depths--parade"> + <h5><a href="#section--spoiler--impressive-levels--depths--parade">PARADE</a></h5> + <p> + <img alt="「PARADE」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_PARADE.webp"> + </img> + </p> + <p> + 取れる行動が多いこと、もう少しで解けそうなルートが多いこと、そのどれもが一筋縄ではいかないこと。 それらがすべて揃った高難度面。 昔のバージョンでは ??? に置いてあったらしい。そんなバカな。 + </p> + </section> + </section> + <section id="section--spoiler--impressive-levels--meta"> + <h4><a href="#section--spoiler--impressive-levels--meta">META</a></h4> + <p> + ここではもう覚悟していたので続きがあることには驚かなかったが、明らかに不穏な <code>CURSOR</code> に震えつつ先へ進むことになる。 + </p> + <section id="section--spoiler--impressive-levels--meta--booby-trap"> + <h5><a href="#section--spoiler--impressive-levels--meta--booby-trap">BOOBY TRAP</a></h5> + <p> + <img alt="「BOOBY TRAP」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_BOOBY_TRAP.webp"> + </img> + </p> + <p> + 難しいとか難しくないとかじゃなくここは触れざるをえない。 <code>FLAG/TEXT</code> 解以外はそれほど苦戦しなかったが、とにもかくにもクリアの要求回数が多すぎる。 もちろん最短で進められるなら別だが、META での試行錯誤のためにはこいつの形を毎回変えなければならない。 しかもどの変換もそれなりにステップ数を要するのが厄介である。 印象に残った面であるのは確か。 + </p> + </section> + <section id="section--spoiler--impressive-levels--meta--the-box"> + <h5><a href="#section--spoiler--impressive-levels--meta--the-box">THE BOX</a></h5> + <p> + <img alt="「THE BOX」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_THE_BOX.webp"> + </img> + </p> + <p> + よくぞこの面を作ってくれた。 外の level を参照させるギミックは、<code>LEVEL</code> <code>IS</code> <code>A</code> の変換をやりだした頃からいつかあるはずと思っていたので、そのとおりのパズルが出てきてくれて嬉しい。 これぞ Baba Is You。 + </p> + </section> + <section id="section--spoiler--impressive-levels--meta--the-return-of-scenic-pond"> + <h5><a href="#section--spoiler--impressive-levels--meta--the-return-of-scenic-pond">THE RETURN OF SCENIC POND</a></h5> + <p> + <img alt="「THE RETURN OF SCENIC POND」のスクリーンショット" src="/posts/2025-06-14/baba-is-you/LEVEL_THE_RETURN_OF_SCENIC_POND.webp"> + </img> + </p> + <p> + 前半のネタバレなし感想にも書いたが、これは SCENIC POND のリメイクであり、ほとんど差異がない。 たった1マス窪みが無くなっただけである。 それだけでここまで難しくできるのか。 + </p> + <p> + 最終盤に配置されていたことで難易度の割には苦戦しなかったが、難易度以上にリメイクの美しさに感動した面。 + </p> + </section> + </section> + </section> + <section id="section--spoiler--difficult-levels"> + <h3><a href="#section--spoiler--difficult-levels">初見時難易度ランキング</a></h3> + <p> + 最後に、初見時の難易度を 10 位までランキングにしてみた。 あくまで初見のときの難易度なので、面自体の難易度ではない。 解くのにかかった時間とも少し違う。 あえて言うなら苦しんだ順。 + </p> + <ol> + <li> + ULTIMATE MAZE (<code>TEXT</code> 解) + </li> + <li> + CRUSHERS (<code>TEXT</code> 解) + </li> + <li> + PARADE + </li> + <li> + BOTTLENECK + </li> + <li> + BOOBY TRAP (<code>FLAG/TEXT</code> 解) + </li> + <li> + THE RETURN OF SCENIC POND + </li> + <li> + OUT AT SEA + </li> + <li> + GETTING TOGETHER + </li> + <li> + VIP AREA + </li> + <li> + STARDROP + </li> + </ol> + </section> + </section> + <section id="section--outro"> + <h2><a href="#section--outro">おわりに</a></h2> + <p> + 神ゲー。プレイ済みの人は会ったとき一番好きな面の話でもしましょう。 + </p> + </section> + </div> + </article> + </main> + <footer class="footer"> + © 2021 nsfisis + </footer> + </body> +</html> diff --git a/vhosts/blog/public/posts/atom.xml b/vhosts/blog/public/posts/atom.xml index 8b0748d3..42a3a385 100644 --- a/vhosts/blog/public/posts/atom.xml +++ b/vhosts/blog/public/posts/atom.xml @@ -7,7 +7,15 @@ <author> <name>nsfisis</name> </author> - <updated>2025-05-12T00:00:00+09:00</updated> + <updated>2025-06-14T00:00:00+09:00</updated> + <entry> + <id>urn:uuid:127019eb-e83f-4c9e-ab54-2021124f1bbb</id> + <link rel="alternate" href="https://blog.nsfisis.dev/posts/2025-06-14/baba-is-you/"></link> + <title>最高のパズルゲーム Baba Is You をやれ</title> + <summary>Baba Is You という最高のパズルゲームをクリアした。是非プレイしてほしい。</summary> + <published>2025-06-14T00:00:00+09:00</published> + <updated>2025-06-14T00:00:00+09:00</updated> + </entry> <entry> <id>urn:uuid:64f5e1a6-2f5c-4d5d-b1c8-8346a66c1d40</id> <link rel="alternate" href="https://blog.nsfisis.dev/posts/2025-05-05/make-tiny-self-hosted-c-compiler/"></link> diff --git a/vhosts/blog/public/posts/index.html b/vhosts/blog/public/posts/index.html index af2b8d3a..dfc90a26 100644 --- a/vhosts/blog/public/posts/index.html +++ b/vhosts/blog/public/posts/index.html @@ -43,6 +43,21 @@ <h1>投稿一覧</h1> </header> <article class="post-entry"> + <a href="/posts/2025-06-14/baba-is-you/"> + <header class="entry-header"> + <h2>最高のパズルゲーム Baba Is You をやれ</h2> + </header> + <section class="entry-content"> + <p> + Baba Is You という最高のパズルゲームをクリアした。是非プレイしてほしい。 + </p> + </section> + <footer class="entry-footer"> + <time datetime="2025-06-14">2025-06-14</time> 投稿 + </footer> + </a> + </article> + <article class="post-entry"> <a href="/posts/2025-05-05/make-tiny-self-hosted-c-compiler/"> <header class="entry-header"> <h2>セルフホスト可能な C コンパイラを作った</h2> diff --git a/vhosts/blog/public/tags/game/atom.xml b/vhosts/blog/public/tags/game/atom.xml new file mode 100644 index 00000000..aef34ab8 --- /dev/null +++ b/vhosts/blog/public/tags/game/atom.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <id>tag:blog.nsfisis.dev,2021:tag-game</id> + <title>タグ「ゲーム」一覧|REPL: Rest-Eat-Program Loop</title> + <link rel="alternate" href="https://blog.nsfisis.dev/tags/game/"></link> + <link rel="self" href="https://blog.nsfisis.dev/tags/game/atom.xml"></link> + <author> + <name>nsfisis</name> + </author> + <updated>2025-06-14T00:00:00+09:00</updated> + <entry> + <id>urn:uuid:127019eb-e83f-4c9e-ab54-2021124f1bbb</id> + <link rel="alternate" href="https://blog.nsfisis.dev/posts/2025-06-14/baba-is-you/"></link> + <title>最高のパズルゲーム Baba Is You をやれ</title> + <summary>Baba Is You という最高のパズルゲームをクリアした。是非プレイしてほしい。</summary> + <published>2025-06-14T00:00:00+09:00</published> + <updated>2025-06-14T00:00:00+09:00</updated> + </entry> +</feed> diff --git a/vhosts/blog/public/tags/game/index.html b/vhosts/blog/public/tags/game/index.html new file mode 100644 index 00000000..32cd45d8 --- /dev/null +++ b/vhosts/blog/public/tags/game/index.html @@ -0,0 +1,66 @@ +<!DOCTYPE html> +<html lang="ja-JP"> + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="author" content="nsfisis"> + <meta name="copyright" content="© 2025 nsfisis"> + <meta name="description" content="タグ「ゲーム」のついた記事またはスライドの一覧"> + <meta name="keywords" content="ゲーム"> + <meta property="og:type" content="article"> + <meta property="og:title" content="タグ「ゲーム」一覧|REPL: Rest-Eat-Program Loop"> + <meta property="og:description" content="タグ「ゲーム」のついた記事またはスライドの一覧"> + <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop"> + <meta property="og:locale" content="ja_JP"> + <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/game/atom.xml"> + <link rel="icon" type="image/svg+xml" href="/favicon.svg"> + <title>タグ「ゲーム」一覧|REPL: Rest-Eat-Program Loop</title> + <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc"> + </head> + <body class="list"> + <header class="header"> + <div class="site-logo"> + <a href="/">REPL: Rest-Eat-Program Loop</a> + </div> + <nav class="nav"> + <ul> + <li> + <a href="/about/">About</a> + </li> + <li> + <a href="/posts/">Posts</a> + </li> + <li> + <a href="/slides/">Slides</a> + </li> + <li> + <a href="/tags/">Tags</a> + </li> + </ul> + </nav> + </header> + <main class="main"> + <header class="page-header"> + <h1>タグ「ゲーム」一覧</h1> + </header> + <article class="post-entry"> + <a href="/posts/2025-06-14/baba-is-you/"> + <header class="entry-header"> + <h2>最高のパズルゲーム Baba Is You をやれ</h2> + </header> + <section class="entry-content"> + <p> + Baba Is You という最高のパズルゲームをクリアした。是非プレイしてほしい。 + </p> + </section> + <footer class="entry-footer"> + <time datetime="2025-06-14">2025-06-14</time> 投稿 + </footer> + </a> + </article> + </main> + <footer class="footer"> + © 2021 nsfisis + </footer> + </body> +</html> diff --git a/vhosts/blog/public/tags/index.html b/vhosts/blog/public/tags/index.html index 68e9e73e..07a33edb 100644 --- a/vhosts/blog/public/tags/index.html +++ b/vhosts/blog/public/tags/index.html @@ -112,6 +112,16 @@ </a> </article> <article class="post-entry"> + <a href="/tags/game/"> + <header class="entry-header"> + <h2>ゲーム</h2> + </header> + <footer class="entry-footer"> + 1件の記事 + </footer> + </a> + </article> + <article class="post-entry"> <a href="/tags/gitlab/"> <header class="entry-header"> <h2>GitLab</h2> |
