クレジットとライセンス

以下のすべての方に感謝します。

このサイトでホストしているゲーム

これらのゲームはこのサイトから配信しています。変更を加えたものは変更点に載せています。

ゲーム制作ライセンスソース
10secondsEthan KennerlyMITgithub.com/ethankennerly/10seconds
adjustrisDave VanEeCC0-1.0github.com/tbsp/Adjustris
AirakifurrtekGPL-3.0-or-latergithub.com/furrtek/Airaki
AIRPLANZNotImplementedLifeGPL-3.0-onlygithub.com/NotImplementedLife/AIRPLANZ
Alien InvasionFerrantePescaraGPL-3.0-onlygithub.com/NiliusJulius/Alien-Invasion
AnarchMiloslav Číž (drummyfish)CC0-1.0gitlab.com/drummyfish/anarch
BattleTriangle-GammaARCJ137442GPL-3.0github.com/ARCJ137442/BattleTriangle-Gamma
Big2SmallmdsteeleGPL-3.0-or-latergithub.com/mdsteele/big2small
Brogue CEAntony Boucher and Brogue CE maintainers, after Oryx Design Lab's Brogue tilesCC BY-SA 4.0github.com/tmewett/BrogueCE/tree/1ba4240b7a928ddf0ffb772717bf1d433cd63804/bin/assets
Bump!Aaron Steed (st33d)MIT or GPL-3.0github.com/st33d/bump
C-Dogs SDLRonny Wester, Cong Xu and C-Dogs SDL contributorsCC-BY, CC-BY-SA and CC0github.com/cxong/cdogs-sdl
CarazuMartin HoltkampGPL-3.0github.com/mholtkamp/carazu
CastleBoyjlauener and IncrementMITgithub.com/jlauener/CastleBoy
Catacombs of the Damned!James HowardMITgithub.com/jhhoward/Arduboy3D
Concentration RoomDamian YerrickGPL-3.0-or-latergithub.com/pinobatch/croom-nes
CrossConnectquinnpMITgithub.com/QuinnPainter/CrossConnect
Data StormHaroldo O. PinheiroApache-2.0github.com/haroldo-ok/datastorm
DominationGraham Coulby (IonicLimb)MITgithub.com/gcoulby/Domination
Double Action Blaster GuysNovaSquirrelGPL-3.0github.com/NovaSquirrel/DABG
El DuelorosoAdrián JGGPL-3.0github.com/ajgalan/el-dueloroso
EndingAaron Steed (st33d)GPL-2.0github.com/st33d/Ending
Endless SkyEndless Sky contributorsGPL-3.0-or-later, art CC BY-SA, CC BY, CC0 and public domaingithub.com/endless-sky/endless-sky
EntityAsteroidsIain LobbMITgithub.com/iainlobb/EntityAsteroids
Europa rescue!godai / Gniazdo ŚwiatówCC-BY-SA-4.0github.com/godai78/europa
FlareClint Bellanger and Flare contributorsCC-BY-SA-3.0github.com/flareteam/flare-game
FlooderOliver BalfourMITgithub.com/Obalfour/Flooder
Freedoom: Phase 1Freedoom contributorsBSD-3-Clausegithub.com/freedoom/freedoom
Freedoom: Phase 2Freedoom contributorsBSD-3-Clausegithub.com/freedoom/freedoom
GB-WordylbbbbbrGPL-3.0github.com/bbbbbr/gb-wordle
GeometrixAntonioNDGPL-3.0-or-latergithub.com/AntonioND/geometrix
Gigant GolfquinevereGPL-3.0 (code), CC-BY-SA (assets)github.com/quinnyo/gbcompo2023
Gravity Beam: Master GaidenMathew CarrBSD-3-Clausewww.smspower.org/Homebrew/GravityBeamMasterGaiden-SMS
Grub GlideEthan HazelZlibgithub.com/Exetric/GrubGlide
HEXESDania Rifki, music and sound by Kathryn HathawayMIT, CC-BY-4.0 (Squarewave font by Jeti)github.com/EigenlightArts/HEXES
Hollow SeekerOBONOMITgithub.com/obono/ArduboyWorks/tree/master/hollow
Lander1jmimuGPL-3.0-or-latergithub.com/jmimu/lander1
Libbet and the Magic FloorDamian Yerrickzlibgithub.com/pinobatch/libbet
Lunar LimitPubbyMIT (code and graphics), CC-BY-4.0 (music and sounds by MovieMovies1)github.com/pubby/lunarlimit
Max Pirate Extra BoomLemmy HawkinsMITgithub.com/MWehrstedt/MaxPirateExtra
MicroCityJames HowardGPL-3.0github.com/jhhoward/MicroCity
MindustryAnuke and Mindustry contributorsGPL-3.0github.com/Anuken/Mindustry
moflegameSindre SorhusMITgithub.com/sindresorhus/moflegame
NeverballNeverball contributorsGPL-2.0-or-latergithub.com/Neverball/neverball
Pixel ConflictAldy Ahsandin (koderstory)GPL-3.0github.com/koderstory-archive/Pixel-Conflict-Game
ReboundDevEdMITgithub.com/DevEd2/ReboundGB
Rhythm LandmartendoMIT and GPL-3.0github.com/sinusoid-studios/rhythm-land
SandspielMax BittkerMITgithub.com/MaxBittker/sandspiel
Shock LobsterDave VanEe (tbsp)zlibgithub.com/tbsp/shock-lobster
Skeleton CrewstaticlinkageMITgithub.com/chrislewisdev/skeleton-crew
Squishy the TurtleCppchriscppMITgithub.com/potatolain/SquishyTheTurtle
SuperTuxSuperTux contributorsCC-BY-SA and GPLgithub.com/SuperTux/supertux
SuperTuxKartSuperTuxKart contributorsCC-BY-SA, CC-BY, CC0 and GPLgithub.com/supertuxkart/stk-code
Sushi NightsZaloMITgithub.com/Zal0/SushiNights
Taisei ProjectTaisei Project contributorsMIT, CC-BY-4.0, OFL-1.1 and Apostrophic Labs freeware (Immortal font)github.com/taisei-project/taisei
The Hat Chooses the WizardCorwin Kuiper and Gwilym KuiperMPL-2.0 (code and art), CC-BY-3.0 (music: Sylvan Waltz by Otto Halmén)github.com/agbrs/agb/tree/master/examples/the-hat-chooses-the-wizard
Those WallsWill HankinsonMITgithub.com/SimianLogic/ld31-thosewalls
ThwaiteDamian YerrickGPL-3.0-or-latergithub.com/pinobatch/thwaite-nes
Tobu Tobu Girl DeluxeTangram GamesMIT (code), CC-BY-4.0 (assets)github.com/SimonLarsen/tobutobugirl-dx
Warzone 2100Warzone 2100 ProjectGPL-2.0-or-latergithub.com/Warzone2100/warzone2100
WYRMHOLEquinnpMITgithub.com/QuinnPainter/Wyrmhole
µCityAntonio Niño DíazGPL-3.0 code, CC BY-SA 4.0 artgithub.com/AntonioND/ucity

私たちのゲーム

wasmga.meのために作ったゲームはMITライセンスで、ソースはgithub.com/wasmga-me/gamesにあります。

ファイルを持ち込んで遊ぶゲーム

id Software制作のDOOMは、お手持ちのDOOM.WADまたはDOOM1.WAD(シェアウェア版のエピソード)で動きます。このサイトではホストしていません。

Softstar制作の仙剣奇侠伝98柔情篇は、お手持ちのゲームファイルで動きます。このサイトではホストしていません。

エンジン

プロジェクトここでの役割バージョンライセンスソース
wg(C版)C言語で書いた私たちのゲームを動かします。2cff507MIT、フォントはOFL-1.1github.com/wasmga-me/wasmgame-wg-c
wg(Rust版)Rustで書いた私たちのゲームを動かします。786659aMIT、フォントはOFL-1.1github.com/wasmga-me/wasmgame-wg
RuffleFlashゲームを動かします。Rustで書かれ、WebAssemblyにコンパイルされています。このサイトから配信しています。0.7.1MITまたはApache-2.0github.com/ruffle-rs/ruffle
js-dosDOSBoxコアを含め、DOSゲームをブラウザで動かします。8.5.3GPL-2.0github.com/caiiiycuk/js-dos
DOSBoxjs-dosに組み込まれたDOSエミュレーター。js-dos 8.5.3に同梱の版GPL-2.0dosbox.com
doom-wasmDOOMエンジンのゲームを動かします。WebAssemblyにコンパイルしたChocolate Doomです。65e0d3aGPL-2.0github.com/cloudflare/doom-wasm
SDLPAL仙剣奇侠伝を動かします。エンジンのオープンソース再実装を、WebAssemblyにコンパイルしたものです。f6236a0GPL-3.0github.com/sdlpal/sdlpal
NeverballNeverballを動かします。公式のWeb版を、OpenGLのためにgl4es(MIT)を使ってWebAssemblyにコンパイルしたものです。1.7.0-alpha.3 (8288383)GPL-2.0-or-latergithub.com/Neverball/neverball
SuperTuxSuperTuxを動かします。公式のWeb版を、WebAssemblyにコンパイルしたものです。0.7.0-rev.1 (6970d03)GPL-3.0-or-latergithub.com/SuperTux/supertux
SuperTuxKartSuperTuxKartを動かします。Web向けにビルドし、WebAssemblyにコンパイルしたものです。1.5 (1fb491f)GPL-3.0-or-latergithub.com/supertuxkart/stk-code
C-Dogs SDLC-Dogs SDLを動かします。公式のEmscripten移植版を、WebAssemblyにコンパイルしたものです。2.5.0 (d27ca58)GPL-2.0-or-latergithub.com/cxong/cdogs-sdl
Brogue CEBrogue CEを動かします。SDL2版を、WebAssemblyにコンパイルしたものです。1.15.1 (1ba4240)AGPL-3.0github.com/tmewett/BrogueCE
Taisei ProjectTaisei Projectを動かします。公式のWeb版を、WebAssemblyにコンパイルしたものです。f4d3342MITgithub.com/taisei-project/taisei
Warzone 2100Warzone 2100を動かします。4.7.0リリースからの公式のWeb版を、WebAssemblyにコンパイルしたものです。4.7.0 (7d3d8e5)GPL-2.0-or-latergithub.com/Warzone2100/warzone2100
FlareFlare: Empyrean Campaignを動かします。公式のWeb移植版からビルドし、WebAssemblyにコンパイルしたものです。1969baeGPL-3.0-or-latergithub.com/flareteam/flare-engine
Endless SkyEndless Skyを動かします。Endless WebのWeb版にならって、WebAssemblyにコンパイルしたものです。457d2e5GPL-3.0-or-latergithub.com/endless-sky/endless-sky
SandspielSandspielを動かします。公式のページで、RustのコアをWebAssemblyにコンパイルしたものです。9936e06MITgithub.com/MaxBittker/sandspiel
MindustryMindustryを動かします。ゲームとそのArcエンジンを、TeaVMでJavaからJavaScriptにコンパイルしたものです。v160.7 (17012d6)GPL-3.0github.com/Anuken/Mindustry
TeaVMMindustryをJavaからJavaScriptにコンパイルします。そのJavaクラスライブラリは出力の中で動きます。0.16.0Apache-2.0github.com/konsoletyper/teavm
FreeTypeMindustryの文字を描画します。WebAssemblyにコンパイルしています。2.14.3 (0a0221a)FTLgithub.com/freetype/freetype
SoLoudMindustryの音を鳴らします。WebAssemblyにコンパイルしています。eb83070zlibgithub.com/Anuken/soloud
opencc-js仙剣奇侠伝の簡体字中国語のテキストを繁体字に変換します。1.4.2MITとApache-2.0github.com/nk2028/opencc-js
WasmBoyGame BoyとGame Boy Colorのゲームを動かします。AssemblyScriptで書かれ、WebAssemblyにコンパイルされています。0.7.1GPL-3.0-or-latergithub.com/torch2424/wasmboy
RetroArch下のNES、Game Boy Advance、Master System、Game Gear、Arduboyのエミュレーターを動かします。それぞれと一緒にWebAssemblyにコンパイルしています。1.22.2GPL-3.0github.com/libretro/RetroArch
FCEUmmNESのゲームを動かします。RetroArch 1.22.2向けにビルドされた版GPL-2.0github.com/libretro/libretro-fceumm
mGBAGame Boy Advanceのゲームを動かします。RetroArch 1.22.2向けにビルドされた版MPL-2.0github.com/libretro/mgba
GearsystemMaster SystemとGame Gearのゲームを動かします。RetroArch 1.22.2向けにビルドされた版GPL-3.0github.com/drhelius/Gearsystem
ArdensArduboyのゲームを動かします。RetroArch 1.22.2向けにビルドされた版MITgithub.com/tiberiusbrown/ardens
Nostalgist.jsページ内でRetroArchを起動し、ゲーム、ボタン、セーブを渡します。0.23.0MITgithub.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-wasmgithub.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
Anarch640x400、毎秒60フレームで描画し、セーブをプレイページに預け、マウスで向きを変え、「再開」用にページが状態を保存、ロードできるようにする。タブが隠れている間は待機し、コントローラーはページに任せ、Mでもマップを開き、新しいEmscriptenでビルドanarch.diff, build.sh, ビルドスクリプトgitlab.com/drummyfish/anarch/-
Taisei Projectゲームファイルを3回に分けてプレイページから受け取り、プレイヤーのファイルをブラウザのデータベースではなくページに預けるtaisei.diff, pack.py, ビルドスクリプトgithub.com/taisei-project/taisei
MindustryArc用のブラウザバックエンド(WebGL、入力、ファイル、サウンド)でページ内で動作し、自身のファイルとプレイヤーのファイルをプレイページから受け取り、音楽は開始後に取得し、全画面はページに任せ、ブラウザのページではできないこと(マルチプレイ、MOD、終了)を隠すbuild.sh, mindustry.diff, arc.diff, backend.diff, github.com/wasmga-me/mindustry-wasmgithub.com/Anuken/Mindustry
Flareゲームファイルとプレイヤーのファイルをプレイページから受け取り、ページがマップのファイルをダウンロードする間はロード画面で待ち、ページのサイズに合わせ、全画面はページに任せ、スレッドを使わずに画像を読み込むflare.diff, ビルドスクリプトgithub.com/flareteam/flare-engine
Endless Skyスレッドなしで動作し、プレイページとその全画面に合わせ、画像はゲームが初めて描画するときに取得するendless-sky.diff, fullscreen.js, ビルドスクリプト, github.com/wasmga-me/endless-sky-wasmgithub.com/endless-sky/endless-sky
SuperTuxKartWebページ内でスレッドなしで動作し、まだダウンロード中のコースを待ち、ウィンドウサイズと全画面はページに任せるstk.diff, ビルドスクリプト, github.com/wasmga-me/stk-code-wasmgithub.com/supertuxkart/stk-code
Sandspiel作品の投稿と閲覧、広告とアクセス解析を取り除き、プレイページに合わせ、ページがボードを保存、ロード、一時停止できるようにするsandspiel.diff, ビルドスクリプトgithub.com/MaxBittker/sandspiel
WasmBoyエミュレーションの修正4件:POP AF、SCレジスタ、STATモード3、ステートセーブを2回ロードする場合core-fixes.diffgithub.com/torch2424/wasmboy
10secondsThe Kongregate calls are removed (the round froze at 0:01 without them), and the score goes to the site's scoreboard10seconds.diff10seconds.swf
Bump!A click on the "click to play" screen now dismisses it (it waited for a focus event Ruffle never sends)bump.diffbump.swf
C-Dogs SDLThe Wolfenstein 3D shareware episode and campaign templates are left out, and the one MP3 sound is re-encoded as Ogg Vorbisbuild.shgithub.com/cxong/cdogs-sdl
moflegameThe mofle.net highscore and badscore tables are removed, with the Small, Medium and Full buttonsmofle.diffmofle.swf
Pixel ConflictThe 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 staypixelconflict.diffPixelConflict.swf
SuperTuxThe conveyor belt pictures are drawn anew and the death sound is the hurt sound, as their licence (CC BY-NC) doesn't allow this sitesupertux.diff, draw.py, ビルドスクリプトgithub.com/SuperTux/supertux
SuperTuxKartShrunk with SuperTuxKart's own Android script (textures at most 512 pixels, mono music) and split into partsbuild.sh, pack.py1.5
Those WallsThe score goes to the site's scoreboard at game overld31.diffld31.swf

アートワーク

wasmga.meのロゴは、Carlos BarazaによるWebAssemblyのロゴ(CC0でパブリックドメインに提供)を元にしています。

あなたのゲームを載せませんか?

WebAssemblyにコンパイルできるゲームを作っていて、wasmga.meに載せたい場合は、ぜひお知らせください。