Авторы и лицензии
Спасибо всем, кто указан ниже.
Игры на сайте
Эти игры загружаются с этого сайта. Те, что мы изменили, перечислены в разделе Наши изменения.
Наши игры
Игры, сделанные для wasmga.me, распространяются по лицензии MIT, их исходный код находится на github.com/wasmga-me/games.
Игры с вашими файлами
DOOM от id Software работает на вашем собственном DOOM.WAD или DOOM1.WAD (условно-бесплатный эпизод). Мы его не размещаем.
The Legend of Sword and Fairy 98 от Softstar работает на вашей собственной копии файлов игры. Мы их не размещаем.
Движки
| Проект | Что делает здесь | Версия | Лицензия | Исходный код |
|---|---|---|---|---|
| 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 | Запускает DOS-игры в браузере, включая своё ядро DOSBox. | 8.5.3 | GPL-2.0 | github.com/caiiiycuk/js-dos |
| DOSBox | Эмулятор DOS внутри js-dos. | в сборке js-dos 8.5.3 | GPL-2.0 | dosbox.com |
| doom-wasm | Запускает игры на движке DOOM. Chocolate Doom, скомпилированный в WebAssembly. | 65e0d3a | GPL-2.0 | github.com/cloudflare/doom-wasm |
| SDLPAL | Запускает The Legend of Sword and Fairy. Открытая реимплементация её движка, скомпилированная в WebAssembly. | f6236a0 | GPL-3.0 | github.com/sdlpal/sdlpal |
| Neverball | Запускает Neverball. Собственная веб-сборка игры, скомпилированная в WebAssembly с gl4es (MIT) для OpenGL. | 1.7.0-alpha.3 (8288383) | GPL-2.0-or-later | github.com/Neverball/neverball |
| SuperTux | Запускает SuperTux. Собственная веб-сборка игры, скомпилированная в WebAssembly. | 0.7.0-rev.1 (6970d03) | GPL-3.0-or-later | github.com/SuperTux/supertux |
| SuperTuxKart | Запускает SuperTuxKart. Собран для веба, скомпилирован в 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. Собственная веб-сборка игры, скомпилированная в WebAssembly. | f4d3342 | MIT | github.com/taisei-project/taisei |
| Warzone 2100 | Запускает Warzone 2100. Собственная веб-сборка игры из выпуска 4.7.0, скомпилированная в WebAssembly. | 4.7.0 (7d3d8e5) | GPL-2.0-or-later | github.com/Warzone2100/warzone2100 |
| Flare | Запускает Flare: Empyrean Campaign. Собран из собственного веб-порта игры, скомпилирован в WebAssembly. | 1969bae | GPL-3.0-or-later | github.com/flareteam/flare-engine |
| Endless Sky | Запускает Endless Sky. Скомпилирован в WebAssembly по образцу веб-сборки Endless Web. | 457d2e5 | GPL-3.0-or-later | github.com/endless-sky/endless-sky |
| Sandspiel | Запускает Sandspiel. Собственная страница игры с ядром на Rust, скомпилированным в WebAssembly. | 9936e06 | MIT | github.com/MaxBittker/sandspiel |
| Simon Tatham's Portable Puzzle Collection | Запускает Net, Untangle, Loopy, Bridges, Pattern и Light Up. Собственный веб-интерфейс коллекции, скомпилированный в WebAssembly. | 616da16 | MIT | git.tartarus.org/simon/puzzles |
| Mindustry | Запускает Mindustry. Игра и её движок Arc, скомпилированные из Java в JavaScript с помощью TeaVM. | 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 | Переводит текст The Legend of Sword and Fairy с упрощённого китайского на традиционный. | 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 загружается без изменений, в закреплённой выше версии, с CDN jsDelivr, который зеркалирует его выпуск в npm. Всё остальное загружается с этого сайта: 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 | Хранит файлы игрока для страницы игры, а не в собственном хранилище браузера, уменьшается на маленьких экранах, оставляет полноэкранный режим странице, больше не открывает звук заново при запуске (из-за этого был сбой), не включает игру по локальной сети и музыкальный чип 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 | Берёт файлы игры со страницы игры в три загрузки и оставляет файлы игрока странице, а не базе данных браузера | taisei.diff, pack.py, скрипт сборки | github.com/taisei-project/taisei |
| Mindustry | Работает на странице через браузерный бэкенд для Arc (WebGL, ввод, файлы, звук), берёт свои файлы и файлы игрока со страницы игры, загружает музыку после запуска, оставляет полноэкранный режим странице и скрывает то, что веб-страница сделать не может (мультиплеер, моды, «Выход») | 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 | Работает на веб-странице без потоков, ждёт трассу, которая ещё скачивается, и оставляет размер окна и полноэкранный режим странице | stk.diff, скрипт сборки, github.com/wasmga-me/stk-code-wasm | github.com/supertuxkart/stk-code |
| Sandspiel | Убирает публикацию и просмотр творений, свою рекламу и аналитику, вписывается в страницу игры и позволяет странице сохранять, загружать и ставить на паузу поле | sandspiel.diff, скрипт сборки | github.com/MaxBittker/sandspiel |
| Simon Tatham's Portable Puzzle Collection | Убирает свои меню, ссылки и окна предупреждений, позволяет пальцу работать как мышь (долгое касание — правая кнопка) и даёт странице выбирать размер каждой головоломки, сохранять и загружать её и узнавать, когда она решена | puzzles.diff, puzzle.html, скрипт сборки | puzzles.git;a=tree;hb=616da16f25da428ccda805536209095bd062676e |
| WasmBoy | Четыре исправления эмуляции: POP AF, регистр SC, режим STAT 3 и повторная загрузка сохранённого состояния | 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 |
| Branchwise | libgit2 1.9.1 built for WebAssembly without an operating system: home folder lookup, sockets and child processes are left out | libgit2-wasi.diff | github.com/libgit2/libgit2 |
| 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 основан на логотипе WebAssembly работы Карлоса Барасы (Carlos Baraza), переданном в общественное достояние по CC0.
Ваша игра здесь?
Если вы сделали игру, которая компилируется в WebAssembly, и хотите видеть её на wasmga.me, расскажите нам о ней.