wasmga.meについて
wasmga.meは、WebAssemblyで作られたゲームサイトです。WebAssemblyは、最新のブラウザならどれでも動く、高速で移植性の高いコード形式です。すべてページの中で遊べて、プラグインもダウンロードも要りません。
遊べるもの
- モダン。SuperTuxKart、Mindustry、Warzone 2100、Taiseiなど、現在のオープンソースゲームをブラウザに移植しました。
- このサイト製。スネークゲーム、数独、Sapper、Sourdough Solitaireなど、このサイトのために書いたゲームです。
- Flash。提供する権利のあるFlash作品と、お手持ちの.swfファイルを遊べるプレイヤー。
- 家庭用ゲーム機の自作ソフト。昔のハードウェア向けに書かれた新しいゲーム:Game Boy、Game Boy Color、NES、Game Boy Advance、Master System、Arduboy。
- Freedoomと持ち込みファイル。Freedoomはそのまま遊べます。DOOMと仙剣奇侠伝98柔情篇にはお手持ちのゲームファイルが必要で、DOSプレイヤーは読み込んだDOSゲームを動かします。
動く仕組み
エミュレーター。WasmBoyがGame BoyとGame Boy Colorを動かします。NES、Game Boy Advance、Master System、Arduboyのゲームは、FCEUmm、mGBA、Gearsystem、Ardensのコアを使ってRetroArchで動き、Nostalgist.jsが起動します。FlashはRuffle、DOSはjs-dosで動きます。
エンジン。FreedoomとDOOMは、CloudflareがビルドしたChocolate Doomであるdoom-wasmで動きます。仙剣のエンジンをオープンソースで書き直したSDLPALが、仙剣奇侠伝98柔情篇を動かします。私たちのゲームは、CとRustで書いた小さな自作エンジンwgで動きます。
移植ゲーム。SuperTux、SuperTuxKart、Neverball、Taisei、Warzone 2100、Flare、Endless Sky、C-Dogs SDL、AnarchはEmscriptenでソースからコンパイルし、SandspielのRustコアはwasm-bindgenで、MindustryはTeaVMでJavaからブラウザへ移しています。私たちのフォークはGitHubのwasmga-me組織にあります。
私たちのパッチ。移植版への変更は、ページに必要な範囲だけです。全画面はページに任せ、ファイルはページから受け取り、「再開」用のスナップショットを残し、ほとんどはスレッドなしで動きます。WasmBoyにはエミュレーションの修正が4件あり、いくつかのFlashゲームにもそれぞれ小さな修正があります。各変更とそのdiffは変更点に載せています。
昔のゲームサイトのよかったところ
どのゲームページにも、おなじみの操作があります。全画面、ゲーム以外を暗くするライトオフ、そしてミュートです。セーブはできる範囲で対応していて、完全なセーブに対応しているか、ゲーム内セーブだけか、まだ対応していないかを、各ゲームがはっきり示します。セーブの仕組みをご覧ください。
ファイルの透明性
各ゲームの下にはソースパネルがあり、ゲームが読み込むファイルをすべて、このサイトからか、ほかのサイト(どのサイトか)からか、サイズと一緒に一覧にしています。
サイトの運営費
ホーム、タグ、ゲームのページに表示するGoogle AdSenseの広告で、ホスティング費用をまかなっています。広告が何を収集するかはプライバシーポリシーで説明しています。
アカウント
ログインは任意です。外部サービスでログインすると、セーブをアップロードしてほかの端末で続きから遊んだり、オンラインランキングにスコアを送信したりできます。ログインしなければ、ここでの操作はすべてご自身のブラウザの中にとどまります。
連絡先
ご提案、不具合の報告、ゲームの応募はお問い合わせページからどうぞ。