제작진 및 라이선스
아래의 모든 분께 감사드립니다.
호스팅하는 게임
이 게임들은 이 사이트에서 제공합니다. 우리가 수정한 게임은 우리가 바꾼 점에 있습니다.
우리 게임
wasmga.me를 위해 만든 게임은 MIT 라이선스이며, 소스는 github.com/wasmga-me/games에 있습니다.
직접 파일을 준비하는 게임
id Software의 DOOM은 직접 가진 DOOM.WAD 또는 DOOM1.WAD(셰어웨어 에피소드)로 실행됩니다. 우리는 이 파일을 호스팅하지 않습니다.
Softstar의 선검기협전 98은 직접 가진 게임 파일로 실행됩니다. 우리는 이 파일을 호스팅하지 않습니다.
엔진
| 프로젝트 | 여기서 하는 일 | 버전 | 라이선스 | 소스 |
|---|---|---|---|---|
| C용 wg | C로 작성한 우리 게임을 실행합니다. | 2cff507 | MIT, 글꼴 OFL-1.1 | github.com/wasmga-me/wasmgame-wg-c |
| Rust용 wg | 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을 실행합니다. 자체 웹 빌드를 OpenGL용 gl4es(MIT)와 함께 WebAssembly로 컴파일했습니다. | 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를 실행합니다. Endless Web의 웹 빌드를 참고해 WebAssembly로 컴파일했습니다. | 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 엔진을 TeaVM으로 Java에서 JavaScript로 컴파일했습니다. | v160.7 (17012d6) | GPL-3.0 | github.com/Anuken/Mindustry |
| TeaVM | Mindustry를 Java에서 JavaScript로 컴파일합니다. 결과물 안에서 TeaVM의 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는 위에 고정한 버전을 수정 없이 jsDelivr CDN에서 불러오며, 이 CDN은 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 | 플레이어의 파일을 자체 브라우저 저장소 대신 게임 페이지에 맡기고, 작은 화면에서는 축소해 보여 주고, 전체 화면은 페이지에 맡기고, 시작할 때 사운드를 다시 열지 않으며(충돌했음), 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 | 게임 파일을 게임 페이지에서 세 번에 나눠 받고, 플레이어의 파일은 브라우저 데이터베이스 대신 페이지에 맡깁니다 | 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 |
| 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에 올리고 싶다면 알려 주세요.