Git Product home page Git Product logo

fari-app's Introduction

TODO

Fari - The Free and Open-Source Virtual Tabletop

All Contributors

patreon ko-fi

Continous Integration Integration Tests

This repo contains the source code that powers Fari, the open source virtual tabletop platform.

Development

If you want to make a contribution to Fari, you will need to fork / clone this repo and follow the following steps to run the app locally.

Prerequisites

  1. Install Node ^16.2.0 (to match engine property in package.json) or use the devcontainer provided using VS Code.

Installation

Fari relies on Node and the Node Package Manager to download its dependencies and run.

If you are using the proper node and npm version, you then need to install Fari's dependencies

npm install

Once the dependencies are installed, Fari will also build some of it's static content (e.g. the content of the SRD) using 11ty which will convert the markdown files to HTML files insides a _site directory.

Running the application

If you want to run Fari on your machine, simply run:

npm run start

This will start and bundle the app using ViteJS and make it available on http://localhost:1234

ViteJS will also update your browser's content (using React Refresh) anytime you do save a file on the disk.

This will run the normal server, but also rebuild the markdown files everytime you modify them.

Special Thanks

  • Netlify for hosting Fari.
  • Lokalise for providing internalization feature for Fari.
  • Canny for providing user feedback features for Fari.

Contributors โœจ

Thanks goes to these wonderful people (emoji key):


rpdeshaies

๐Ÿ’ป ๐Ÿ“– ๐ŸŒ ๐Ÿ‘€

Davide Vernassa

๐ŸŒ

corrina

๐ŸŒ

Erynus

๐ŸŒ

hattivatt

๐ŸŒ

pedrogsribeiro

๐ŸŒ

nfregoso

๐Ÿ’ป

ConDar15

๐Ÿ’ป

Jorge Diz Pico

๐ŸŒ

Thomas Bearse

๐Ÿ’ป

1d12monos

๐ŸŒ

chocoporto

๐ŸŒ

Gpoitras

๐Ÿ’ป

Christie Kennedy

๐Ÿ’ป

This project follows the all-contributors specification. Contributions of any kind welcome!

fari-app's People

Contributors

allcontributors[bot] avatar cyanomys avatar dependabot[bot] avatar flamma avatar greg-argulla avatar jakobwinkler avatar lynn0702 avatar paradoja avatar rivetgeekwil avatar rpdeshaies avatar theleopold avatar xurxodiz avatar zefredz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fari-app's Issues

Aspect's Initiative Tracker

๐Ÿšฉ Is your feature request related to a problem? Please describe

It is currently hard to track NPCs, mooks and bad guys' initiative whe using Fari.

All players have an initiative tracker in the players' section on the left but there's nothing for bad guys and npcs since they are aspects.

โœ… Describe the solution you'd like

Perhaps adding a + initiative tracker button to the aspects falafel menu would be an easy first step.

โœ๏ธ Describe alternatives you've considered

We would also need to update the IndexCard's UI to include a tracking icon like in the player's section (for consistency)
image

๐Ÿ“„ Additional context

...

Dice Rolls are not quite fair

๐Ÿšฉ Describe the bug

To generate a die roll a side of the die is chosen at random. However the algorithm used is actually not a uniform distribution for a die with sides that aren't a factor of 100 (e.g. 10, 20 would be fair, but 6, 12 would not).

๐Ÿ”ข Steps to reproduce

The discrepancy is very small, but can be found by attempting to get the random die side of a 6 sided die a large number of times (100,000 worked for me) and seeing that the 6th side is rolled noticeably less.

๐ŸŸข Expected behavior

Die rolls are fair

๐Ÿ”ด Actual behavior

Die rolls are slightly skewed towards the lower end of the possible rolls.

๐Ÿ’… Screenshots

๐Ÿ–ฅ Desktop or Smartphone

All

๐Ÿ“„ Additional context

Button to add an index card for a zone

๐Ÿšฉ Is your feature request related to a problem? Please describe

I would like to see a button added to the Fari play screen that is for adding a card representing a zone. Similar to the current buttons that add aspects, boosts, NPCs, etc. Clicking the Add Zone button would add an index card with a label called "Zone" and would be given a default color that is different than those in use by the other buttons (maybe yellow).

This would allow the GM to create separate cards to represent each zone that may be present in a scene, and also to just list the aspects of that zone right on the card representing the zone. It would also give a quick graphical representation to the players on what zones are available in the scene.

The added drawing tools are great for quickly sketching something out, but they do not really allow enough space (nor text) to set up the zones of a scene. Adding a button to add index cards to represent zones seems like an easy way to accomplish this.

Dice roller animations doesn't stop

๐Ÿšฉ Describe the bug

When playing online and rolling a dice, there are occasions where the dice roller doesn't stop and spins forever

๐Ÿ”ข Steps to reproduce

...

๐ŸŸข Expected behavior

The dice should stop rolling after ~2 s

๐Ÿ”ด Actual behavior

The dice rolls forever and doesn't stop

๐Ÿ’… Screenshots

...

๐Ÿ–ฅ Desktop or Smartphone

  • OS: MacOS
  • Browser: Chrome
  • Device: [e.g. iPhone6]

๐Ÿ“„ Additional context

This seemed to happen when switching from one tab to another

Parts of the app not translated

๐Ÿšฉ Is your feature request related to a problem? Please describe

About, FAQ and default values on the character sheets (careful, quick and other approach names) are not translated to spanish

โœ… Describe the solution you'd like

Include it on the esTranslate file or point me in the right direction to the correct translation file

Fari v3.0.0 Prerelease - Looking for Testers

Hey everyone,

In a couple of weeks, I will release the newest version of Fari: v3.0.0 (#89)

This version will include a lot of changes like:

  • The ability to save scenes and load them during a play session #60
  • Better Character Management
  • More control on Index Card #88
  • Exporting and Importing Scenes and Characters (Thanks @nfregoso)
  • ... and even more!

Since this is a big release and it includes a lot of changes, I would like to ask the Fari community to help me test it if you have some time on your hands!

Here's a link to test the release: https://5f2dd07d2f14a5f897e2b0cc--fari.netlify.app/

I will update this link โ˜๏ธ as new features and fixes are pushed.

Please don't report bugs or feature requests here in the comments but open new issues instead.

Thanks a lot in advance!

โš ๏ธ Warning

If you create characters or scenes in the beta website, they will not be ported over to the production site.

Link Issues

Player lose modification to their characters in the dialog when a GM syncs a scene with them

๐Ÿšฉ Describe the bug

When the GM performs any action, all other players lose unsaved data they entered into their character sheets.

๐Ÿ”ข Steps to reproduce

  1. Start a game.
  2. Join in a second tab, with a character sheet.
  3. Open the character sheet in the second tab, and make any edit. For instance, add a physical stress box.
  4. Don't save the character sheet yet.
  5. In the first tab, perform any action. For instance, roll the dice.

Alternate steps with the same result:

4.5. Join in a third tab, without a character sheet.
5. In the third tab, perform any action. For instance, roll the dice.

Other edits I tested in step 2:

  • Modify an aspect.
  • Delete the entire skill list.
  • Modify the refresh.

Other actions I tested in step 5:

  • Draw a line in the drawing area.
  • Create an aspect.
  • Delete an aspect.
  • Roll someone else's dice.
  • Spend a fate point.
  • Toggle whether a player has played.

๐ŸŸข Expected behavior

The second tab's changes are preserved, allowing them to continue editing.

๐Ÿ”ด Actual behavior

The second tab's changes are reverted to the last saved version.

๐Ÿ“„ Additional context

The GM never seems to lose data, no matter how many things the other players do. (Well, the other players can save over the sheet the GM is editing, but that's different.)

Copying and sharing characters

Thank you very much for Fari, it's awesome. I have a suggestion: it would be very useful if the GM (or anyone, really) could create, copy and share characters with the players, and vice-versa. I have a custom sheet for my game and it would be easier if I could create a character in Fari as an "empty template", so I could make copies, fill them differently for each character, and then share with my players - maybe by permitting the GM to add the already created/filled characters to the session and attributing them specifically to players? I don't know a thing about programming, so is more of a "user experience" feedback. Hopefully there is a feasible solution for it. Thanks a lot for all the effort!

PeerJS server "reached number of connections"

๐Ÿšฉ Describe the bug

Sometimes, when opening a new scene, the applications crashes because it's not able to establish a connection to the PeerJS brokering server.

That happens because that server is shared with a lot of people and sometimes it reaches the "total number of connections" which seems to be around 5000 people.

That happened early in development which is why they is an "offline mode" but it's still not an ideal solution.

๐Ÿ”ข Steps to reproduce

It's hard to reproduce as it only happens when the PeerJS server is over-used but when it is, it's impossible to load the "Play Online" Fari page.

๐ŸŸข Expected behavior

Fari is able to run

๐Ÿ”ด Actual behavior

Fari crashes and shows an error page and people need to use the Offline mode instead.

๐Ÿ’… Screenshots

image

"Server has reached its concurrent user limit"

image

๐Ÿ–ฅ Desktop or Smartphone

  • OS: All
  • Browser: All
  • Device: All

๐Ÿ“„ Additional context

I'm currently investigating hosting my own brokering server but there's a cost to that so I'm talking with different cloud solutions to see if there are plans for open source projects.

So far, that's my only options so we will see where that leads us.

Dark theme support

๐Ÿšฉ Is your feature request related to a problem? Please describe

When you play Fate and it's late at night, you don't necessarily want harsh white screens screaming at your eyes

โœ… Describe the solution you'd like

Fari could support a "dark theme" which could be triggered using a button in the menu.

The default value could come from the user's OS preferences

โœ๏ธ Describe alternatives you've considered

There is browser extensions that could also fix the issue:

https://chrome.google.com/webstore/detail/night-eye-dark-mode-on-an/alncdjedloppbablonallfbkeiknmkdi?hl=en

But the issue is that they are not tailored for the App and might have weird UI bugs and quirks.

๐Ÿ“„ Additional context

...

Firefox uses connections to peer server when Playing Online

๐Ÿšฉ Describe the bug

@gretro

๐Ÿ”ข Steps to reproduce

...

๐ŸŸข Expected behavior

...

๐Ÿ”ด Actual behavior

...

๐Ÿ’… Screenshots

...

๐Ÿ–ฅ Desktop or Smartphone

  • Browser: [e.g. chrome, safari]
  • OS: [e.g. iOS]
  • Device: [e.g. iPhone6]

๐Ÿ“„ Additional context

...

[3.0.0 Beta] Cannot add saved characters to scenes in offline mode

๐Ÿšฉ Describe the bug

Saved characters cannot be added to a scene in progress in offline mode

๐Ÿ”ข Steps to reproduce

  1. Create and save a new character.
  2. Start an offline game.
  3. Click 'Add Character'.

๐ŸŸข Expected behavior

Should have the option of selecting a saved character instead of just typing in a character name.

๐Ÿ”ด Actual behavior

Can only enter a name, cannot select a saved character.

๐Ÿ–ฅ Desktop or Smartphone

  • OS: Fedora
  • Browser: Firefox
  • Device: PC

Have also observed this on Windows 10.

Spanish translation

I wasn't able to log into reddit from the pc where i was doing the translation, so i attach the file here. I don't know how well it will hadle the รฑ and the accent marks. I tried to convey the meaning of the original text without it sounding too much a translation.

esTranslation.txt

Large images go over bounds of aspect

๐Ÿšฉ Describe the bug

When pasting a large image into a aspect the image goes over the bounds of the aspect

๐Ÿ”ข Steps to reproduce

  1. Start new session
  2. click on add aspect
    3, paste in a large image

๐ŸŸข Expected behavior

Image is resized to fit in box and/or handles are available to resize image to fit

๐Ÿ”ด Actual behavior

Image goes over bounds of box

๐Ÿ’… Screenshots

image

๐Ÿ–ฅ Desktop or Smartphone

  • OS: Windows 10
  • Browser: Chrome
  • Device: Desktop

๐Ÿ“„ Additional context

Workaround: resize the image to be smaller in other tab/application

Backspace default behavior when in character creation leads to loss of progress

๐Ÿšฉ Describe the bug

...

When creating or editing a character under the "Characters" tab: If no text field is selected and backspace is pressed (such as while tabbing through icons), the default "one step back in browser history" action follows.
This usually results in being transported back to the "Scene" or "Home" tab without prompt, losing the editing progress of the character.

While this it default Browser behavior, it's very annoying. As soon as no text field is selected (be it by unfocusing a text field via clicking in "blank" space or having selected an icon (e.g. via tabbing through)), this behavior occurs and all previous changes are lost.

๐Ÿ”ข Steps to reproduce

...

  1. Open app
  2. Click "Characters" tab
  3. Open character sheet, either via "Create New Character" and subsequent choice, or edit existing character
    --> edit sheet opens
  4. Edit a text field, e.g. "High Concept"
  5. Click on white title bar (e.g. containing "Aspects" title)
    OR
  6. check "Toggle advanced mode"
  7. Edit text field
  8. Press "Tab" twice (so that an icon is focused instead of a text field
    --> No text field is active
  9. Press "backspace" on keyboard

๐ŸŸข Expected behavior

"Backspace" hit is either ignored or prompts user to accept leaving the current screen (in this case: leaving character editing mode). Alternatively: Editing progress is saved after un-focusing a text field, so that previously edited fields still contain their most current content on re-opening character editing frame.

๐Ÿ”ด Actual behavior

The user is transported back to the previous screen in the browser history. In case of reproduction steps: Home screen.

๐Ÿ’… Screenshots

๐Ÿ–ฅ Desktop or Smartphone

  • OS: Windows 10
  • Browser: Firefox 78.0.2 (64-Bit)
  • Device: n/a

๐Ÿ“„ Additional context

Ability to remove elements from a card

๐Ÿšฉ Is your feature request related to a problem? Please describe

It's quite easy (at least if you're me) to accidentally add too many stress boxes, consequences, etc to a card.

โœ… Describe the solution you'd like

Small (x) button next to a consequence to remove it. Small (+) and (-) at the end of stress tracks to add and remove boxes.

โœ๏ธ Describe alternatives you've considered

Could potentially add 'Remove' options to the card menu similar to the 'Add' options, but this would bloat the menu quite a lot.

Be able to save a scene

โœ… Describe the solution you'd like

Some way for a GM to be able to setup and save a scene beforehand. This would allow the GM to prep in advance if desired without having to do it all at the table.

โœ๏ธ Describe alternatives you've considered

I believe it is possible at the moment to set up multiple different simultaneous online games and get the players to switch them at the appropriate time, but this should be simplified for users.

Ideas for solutions:

  • A navigation bar at the top of the GM view of an online game to swap between/create new scenes.
  • A way for GMs to setup a scene offline and persist it to local storage.
  • A login system for GMs/players to manage resources such as scenes/characters/etc...

๐Ÿ“„ Additional context

Requested on the Fate RPG subreddit by u/Dorsai_Erynus and others: comment requesting the feature

Add character sheet elements to player characters

โœ… Describe the solution you'd like

The character tracker currently has names, initiative, fatepoints and dice, but it would be useful to the user to have other elements accessible as well. In particular I think that (as a collapsible area) players and GMs should have access to:

  • Stress
  • Consequences
  • Skills with a dice roller (e.g. if they had a +2 skill they could roll the dice and automatically get the result + 2)
  • A place for Aspects and Stunts, though this is more of a nice to have as it isn't something regularly changing.

There would be benefit to adding such elements (particularly skills) to npcs/bad guys

โœ๏ธ Describe alternatives you've considered

This would be best implemented as a collapsible section so that if people don't want to use the more extensive features it doesn't need to be seen/interacted with to still have a good experience.

๐Ÿ“„ Additional context

Requested by several users on the Fate RPG subreddit: comment requesting the feature

Zones management in Scenes

๐Ÿšฉ Is your feature request related to a problem? Please describe

Fari currently doesn't support any drawing functionalities which makes it hard to handle zones and the link between each of them.

This question arose from a discussion on Reddit.

โœ… Describe the solution you'd like

A scene could have a drawing pad that the GM could draw on and that could be synced to all players.

โœ๏ธ Describe alternatives you've considered

Aspects could also have a "drawable" toggle which would trigger a drawing pad on each of them though it would be more complicated to do than just one drawing board.

๐Ÿ“„ Additional context

Initial POC:
poc

Disable dice for ~n seconds after a roll

๐Ÿšฉ Is your feature request related to a problem? Please describe

From #84

Also there is a delay from when the player roll a die and the result appears on the other players screen, given the chance to reroll a low result before the roll appears on the GM screen, showing just the second roll. i suggest to introduce a few seconds delay for a reroll, giving time for the rest of players browser's to "catch up". If you multiclick, you will stack several rolls and get a different result on different screens until it suddenly change to the final one.

โœ… Describe the solution you'd like

  • Disable dice after a roll for ~3s or something

โœ๏ธ Describe alternatives you've considered

...

๐Ÿ“„ Additional context

From #84

Add support for self-hosting via Docker

These days a lot of software is distributed in the form of Docker containers, which vastly simplifies deploymend and self-hosting.

It would be nice if this project included an official Docker image, accessible from hub.docker.com.

Copy to clipboard button doesn't work in all browsers

๐Ÿšฉ Describe the bug

Sometimes a browser doesn't support navigator.clipboard.writeText

๐Ÿ”ข Steps to reproduce

  • Open IE11
  • Play an online game
  • Click on the copy to clipboard button

๐ŸŸข Expected behavior

The text is copied to the clipboard

๐Ÿ”ด Actual behavior

The app crashes with sentry's rendering error

๐Ÿ’… Screenshots

...

๐Ÿ–ฅ Desktop or Smartphone

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Device: [e.g. iPhone6]

๐Ÿ“„ Additional context

For old browser, we should simply open a new tab

Can't connect

๐Ÿšฉ Describe the bug

My players cannot connect to my game and I cannot connect to one created by any of them (the rest is able to).

๐Ÿ’… Screenshots

...
image

๐Ÿ–ฅ Desktop or Smartphone

  • OS: Ubuntu 18.04 and Win10
  • Browser: chrome and firefox
  • Device: Dell Laptop

Scene Name Placeholder Text

๐Ÿšฉ Describe the bug

This bug is a minor UI/UX concern regarding placeholder text for Scene Name. Placeholder text should not be used as the label or, as in Material Design, it should float above after the user begins typing.

Rationale (see #7):
https://uxplanet.org/10-rules-for-efficient-form-design-e13dc1fb0e03

๐Ÿ”ข Steps to reproduce

Steps to reproduce the behavior:

  1. Go to 'fari.com'
  2. Click on 'Play Online Game (BETA)'
  3. Click on the text box containing 'Name of your scene...'

๐ŸŸข Expected behavior

Placeholder text 'Name of your scene...' should disappear and the text box should present a blinking cursor with no text inside it.

๐Ÿ”ด Actual behavior

The cursor appears blinking within the placeholder text, so that the user must delete it.

๐Ÿ’… Screenshots

...
image

Character Sheet's Aspects, Stunts, Skills, Stress Tracks and Consequences cannot be translated

๐Ÿšฉ Describe the bug

Some fields in the character sheets are hardcoded which makes it impossible to create a pre-localized character sheet.

๐Ÿ”ข Steps to reproduce

  • Load the app
  • Change the language to Spanish
  • Create a new character

๐ŸŸข Expected behavior

Aspects, Stunts, Skills, Stress Tracks and Consequences labels should be in Spanish

๐Ÿ”ด Actual behavior

Aspects, Stunts, Skills, Stress Tracks and Consequences labels should be translated in the user's currently selected language.

๐Ÿ’… Screenshots

...

๐Ÿ–ฅ Desktop or Smartphone

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Device: [e.g. iPhone6]

๐Ÿ“„ Additional context

...

Character Management

AC

  • I can select a game system
  • I can create a character for any supported game system
  • I can update a character for any supported game system

Ability to resize character sheets

๐Ÿšฉ Is your feature request related to a problem? Please describe

Currently when I am viewing a character sheet, the longer skill names wrap onto a second line. For example the skills ACADEMICS displays ACADEMI on one line and wraps the CS on the following line.

โœ… Describe the solution you'd like

It would be nice if there was a way to resize the character sheet to make it wider so that skill names do not wrap. As it is possible to add your own custom skills, it seems like being able to manually resize the character sheet to fit the width you want would be the best option.

โœ๏ธ Describe alternatives you've considered

If adding the ability to resize the character sheet is too much work, then just increasing the default width of the character sheet would work as well.

๐Ÿ“„ Additional context

image

As a GM, I want to have more options when using the drawing tool

๐Ÿšฉ Is your feature request related to a problem? Please describe

Give the GM the possibility to have a better and bigger drawing tool with the ability to create boxes, circles, change pen color

โœ… Describe the solution you'd like

  • ability to draw forms (circle, rectangles, freeform)
  • ability to change pen color
  • index card "add draw area" ?
  • save to index card ?
  • add player tokens ?
  • full screen for GM ?
  • compressed view for players ?

โœ๏ธ Describe alternatives you've considered

GM could also use another tool for this but it would be best if everything was within the same app

๐Ÿ“„ Additional context

Coming from #84

...

[3.0.0 Beta] Several things

When a scene is saved, it won't load unless you load or create another one. Like if you save a scene and push the reset button, the scene will appear empty, but the "load scene" button won't bring back the aspects. If you load or create another scene it works correctly. So you must switch to another scene for it to load properly.

Also, i don't know what i did, but when i loaded a scene and clicked in the "new" option, the whole player's panel and the load button disappeared.
When this happens, the game closes and every player is disconnected to the "the game does not exist" screen.

I have noted that even if you change the name of the scene you overwrite the current scene, i think that changing the name should create a new scene, easing the task of creating several different scenes without needing to create a new scene everytime (given that a reset wouldn't change the scene)

Weird... whenever i joined my game and chose a character, the GM's dice suddenly rolled.
It wasn't me, because the GM screen was in a different tab. It happens whenever a new character joins and the roll is always 1 (0+-+).

The character sheet opens when you click anywhere in the character tab, not just on the "open sheet" icon.

If any player double-click on the drawing pad, the drawing is gone for him/her. It reappears when the GM adds something to the drawing.
I don't like much the double-click erase thing. It happened to me several times to need to redraw everything because of a double click, as the undo button won't undo the deletion.
I think the drawing pad rework will handle that kind of things.

For now it's all i had time to test. I'll come back to play around more.

Map editor: Hexagrid

Create the Hexagrid.

  • Ability to view the Hexagrid
  • Ability to zoom
  • Ability to rotate the grid

Numbered Check Boxes on Index Cards

๐Ÿšฉ Is your feature request related to a problem? Please describe

It's currently hard to know when playing Fate accelerated or Core how much damage is absorbed by a checkbox since they are not numbered

โœ… Describe the solution you'd like

I think just numbered the boxes would be a nice first step

โœ๏ธ Describe alternatives you've considered

The checkbox could be replaced by toggleable numbers... (Still thinking about options here)

๐Ÿ“„ Additional context

...

Group suggestions

๐Ÿšฉ Is your feature request related to a problem? Please describe

After a couple of games with my group i asked them to suggest new features that could be useful for the play

โœ… Describe the solution you'd like

Their suggestions were:

  • An option to add a picture to the character sheet
  • A way for the players to be able to draw on the drawing pad (with GMs permission)
  • More drawing colours and a set of tools for drawing circles, squares or straight lines (since my attemp to draw several buildings was monicked as "jelly houses")
  • I would suggest a way to collapse the characters bar to give more screen space to the aspects zone, for more crowded scenes.
  • Also there is a delay from when the player roll a die and the result appears on the other players screen, given the chance to reroll a low result before the roll appears on the GM screen, showing just the second roll. i suggest to introduce a few seconds delay for a reroll, giving time for the rest of players browser's to "catch up". If you multiclick, you will stack several rolls and get a different result on different screens until it suddenly change to the final one.

โœ๏ธ Describe alternatives you've considered

Everything is a suggestion and we enjoy the games so far as is.

๐Ÿ“„ Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.