Skip to content

Minesweeper game in Go that can compile to WASM (uses ebiten v2)

License

Notifications You must be signed in to change notification settings

mevdschee/ebiten-mines

Repository files navigation

ebiten-mines

Play the game here (slow download, 1.8MB):

https://www.maurits.vdschee.nl/ebiten-mines/

minesweeper development screenshot

This is written using ebiten v2 in Go:

sudo apt install golang

To run the code you can execute:

go run .

To run the code in your browser (using WASM) you can execute:

bash build.sh

On Debian/Ubuntu I had to install the following packages:

sudo apt install libc6-dev libglu1-mesa-dev libgl1-mesa-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev libasound2-dev pkg-config

See also: https://ebiten.org/documents/install.html

Brotli

Install brotli command line compression tool using:

sudo apt install brotli

Compress the WASM file using (takes several seconds):

brotli -f -Z --suffix=-brotli *.wasm

Add the following .htaccess file on the webserver:

<FilesMatch "\.wasm$">
    RewriteEngine On
    RewriteCond %{HTTP:Accept-Encoding} br
    RewriteCond %{REQUEST_FILENAME}-brotli -f
    RewriteRule (.*) $1-brotli
</FilesMatch>

<FilesMatch "\.wasm-brotli$">
    Header set Content-Encoding br
    Header set Content-Type application/wasm
    Header append Vary Accept-Encoding
</FilesMatch>

Make sure that mod_headers and mod_rewrite are enabled.

sudo a2enmod rewrite headers

Restart the apache webserver if the modules were activated using:

sudo systemctl restart apache2

NB: Most webservers have the modules enabled by default.

About

Minesweeper game in Go that can compile to WASM (uses ebiten v2)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published