1D パックマン (abagames.github.io) 2 ポイント 投稿者 GN⁺ 2024-01-03 | 1件のコメント | WhatsAppで共有 関連記事 1Dチェス 2 ポイント · 1件のコメント · 2026-04-11 Almost Pong 7 ポイント · 2件のコメント · 2022-03-03 Equinox.space - インタラクティブなストーリー型ウェブゲーム 12 ポイント · 2件のコメント · 2024-04-23 PacVim - パックマンゲームで学ぶ Vim 3 ポイント · 0件のコメント · 2019-08-25 Pillman - 512バイトのパックマンゲーム 4 ポイント · 2件のコメント · 2019-07-11 1件のコメント GN⁺ 2024-01-03 Hacker News の意見 開発者コンソールに貼り付ける小さな JS ボットを作って自動プレイさせてみたところ、初回実行で9000点に到達した 戦略は、100msごとに状況を見て、パワーアップがないか、まもなく切れそうで、ゴーストが近すぎる場合は反対方向へ逃げる、というかなり単純なもの 死ぬのは、難度が上がってゴーストがどんどん速くなり、中央のドットを食べる時間が足りなくなるとき 改善するなら、ゴーストを片方の端へ誘導してから反対側へ渡って中央のドットを素早く食べるようにしたり、新しいドットが出たら中央のドットを優先するようにできる また、パワーアップのドットをゴーストより先に食べられると計算できるなら逃げない、というロジックも入れられる 逃げる距離を壁との近さに応じて動的に調整したら、数十万点台まで行った この単純な変更で、復活したゴーストがプレイヤーに襲いかかる特殊な状況も解決したようだ プレイヤーがその「魔法のような位置」に入らないので、ゴーストの目が端に到着する瞬間とプレイヤーの位置が正確に重なることがなくなった 条件文の前にコメントを置く書き方のせいで、一瞬頭の中のパーサーが誤動作した 本当にすごい 自分のボットは中央付近にドットが1つ残って Pac-Man が届かず、両者がしばらく往復したあと、ゴーストが十分速くなって捕まった それでも見ていて楽しかった ゲーム状態が enemy.{x,vx,eyeVx}、player.{x,vx}、powerTicks のような変数で構成されていると、どうやって突き止めたのか気になる ほかの変数もあるのか気になる ゴーストを食べたあと、新しいゴーストのスポーン地点が現在位置に近すぎて、そのまま自分を通り抜けてしまう問題があった 上の考慮事項まで含めるなら、おそらく ML の解法を投げ込むことになり、コーディング時間はむしろ少なく済むかもしれない 良いゲームで、6600点まで行った 自分の経験では、最適な戦略はゴーストを食べることを優先しないこと ゴーストを食べて連続得点になることもあるが、たいてい大きな助けにはならない パワーアップは中央のドットを食べるために使うべきで、両端は反射神経だけでも安全に食べられる 3000点あたりからは、中央を食べられないままパワーアップを使ってしまうと、立て直しはほぼ不可能になる 1列を終えたらすぐ180度戻って再び中央を食べるのがよく、ゴーストは偶然食べられればそれでいい程度 この戦略は本当に効く ゴーストを食べるやり方ではやっと1000点だったが、この戦略では簡単に5000点まで行った ゴーストを倒すことには、ごく小さなデメリットもある 画面上で生きていて、できれば遅くなっている状態なら位置が分かるが、倒してしまうといつどこに再出現するか正確には分からない 興味深いことに、撃破点は以前に倒したゴースト数ではなくゴーストの速度だけに依存し、その速度は総得点によって変わる だから序盤はゴーストをできるだけ長く生かしておき、1500点以上からボーナスが意味のある大きさになったところで狩る戦略を追加できそうだ いまでは17000点台のゲームを何度も出したが、もう最高点ではないようだ タッチスクリーンではなく物理キーボードを使わないと、これ以上速くなるのは難しそう 得点倍率は1列を消すたびに1ずつ上がり、ゴーストを食べたときも1ずつ上がることを確認した 基本戦略は大きく変わらないが、元の戦略を崩さない範囲で、ときどき少し止まったり遅らせたりして無料のゴースト撃破を作れるし、それには価値がある 15000点以上では、ゴーストを追ってこさせるために素早くダブルタップして小さな停止を誘発する必要があり、高速ではタイミングが非常に難しい それでもプレイはむしろより安全で、公式のように感じられ、後半は得点が非常に速く上がるので、7000点から16000点まで1プレイで跳ねるのは思ったほど大きな差ではない 助言にだいたい従ったら14257点が出た 簡単にゴーストを食べられるなら、数歩余分に使って捕まえる価値があった 重要なのは、中央を食べたあと両側に6個ずつ残しても安全に回収できると分かっていること 元の Atari 版や Ms. Pac Man、Super Pac Man、Pac Man Jr. のようないくつかの8ビット版でも、こういう感じでプレイしている 倍率40で11800点まで行った 結局、後半はゴーストの位置をいつどう操作するかを知っているかの勝負 ときには端のドットを食べるために、中央でゴーストを近づかせようと前後に揺さぶる価値がある それでもパワーアップを食べたら中央のドットから食べるべき このゲームのデザイナー/開発者である Kenta Cho[1] は、何十年にもわたって実験的なゲームを数え切れないほど作ってきた この記事を見るまで彼の仕事をほとんど忘れていたが、今も実験的なゲームデザインをやめておらず、遊べるゲームもたくさん残っているのがうれしい [1] https://en.wikipedia.org/wiki/ABA_Games [2] http://www.asahi-net.or.jp/~cs8k-cyu/index.html 本当にすごい ずっと前に、クリックを押したまま飛んでくる弾を捕まえて、ちょうどよい角度で投げ返す宇宙シューティングゲームを遊んだことがあるが、ボタン1つとマウスの動きだけを使うゲームだった ここのゲームを見ると、それも同じ人が作ったものだったような気がする わあ、面白い 音楽と死亡時の効果音がどうしてこんなに良いのか、説明できたらいいのに ゲームプレイには見事なリズム感があり、緊張感も大きい ゴーストに捕まるたびに声を上げてしまう いちばん良いところは、死んだときにゲームのせいではなく、自分が間抜けなミスをしたのであって、いくつか直せばずっと上手くなれると感じられる点 最近のあまりに多くのゲームは、深みや複雑さに見せかけるために、間違ったやり方で難しくしている 「覚えるのは簡単、極めるのは難しい」というカーブ、全体的なシンプルさ、非常に透明で手触りのあるフィードバックループが重要 こういう形でいつも自分を引き込むゲームは Quake 3 すべてのミスが自分のミスだと感じられ、上達の道筋もとても明確 上達の段階が段階的で可能に思え、「茂みの中で敵を見る機会もないまま180度ノースコープを食らう」ような状況がない 最初は安っぽいトリックに感じたキルでも、キルカムを見ると見事で、自分もそのやり方を試したくなる 逆に多くの現代的なゲームでは、キルカムが余計にイライラさせるだけ 初代 DOOM が大きな反響を呼んだ理由も同じだと思うが、HN のような場所では Quake 3 のほうが共感されやすそう 死んだときに、自分が間抜けなミスをして、少し直せばもっと上手くできると感じる部分は、Miyamoto が言っていたことがある気がする フラストレーションがゲームそのものではなく自分自身に向かい、もう一回だけやれば今度は間抜けなミスをしないはずだ、という感覚 自分の好きなあらゆるアクションゲームの礎だと思う 見た目がきれいなのは認める ただ、頻繁に死ぬときに自分のミスだとは感じなかった ゴーストは自分より速いし、ときどきすぐ隣に再出現することもある 食べる音、ゴーストが噛む音、死ぬ音がすべて同じテンポ/BPMの中にあるので、出来事がリズムの中で起きている点を心地よく感じるのだと思う よく見ると、食べる視覚効果は実際の食べる音と正確には合っていない 一定の1分あたりの咀嚼回数で再生されるトラックがあり、Pac-Man が食べるときにオン・オフしているのに近い ほかの効果も、イベントが起きたときに音を新しく再生するというより、ミュート/解除しているように聞こえ、見える 8ビットコンピューティングを体験してみる必要がありそう 1986年ごろに出た自分のCommodore 64は、数年前にコンデンサーを交換したあと、今でも生きている Sinclair ZX80、81、Speccy も使いながら育った 今のハードウェアは、ほとんど写真のようなものをリアルタイムにモデリングできるほど強力だが、ああいう狂気じみた音やグラフィック効果は、非常に制約のあるハードウェアで才能ある人たちがもっと多くを望んだときに生まれる結果 シミュレーターを立ち上げて Jeff Minter のゲームのようなものを動かしてみるといい Attack of the Mutant Camels は、対象ハードウェアを考えると音がかなりシュール RetroPie のようなものも見てみる価値がある このゲームの開発者は Kenta Cho で、こうしたゲームを20年以上作り続けている 2021年には Crisp Game Lib でボタン1つのゲームを111本作った。だいたい3日に1本のペース 自分にとって彼は、現在活動している世界最高のゲームデザイナー 興味深い https://github.com/abagames/111-one-button-games-in-2021?tab... 思ったよりずっと面白い ゴーストが再出現する仕組み、ゴーストと Pac-Man の速度差、ゴーストが点滅するまでの時間といった小さな選択が気に入った シンプルだが、遊んでいるうちにタイミングを覚え、戦略を組み立てていく感覚がある 同じ人が書いたもので、HN でかなり人気を集めた興味深い記事もある The Joys of Small Game Development https://news.ycombinator.com/item?id=37799387 https://en.wikipedia.org/wiki/ABA_Games この HN の投稿を見るまで、何年ものあいだ aba games と Kenta Cho の仕事を完全に忘れていた 彼は20年以上にわたって小さなミニゲームを作り、自分のサイトに載せてきた。ブラウザベースと Windows ベースのゲームの両方がある 自分はずっと Torus Trooper が好きだった https://www.asahi-net.or.jp/~cs8k-cyu/index.html なんてことだ Tumiki Fighters は、ずっと昔に自分が最も好きだったゲームのひとつだった 当時はゲームが「たった」3本か5本くらいだったと記憶しているが、その頃から本当に素晴らしい仕事だと思っていた 1D Pac-Man が好きな人なら Wolfenstein 1-D も気に入りそう https://en.wikipedia.org/wiki/Wolfenstein_1-D ここにあるようだが、メニューをどう進めるのかわからない https://archive.org/details/wolfenstein-1-d ほかの人が気づいたかどうか分からないし、意図的なのかも分からないが、この開発者のゲームの多くは、ゲーム内の動作と音が同期していないように見える Pac Man でドットを食べる音は、実際にドットを食べるタイミングに合っているのではなく、繰り返し鳴る音をオン/オフしているように感じる ほかのWebベースのゲーム[1]も似たようなもので、タップによって発生する動作がタップのタイミングに合った音ではなく、あらかじめ決まったリズムで繰り返される音を出す 微妙ではあるが、実際のプレイ性能に悪影響を及ぼす可能性がある 私はよく音のフィードバックでタイミングを取るので、自分の操作と合っていないとリズムが明らかに乱れる Timber Test[2]が良い例で、特に後半のレベルでは丸太を同じ比率で切る必要があるのに、音のタイミングは常に同じなので、ビープ音の間隔が実際には合っていない [1] https://www.asahi-net.or.jp/~cs8k-cyu/browser.html [2] https://abagames.github.io/crisp-game-lib-11-games/?timberte...
1件のコメント
Hacker News の意見
開発者コンソールに貼り付ける小さな JS ボットを作って自動プレイさせてみたところ、初回実行で9000点に到達した
戦略は、100msごとに状況を見て、パワーアップがないか、まもなく切れそうで、ゴーストが近すぎる場合は反対方向へ逃げる、というかなり単純なもの
死ぬのは、難度が上がってゴーストがどんどん速くなり、中央のドットを食べる時間が足りなくなるとき
改善するなら、ゴーストを片方の端へ誘導してから反対側へ渡って中央のドットを素早く食べるようにしたり、新しいドットが出たら中央のドットを優先するようにできる
また、パワーアップのドットをゴーストより先に食べられると計算できるなら逃げない、というロジックも入れられる
この単純な変更で、復活したゴーストがプレイヤーに襲いかかる特殊な状況も解決したようだ
プレイヤーがその「魔法のような位置」に入らないので、ゴーストの目が端に到着する瞬間とプレイヤーの位置が正確に重なることがなくなった
自分のボットは中央付近にドットが1つ残って Pac-Man が届かず、両者がしばらく往復したあと、ゴーストが十分速くなって捕まった
それでも見ていて楽しかった
enemy.{x,vx,eyeVx}、player.{x,vx}、powerTicksのような変数で構成されていると、どうやって突き止めたのか気になるほかの変数もあるのか気になる
上の考慮事項まで含めるなら、おそらく ML の解法を投げ込むことになり、コーディング時間はむしろ少なく済むかもしれない
良いゲームで、6600点まで行った
自分の経験では、最適な戦略はゴーストを食べることを優先しないこと
ゴーストを食べて連続得点になることもあるが、たいてい大きな助けにはならない
パワーアップは中央のドットを食べるために使うべきで、両端は反射神経だけでも安全に食べられる
3000点あたりからは、中央を食べられないままパワーアップを使ってしまうと、立て直しはほぼ不可能になる
1列を終えたらすぐ180度戻って再び中央を食べるのがよく、ゴーストは偶然食べられればそれでいい程度
ゴーストを食べるやり方ではやっと1000点だったが、この戦略では簡単に5000点まで行った
ゴーストを倒すことには、ごく小さなデメリットもある
画面上で生きていて、できれば遅くなっている状態なら位置が分かるが、倒してしまうといつどこに再出現するか正確には分からない
興味深いことに、撃破点は以前に倒したゴースト数ではなくゴーストの速度だけに依存し、その速度は総得点によって変わる
だから序盤はゴーストをできるだけ長く生かしておき、1500点以上からボーナスが意味のある大きさになったところで狩る戦略を追加できそうだ
タッチスクリーンではなく物理キーボードを使わないと、これ以上速くなるのは難しそう
得点倍率は1列を消すたびに1ずつ上がり、ゴーストを食べたときも1ずつ上がることを確認した
基本戦略は大きく変わらないが、元の戦略を崩さない範囲で、ときどき少し止まったり遅らせたりして無料のゴースト撃破を作れるし、それには価値がある
15000点以上では、ゴーストを追ってこさせるために素早くダブルタップして小さな停止を誘発する必要があり、高速ではタイミングが非常に難しい
それでもプレイはむしろより安全で、公式のように感じられ、後半は得点が非常に速く上がるので、7000点から16000点まで1プレイで跳ねるのは思ったほど大きな差ではない
簡単にゴーストを食べられるなら、数歩余分に使って捕まえる価値があった
重要なのは、中央を食べたあと両側に6個ずつ残しても安全に回収できると分かっていること
結局、後半はゴーストの位置をいつどう操作するかを知っているかの勝負
ときには端のドットを食べるために、中央でゴーストを近づかせようと前後に揺さぶる価値がある
それでもパワーアップを食べたら中央のドットから食べるべき
このゲームのデザイナー/開発者である Kenta Cho[1] は、何十年にもわたって実験的なゲームを数え切れないほど作ってきた
この記事を見るまで彼の仕事をほとんど忘れていたが、今も実験的なゲームデザインをやめておらず、遊べるゲームもたくさん残っているのがうれしい
[1] https://en.wikipedia.org/wiki/ABA_Games
[2] http://www.asahi-net.or.jp/~cs8k-cyu/index.html
ずっと前に、クリックを押したまま飛んでくる弾を捕まえて、ちょうどよい角度で投げ返す宇宙シューティングゲームを遊んだことがあるが、ボタン1つとマウスの動きだけを使うゲームだった
ここのゲームを見ると、それも同じ人が作ったものだったような気がする
わあ、面白い
音楽と死亡時の効果音がどうしてこんなに良いのか、説明できたらいいのに
ゲームプレイには見事なリズム感があり、緊張感も大きい
ゴーストに捕まるたびに声を上げてしまう
いちばん良いところは、死んだときにゲームのせいではなく、自分が間抜けなミスをしたのであって、いくつか直せばずっと上手くなれると感じられる点
最近のあまりに多くのゲームは、深みや複雑さに見せかけるために、間違ったやり方で難しくしている
こういう形でいつも自分を引き込むゲームは Quake 3
すべてのミスが自分のミスだと感じられ、上達の道筋もとても明確
上達の段階が段階的で可能に思え、「茂みの中で敵を見る機会もないまま180度ノースコープを食らう」ような状況がない
最初は安っぽいトリックに感じたキルでも、キルカムを見ると見事で、自分もそのやり方を試したくなる
逆に多くの現代的なゲームでは、キルカムが余計にイライラさせるだけ
初代 DOOM が大きな反響を呼んだ理由も同じだと思うが、HN のような場所では Quake 3 のほうが共感されやすそう
フラストレーションがゲームそのものではなく自分自身に向かい、もう一回だけやれば今度は間抜けなミスをしないはずだ、という感覚
自分の好きなあらゆるアクションゲームの礎だと思う
ただ、頻繁に死ぬときに自分のミスだとは感じなかった
ゴーストは自分より速いし、ときどきすぐ隣に再出現することもある
よく見ると、食べる視覚効果は実際の食べる音と正確には合っていない
一定の1分あたりの咀嚼回数で再生されるトラックがあり、Pac-Man が食べるときにオン・オフしているのに近い
ほかの効果も、イベントが起きたときに音を新しく再生するというより、ミュート/解除しているように聞こえ、見える
1986年ごろに出た自分のCommodore 64は、数年前にコンデンサーを交換したあと、今でも生きている
Sinclair ZX80、81、Speccy も使いながら育った
今のハードウェアは、ほとんど写真のようなものをリアルタイムにモデリングできるほど強力だが、ああいう狂気じみた音やグラフィック効果は、非常に制約のあるハードウェアで才能ある人たちがもっと多くを望んだときに生まれる結果
シミュレーターを立ち上げて Jeff Minter のゲームのようなものを動かしてみるといい
Attack of the Mutant Camels は、対象ハードウェアを考えると音がかなりシュール
RetroPie のようなものも見てみる価値がある
このゲームの開発者は Kenta Cho で、こうしたゲームを20年以上作り続けている
2021年には Crisp Game Lib でボタン1つのゲームを111本作った。だいたい3日に1本のペース
自分にとって彼は、現在活動している世界最高のゲームデザイナー
https://github.com/abagames/111-one-button-games-in-2021?tab...
思ったよりずっと面白い
ゴーストが再出現する仕組み、ゴーストと Pac-Man の速度差、ゴーストが点滅するまでの時間といった小さな選択が気に入った
シンプルだが、遊んでいるうちにタイミングを覚え、戦略を組み立てていく感覚がある
同じ人が書いたもので、HN でかなり人気を集めた興味深い記事もある
The Joys of Small Game Development
https://news.ycombinator.com/item?id=37799387
https://en.wikipedia.org/wiki/ABA_Games
この HN の投稿を見るまで、何年ものあいだ aba games と Kenta Cho の仕事を完全に忘れていた
彼は20年以上にわたって小さなミニゲームを作り、自分のサイトに載せてきた。ブラウザベースと Windows ベースのゲームの両方がある
自分はずっと Torus Trooper が好きだった
https://www.asahi-net.or.jp/~cs8k-cyu/index.html
Tumiki Fighters は、ずっと昔に自分が最も好きだったゲームのひとつだった
当時はゲームが「たった」3本か5本くらいだったと記憶しているが、その頃から本当に素晴らしい仕事だと思っていた
1D Pac-Man が好きな人なら Wolfenstein 1-D も気に入りそう
https://en.wikipedia.org/wiki/Wolfenstein_1-D
https://archive.org/details/wolfenstein-1-d
ほかの人が気づいたかどうか分からないし、意図的なのかも分からないが、この開発者のゲームの多くは、ゲーム内の動作と音が同期していないように見える
Pac Man でドットを食べる音は、実際にドットを食べるタイミングに合っているのではなく、繰り返し鳴る音をオン/オフしているように感じる
ほかのWebベースのゲーム[1]も似たようなもので、タップによって発生する動作がタップのタイミングに合った音ではなく、あらかじめ決まったリズムで繰り返される音を出す
微妙ではあるが、実際のプレイ性能に悪影響を及ぼす可能性がある
私はよく音のフィードバックでタイミングを取るので、自分の操作と合っていないとリズムが明らかに乱れる
Timber Test[2]が良い例で、特に後半のレベルでは丸太を同じ比率で切る必要があるのに、音のタイミングは常に同じなので、ビープ音の間隔が実際には合っていない
[1] https://www.asahi-net.or.jp/~cs8k-cyu/browser.html
[2] https://abagames.github.io/crisp-game-lib-11-games/?timberte...