世界を動かす技術を、日本語で。

ポケモンエメラルドがWebAssemblyに移植されました(100k FPS)

概要

  • WebAssembly(WASM) のロードに関する通知
  • キーボード操作 によるゲームコントロール方法の説明
  • 速度調整 やキー割り当ての案内
  • ゲーム開始・選択 のためのキー指定
  • ユーザー体験向上 を目的としたガイダンス

WASMロードとキーボード操作ガイド

  • WASM の読み込み中を示すメッセージ
  • 矢印キー (↑、←、→、↓)による移動操作
  • Zキー でAボタンの機能割り当て
  • Xキー でBボタンの機能割り当て
  • Enterキー でStartボタンの機能割り当て
  • Shiftキー でSelectボタンの機能割り当て
  • Speed 1x で通常速度設定
  • ゲームコントロール のためのキーボードショートカット案内

Hackerたちの意見

https://github.com/tripplyons/pokeemerald-wasm/

これ、いつDMCAされるんだろう?元になってるプロジェクトがこんなに長く続いてるのはどうして?もしかして、これが何か誤解してるのかな? https://github.com/pret/pokeemerald

セーブがちゃんと機能するか確認中。面白いね。トレードもできるようになるかな。

うん、セーブがちゃんと動くか確認したよ。

僕も最初にチェックした!ポケスナイプされちゃった、数時間が無駄になった。

数ヶ月前にポケモンクリスタルをプレイしたけど、やっぱり名作だね!ノートパソコンのエミュレーターでスピード上げてプレイしたから、歩いたり戦ったりするのがすごく早くて、これがなかったら途中で投げ出してたかも。

ZSNESのチートエンジン使って、ファイナルファンタジーのレベル上げとかの grind をなくしてる。装備のためにレベル上げやお金稼ぎに時間を使わなくて済むから、ゲームがもっと楽しめると思う。

今、ポケモンアンバウンドをプレイ中なんだけど、これが多分今までで一番のROMハックだと思う。俺は初代と2代目のGBとGBCのゲームで育ったから、アンバウンドは8世代のモンスターがいるせいでちょっとごちゃごちゃしてる感じがするけど、でもこのプロジェクトは全く新しい体験だよ。特にTrimui Brick Hammerみたいなレトロな携帯ゲーム機で遊ぶと最高!それから他のポケモンハックも探ってみたら、すごく熱心なファンコミュニティがあって、クラシックなポケモンのフォーミュラに新しい機能を追加するのに情熱を注いでるんだ。ネット上のドキュメントやウィキは、オリジナルのゲームよりも詳しいよ!例えば、R.O.W.Eは色んなモードを選べるし、ジョウトとカントーのマップをつなげたり、利用可能なポケモンの世代を制限するオプションもあって、ベテランにはよりホーム感があるんだ。他にももっと探求したいハックがあって、ポケモンガイアとポケモンオデッセイも気になる。

スピードのオプションは2つ、通常と早送りがあった方がいいね。それにゲームを早くするキーも必要。子供の頃はGBAでスペースキーだったな。普通のゲームを楽しみつつ、退屈な部分はサクッと飛ばせた。

いいね!スピードアップ機能が好きだよ。UIにzxキーを押すとそれぞれAボタンとBボタンが反応するって表示してほしいな。AとBキーを押してから、他のアルファベットキーも試してみて気づいたんだ。そういえば、「Fight/Bag/Pokemon/Run」メニューで「Pokemon」を選ぶとクラッシュするみたいだね。https://i.ibb.co/tpVV8q83/poke-fight-menu.png

ZとXは古いエミュレーターのキーだよね。Visual Boy AdvanceやZSNESの頃から使ってたからすぐに分かったよ。:D

情報ありがとう!今日はこれらの報告をまとめて、次の数日で問題を修正するつもりだよ。

これすごいね!セーブファイルをエクスポートして再読み込みできたら最高だな。ブラウザのデータをよく消しちゃうから。

そうそう、これはみんなが強くリクエストしてる機能だよ!バグ報告を解決した後に、次に追加する機能になる予定だよ。

いくつかのエンティティが数字で表示されるみたいで、「6を受け取りました」とか、最初のポーションをもらったときに出たよ。他にこのバグ見た人いる?

それには遭遇してないけど、調査するべきこととしてメモしておくね。どのポーションだった?

これすごいね。左右上下の操作がちょっとおかしい感じがする?名前選択メニューで文字をサイクリングしてると、うまく進まないことがある気がするんだけど。

WASMに移植されるゲームが増えてきて、めっちゃワクワクしてる!興味がある人のために、最近5日間かけて作ったポートについてHNに投稿したよ。XonoticっていうアリーナFPSなんだけど、技術的な解説も含まれてるから、よかったら見てみてね! https://news.ycombinator.com/item?id=48428133

これめっちゃクールだね!公開リポジトリにコードあったりする?ちょっと前からプレイステーションのゲーム用のスタティックリコンパイラに取り組んでて、WASMが最終的な目標なんだ。

WASMや低レベルのオタクに質問なんだけど、これってLLMが得意な分野なの?最終的な検証が安定していて結論が出るから、目標を設定してこのプロジェクトを実現させることができると思うんだけど。