airboardgame/README.md

132 lines
3.3 KiB
Markdown
Raw Normal View History

2021-01-13 21:44:08 +01:00
# Air board game - the free online tabletop simulator
2020-11-01 20:50:08 +01:00
If you just want to play, go [here](https://airboardgame.net).
2020-06-15 08:59:21 +02:00
2021-01-13 21:44:08 +01:00
* **Choose** a game
* **Share** the link with your friends
* **Play** together
2020-07-04 21:45:40 +02:00
2020-07-03 16:49:08 +02:00
Simple, fast and efficient.
2021-01-13 21:44:08 +01:00
No need to create an account, choose a game from the list ([or create yours](#game-designer-its-also-for-you)) share
the displayed link with your friends by mail or any channel you have in common
and wait for your friends to join you.
## A tabletop simulator ?
2020-07-03 16:49:08 +02:00
![In action](./public/screen.png)
Airboardgame is a tabletop simulator to play your favorite board games with your
friends online. It's not a game engine, it's just a tabletop simulator of what you can
2020-07-04 21:45:40 +02:00
do with a real table. You share a common space with other players like if you were is the same room.
If you move something or if you flip a card, other players see
this action and can respond in real time.
Hint: you really should use an audio conference application to speak with other players.
2020-07-03 16:49:08 +02:00
Airboardgame doesn't force you, you make the rules.
Airboardgame is just a game table simulator : what you would do with a real
2020-07-04 21:45:40 +02:00
table you can/must do it with Airboargame.
2020-07-03 16:49:08 +02:00
2020-07-04 21:45:40 +02:00
## Features for players
2020-07-03 16:49:08 +02:00
Flip card items.
![Load and save](./public/flip.gif)
Tap items.
![Load and save](./public/tap.gif)
Flip cards only for you, like hand cards.
![Load and save](./public/flipyou.gif)
2020-07-04 21:45:40 +02:00
See other players cursor on the shared board and how they move in real time.
You can show things, see what they are doing, …
2020-07-03 16:49:08 +02:00
![Load and save](./public/other.gif)
Save and restore game.
![Load and save](./public/loadsave.png)
and more…
2020-07-04 21:45:40 +02:00
## Game designer, it's also for you
Airboardgame is not only designed to play games but also to create them.
2021-01-13 21:44:08 +01:00
In just few minutes you can create simple games without any
development skills and play with your friends.
Wants to test a concept? Play a Print & Play game? Use airboardgame without
the need for more hardware.
2020-07-04 21:45:40 +02:00
The only limit is your imagination.
2020-11-01 20:50:08 +01:00
To access this features, login then click on the « create new game » button on home page.
2020-07-04 21:45:40 +02:00
2020-11-01 20:50:08 +01:00
We want Airboardgame to be simple, intuitive and a consistent web application.
2020-07-04 21:45:40 +02:00
Just give a try and if you like it share it and contribute.
You can create a game with simple actions :
2020-07-03 16:49:08 +02:00
2021-01-13 21:44:08 +01:00
* Create items like
* Round,
* Rectangle,
* Dice,
* Note,
* Counter,
* Image that can represent cards, board, token, perks, …
*
* Choose board size
* Add available items not on the board but in the "game box" like extension or material for more user.
You can drag'n'drop image from your desktop to the board to use them in Airboardgame.
2020-07-03 16:49:08 +02:00
## Technical details
2021-01-13 21:44:08 +01:00
* Open source web application,
* Made with React and Socket.io,
* Client to client driven architecture.
2020-07-03 16:49:08 +02:00
## Installation for developpers
2021-01-13 21:44:08 +01:00
### Client
2020-06-07 20:05:09 +02:00
You need a recent node version. You can use nvm to initialize your environment.
Then, execute
2020-06-07 20:05:09 +02:00
```sh
npm ci # To install dependencies
```
2020-06-27 18:58:12 +02:00
Configure the environement:
2020-07-03 16:49:08 +02:00
Copy the `.env.dist` file without the `.dist` extension and edit it to fit your
needs.
2020-06-27 18:58:12 +02:00
Now you can start the server:
2020-06-07 20:05:09 +02:00
```sh
npm run server
```
2020-06-07 20:05:09 +02:00
Then you can run the client:
2020-06-07 20:05:09 +02:00
```sh
npm start
```
2021-01-13 21:44:08 +01:00
### Server
The server code must be used with [ricochetjs](https://github.com/jrmi/ricochetjs)
Follows ricochet installation instructions then execute:
```sh
cd server
npm ci
npm run watch
```