26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
# Infinsweeper Game.
|
|
It's like minesweeper, but with an infinite board.
|
|
|
|
The static web-app is here: [https://portfolio.syedm.dev/infinsweeper/](https://portfolio.syedm.dev/infinsweeper/)
|
|
(This version is without any signing up or logging in.)
|
|
|
|
## Working
|
|
|
|
- This game has some crazy optimizations.
|
|
- It uses cryptography hashes of a seed provided to the game api (randomly generated) and uses that with the cell index to generate the board.
|
|
- This allows for not having to save board data if it is off the screen if that area is maked as solved.
|
|
- When bought back into view it will be re-generated with the same seed.
|
|
- It also uses compression algorithms to store compressed form of the data in the browser storage.
|
|
|
|
## Features
|
|
|
|
- Also has full account control with email and password and resets and everything necessary.
|
|
- It originally aims to be an example of a full stack web-app, but now it's just a game.
|
|
- The full sinatra based web-app can be hosted using this repo.
|
|
- It also has a ton of animations made using pure JavaScript Canvas API.
|
|
- The entire game is made using just the JS Canvas API while the backend is made using Sinatra (Ruby) and SQLite.
|
|
|
|
## A screenshot
|
|
|
|

|