クレジットとライセンス
以下のすべての方に感謝します。
このサイトでホストしているゲーム
これらのゲームはこのサイトから配信しています。変更を加えたものは変更点に載せています。
私たちのゲーム
wasmga.meのために作ったゲームはMITライセンスで、ソースはgithub.com/wasmga-me/gamesにあります。
ファイルを持ち込んで遊ぶゲーム
id Software制作のDOOMは、お手持ちのDOOM.WADまたはDOOM1.WAD(シェアウェア版のエピソード)で動きます。このサイトではホストしていません。
Softstar制作の仙剣奇侠伝98柔情篇は、お手持ちのゲームファイルで動きます。このサイトではホストしていません。
エンジン
| プロジェクト | ここでの役割 | バージョン | ライセンス | ソース |
|---|---|---|---|---|
| wg(C版) | C言語で書いた私たちのゲームを動かします。 | 2cff507 | MIT、フォントはOFL-1.1 | github.com/wasmga-me/wasmgame-wg-c |
| wg(Rust版) | Rustで書いた私たちのゲームを動かします。 | 786659a | MIT、フォントはOFL-1.1 | github.com/wasmga-me/wasmgame-wg |
| Ruffle | Flashゲームを動かします。Rustで書かれ、WebAssemblyにコンパイルされています。このサイトから配信しています。 | 0.7.1 | MITまたはApache-2.0 | github.com/ruffle-rs/ruffle |
| js-dos | DOSBoxコアを含め、DOSゲームをブラウザで動かします。 | 8.5.3 | GPL-2.0 | github.com/caiiiycuk/js-dos |
| DOSBox | js-dosに組み込まれたDOSエミュレーター。 | js-dos 8.5.3に同梱の版 | GPL-2.0 | dosbox.com |
| doom-wasm | DOOMエンジンのゲームを動かします。WebAssemblyにコンパイルしたChocolate Doomです。 | 65e0d3a | GPL-2.0 | github.com/cloudflare/doom-wasm |
| SDLPAL | 仙剣奇侠伝を動かします。エンジンのオープンソース再実装を、WebAssemblyにコンパイルしたものです。 | f6236a0 | GPL-3.0 | github.com/sdlpal/sdlpal |
| Neverball | Neverballを動かします。公式のWeb版を、OpenGLのためにgl4es(MIT)を使ってWebAssemblyにコンパイルしたものです。 | 1.7.0-alpha.3 (8288383) | GPL-2.0-or-later | github.com/Neverball/neverball |
| SuperTux | SuperTuxを動かします。公式のWeb版を、WebAssemblyにコンパイルしたものです。 | 0.7.0-rev.1 (6970d03) | GPL-3.0-or-later | github.com/SuperTux/supertux |
| SuperTuxKart | SuperTuxKartを動かします。Web向けにビルドし、WebAssemblyにコンパイルしたものです。 | 1.5 (1fb491f) | GPL-3.0-or-later | github.com/supertuxkart/stk-code |
| C-Dogs SDL | C-Dogs SDLを動かします。公式のEmscripten移植版を、WebAssemblyにコンパイルしたものです。 | 2.5.0 (d27ca58) | GPL-2.0-or-later | github.com/cxong/cdogs-sdl |
| Brogue CE | Brogue CEを動かします。SDL2版を、WebAssemblyにコンパイルしたものです。 | 1.15.1 (1ba4240) | AGPL-3.0 | github.com/tmewett/BrogueCE |
| Taisei Project | Taisei Projectを動かします。公式のWeb版を、WebAssemblyにコンパイルしたものです。 | f4d3342 | MIT | github.com/taisei-project/taisei |
| Warzone 2100 | Warzone 2100を動かします。4.7.0リリースからの公式のWeb版を、WebAssemblyにコンパイルしたものです。 | 4.7.0 (7d3d8e5) | GPL-2.0-or-later | github.com/Warzone2100/warzone2100 |
| Flare | Flare: Empyrean Campaignを動かします。公式のWeb移植版からビルドし、WebAssemblyにコンパイルしたものです。 | 1969bae | GPL-3.0-or-later | github.com/flareteam/flare-engine |
| Endless Sky | Endless Skyを動かします。Endless WebのWeb版にならって、WebAssemblyにコンパイルしたものです。 | 457d2e5 | GPL-3.0-or-later | github.com/endless-sky/endless-sky |
| Sandspiel | Sandspielを動かします。公式のページで、RustのコアをWebAssemblyにコンパイルしたものです。 | 9936e06 | MIT | github.com/MaxBittker/sandspiel |
| Mindustry | Mindustryを動かします。ゲームとそのArcエンジンを、TeaVMでJavaからJavaScriptにコンパイルしたものです。 | v160.7 (17012d6) | GPL-3.0 | github.com/Anuken/Mindustry |
| TeaVM | MindustryをJavaからJavaScriptにコンパイルします。そのJavaクラスライブラリは出力の中で動きます。 | 0.16.0 | Apache-2.0 | github.com/konsoletyper/teavm |
| FreeType | Mindustryの文字を描画します。WebAssemblyにコンパイルしています。 | 2.14.3 (0a0221a) | FTL | github.com/freetype/freetype |
| SoLoud | Mindustryの音を鳴らします。WebAssemblyにコンパイルしています。 | eb83070 | zlib | github.com/Anuken/soloud |
| opencc-js | 仙剣奇侠伝の簡体字中国語のテキストを繁体字に変換します。 | 1.4.2 | MITとApache-2.0 | github.com/nk2028/opencc-js |
| WasmBoy | Game BoyとGame Boy Colorのゲームを動かします。AssemblyScriptで書かれ、WebAssemblyにコンパイルされています。 | 0.7.1 | GPL-3.0-or-later | github.com/torch2424/wasmboy |
| RetroArch | 下のNES、Game Boy Advance、Master System、Game Gear、Arduboyのエミュレーターを動かします。それぞれと一緒にWebAssemblyにコンパイルしています。 | 1.22.2 | GPL-3.0 | github.com/libretro/RetroArch |
| FCEUmm | NESのゲームを動かします。 | RetroArch 1.22.2向けにビルドされた版 | GPL-2.0 | github.com/libretro/libretro-fceumm |
| mGBA | Game Boy Advanceのゲームを動かします。 | RetroArch 1.22.2向けにビルドされた版 | MPL-2.0 | github.com/libretro/mgba |
| Gearsystem | Master SystemとGame Gearのゲームを動かします。 | RetroArch 1.22.2向けにビルドされた版 | GPL-3.0 | github.com/drhelius/Gearsystem |
| Ardens | Arduboyのゲームを動かします。 | RetroArch 1.22.2向けにビルドされた版 | MIT | github.com/tiberiusbrown/ardens |
| Nostalgist.js | ページ内でRetroArchを起動し、ゲーム、ボタン、セーブを渡します。 | 0.23.0 | MIT | github.com/arianrhodsandlot/nostalgist |
js-dosは、上記の固定バージョンを変更なしで、npmのリリースをミラーしているjsDelivr CDNから読み込みます。それ以外はすべてこのサイトから配信しています。RuffleとRetroArchのビルド(libretroのbuildbotによるもの)はリリースされたままで、ほかは下記の変更を加えています。各ゲームページのソースパネルに、そのファイルとソースコードへのリンクがあります。
変更点
| プロジェクト | 変更内容 | パッチ | 元版 |
|---|---|---|---|
| doom-wasm | 「再開」用のスナップショットを保存、ロードする(メニューに表示されないスロット7のセーブ) | snapshot.diff, ビルドスクリプト | github.com/cloudflare/doom-wasm |
| SDLPAL | 「再開」用のスナップショットを保存、ロードする。ページの全画面の中にとどまる | snapshot.diff, fullscreen.js, ビルドスクリプト | github.com/sdlpal/sdlpal |
| Neverball | 「再開」用のスナップショットを保存、ロードする。全画面はページに任せ、新しいEmscriptenのビルドで省かれたメモリビューを音声コードに渡す | snapshot.diff, fullscreen.diff, neverball.diff, ビルドスクリプト | github.com/Neverball/neverball |
| SuperTux | 「再開」用のスナップショットを保存、ロードする。データをプレイページから読み込み、PhysFSがルートでファイルを見つける | snapshot.diff, supertux.diff, physfs.diff, ビルドスクリプト, github.com/wasmga-me/supertux-wasm | github.com/SuperTux/supertux |
| C-Dogs SDL | プレイヤーのファイルを独自のブラウザストレージではなくプレイページに預ける。小さい画面では縮小し、全画面はページに任せ、起動時にサウンドを開き直さない(クラッシュしていたため)。LANプレイとWolfenstein 3Dの音源チップを除き(そのライセンスは広告のあるサイトを認めていないため)、新しいEmscriptenでビルド | cdogs.diff, opl-stub.c, ビルドスクリプト | github.com/cxong/cdogs-sdl |
| Brogue CE | サイズをページから受け取り、全画面はページに任せる。メインメニューに終了がなく、毎ターン進行中のゲームを書き込み、修飾キーをキーイベントから読み取り、ランダムシードのプレイが終わるとスコアをページに伝える | brogue.diff, ビルドスクリプト | github.com/tmewett/BrogueCE |
| Anarch | 640x400、毎秒60フレームで描画し、セーブをプレイページに預け、マウスで向きを変え、「再開」用にページが状態を保存、ロードできるようにする。タブが隠れている間は待機し、コントローラーはページに任せ、Mでもマップを開き、新しいEmscriptenでビルド | anarch.diff, build.sh, ビルドスクリプト | gitlab.com/drummyfish/anarch/- |
| Taisei Project | ゲームファイルを3回に分けてプレイページから受け取り、プレイヤーのファイルをブラウザのデータベースではなくページに預ける | taisei.diff, pack.py, ビルドスクリプト | github.com/taisei-project/taisei |
| Mindustry | Arc用のブラウザバックエンド(WebGL、入力、ファイル、サウンド)でページ内で動作し、自身のファイルとプレイヤーのファイルをプレイページから受け取り、音楽は開始後に取得し、全画面はページに任せ、ブラウザのページではできないこと(マルチプレイ、MOD、終了)を隠す | build.sh, mindustry.diff, arc.diff, backend.diff, github.com/wasmga-me/mindustry-wasm | github.com/Anuken/Mindustry |
| Flare | ゲームファイルとプレイヤーのファイルをプレイページから受け取り、ページがマップのファイルをダウンロードする間はロード画面で待ち、ページのサイズに合わせ、全画面はページに任せ、スレッドを使わずに画像を読み込む | flare.diff, ビルドスクリプト | github.com/flareteam/flare-engine |
| Endless Sky | スレッドなしで動作し、プレイページとその全画面に合わせ、画像はゲームが初めて描画するときに取得する | endless-sky.diff, fullscreen.js, ビルドスクリプト, github.com/wasmga-me/endless-sky-wasm | github.com/endless-sky/endless-sky |
| SuperTuxKart | Webページ内でスレッドなしで動作し、まだダウンロード中のコースを待ち、ウィンドウサイズと全画面はページに任せる | stk.diff, ビルドスクリプト, github.com/wasmga-me/stk-code-wasm | github.com/supertuxkart/stk-code |
| Sandspiel | 作品の投稿と閲覧、広告とアクセス解析を取り除き、プレイページに合わせ、ページがボードを保存、ロード、一時停止できるようにする | sandspiel.diff, ビルドスクリプト | github.com/MaxBittker/sandspiel |
| WasmBoy | エミュレーションの修正4件:POP AF、SCレジスタ、STATモード3、ステートセーブを2回ロードする場合 | core-fixes.diff | github.com/torch2424/wasmboy |
| 10seconds | The Kongregate calls are removed (the round froze at 0:01 without them), and the score goes to the site's scoreboard | 10seconds.diff | 10seconds.swf |
| Bump! | A click on the "click to play" screen now dismisses it (it waited for a focus event Ruffle never sends) | bump.diff | bump.swf |
| C-Dogs SDL | The Wolfenstein 3D shareware episode and campaign templates are left out, and the one MP3 sound is re-encoded as Ogg Vorbis | build.sh | github.com/cxong/cdogs-sdl |
| moflegame | The mofle.net highscore and badscore tables are removed, with the Small, Medium and Full buttons | mofle.diff | mofle.swf |
| Pixel Conflict | The id.net sign-in, online saves, achievements and highscores are removed, with the Y8 and id.net logos and links; the three local save slots stay | pixelconflict.diff | PixelConflict.swf |
| SuperTux | The conveyor belt pictures are drawn anew and the death sound is the hurt sound, as their licence (CC BY-NC) doesn't allow this site | supertux.diff, draw.py, ビルドスクリプト | github.com/SuperTux/supertux |
| SuperTuxKart | Shrunk with SuperTuxKart's own Android script (textures at most 512 pixels, mono music) and split into parts | build.sh, pack.py | 1.5 |
| Those Walls | The score goes to the site's scoreboard at game over | ld31.diff | ld31.swf |
アートワーク
wasmga.meのロゴは、Carlos BarazaによるWebAssemblyのロゴ(CC0でパブリックドメインに提供)を元にしています。
あなたのゲームを載せませんか?
WebAssemblyにコンパイルできるゲームを作っていて、wasmga.meに載せたい場合は、ぜひお知らせください。