Coder Social home page Coder Social logo

purplekingdomgames / virtual-gloomhaven-board Goto Github PK

View Code? Open in Web Editor NEW
19.0 19.0 5.0 57.54 MB

Interactive game board for Gloomhaven

Home Page: https://vgb.purplekingdomgames.com/

License: Creative Commons Attribution 4.0 International

Shell 0.08% Elm 83.47% HTML 1.02% C# 1.67% Batchfile 0.05% SCSS 11.40% JavaScript 2.09% Dockerfile 0.22%
gloomhaven

virtual-gloomhaven-board's People

Contributors

dependabot[bot] avatar hobnob avatar luksan47 avatar northburns avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

virtual-gloomhaven-board's Issues

Randomize the monster numbers

A small request: please randomize (or provide a button) the monster numbers in a given room. In a crowded scenario like Forgotten Sewers it can have a pretty big impact.

Compass background overlaps map

Is your feature request related to a problem? Please describe.
The compass on the map overlaps some tile overlays.. the Z-index needs changing so that it's behind the board but in front of the map

Menu shortcuts

Is your feature request related to a problem? Please describe.
When undoing an action I have to click the menu and then click 'Undo'. Doing this multiple times is frustrating and needs to be simplified

Describe the new feature you'd like
Each menu should have a clear keyboard shortcut associated with it, which is also displayed in teh menu. For Undo this is obviously Ctrl/Cmd + Z. Other items are less obvious and will be defined later (probably while this feature is being written)

Overlay orders and restrictions are wrong

Affected Scenario(s): 73

Describe the bug
From reddit:

So a bug I noticed on scenario #73. When you move an object onto a purple hex (difficult terrain in this one), the object disappears and you have to undo to get it back. Also a problem on this one is that objects and traps cannot occupy the same space.

Kinda unique due to the mechanics of this scenario but hopefully, in Frosthaven, we will be seeing more strange map designs like this.

** Potential Fix **
If we change the order overlays are ordered they can be placed on top of hazards like water. It was also reported that you can't place things on doors, so this restriction should also be removed. We should probably have an order similar to this:

  • Door
  • Hazard
  • Diffficult Terrain
  • Treasure
  • Obstacle
  • Trap
  • Player/Monster
  • Loot

Solo Scenarios

Describe the new feature you'd like
A while back Solo Scenarios were released that granted players additional loot. While this isn't remote play in the traditional sense (e.g. only one person is playing) I can see a situation where one person has Gloomhaven, but others in their party don't and would like to do the random scenario.

  • Complete Solo Scenario Loading
  • Brute
  • Tnkerer
  • Scoundrel
  • Cragheart
  • Mindthief
  • Spellweaver
  • Phoenix Face
  • Lightning Bolt
  • Angry Face
  • Triforce
  • Eclipse
  • Cthulhu
  • Three Spears
  • Saw
  • Music Note
  • Concentric Circles
  • Sun
  • Diviner

Make menu clearer

Is your feature request related to a problem? Please describe.
The menu on the left is not as clear as it could be and some people are struggling to figure out the icons. this is exacerbated by some icons having a specific meaning in Gloomhaven that is not the same meaning as the app gives them

Describe the new feature you'd like
I think stylised tooltips would help here. The title that we've got is fine, but it doesn't really show for a while. Another suggestion was to be able to extend the menu to include the names. I'll have to play with it to see what's better style wise

Improve first load

Is your feature request related to a problem? Please describe.
Some users are finding it confusing that they're presented with no real 'map' at the start. This is because there are no players present, but rooms with starting locations should always show up, so we should really start with a room with no players in it.

Wrong Pillar Location

Affected Scenario(s): 69

Describe the bug
If you open the door on the right of the starting room a pillar appears that does not belong to that room. This pillar actually belongs to rom d2a

To Reproduce
Steps to reproduce the behavior:

  1. Load Scenario 69
  2. Reveal the room to the right
  3. Notice pillar

L1b is duplicating content from L3a

Affected Scenario(s): 75

Describe the bug
The big room in the middle is duplicating content from the left side

To Reproduce
Steps to reproduce the behavior:

  1. Open scenario 75
  2. Click on the bottom door
  3. Big room opens - content on the left side of the room is duplicated on the right side

Accessibility

Is your feature request related to a problem? Please describe.
For those that have limited vision or visual impairment we don't provide any screen-reader support. We should absolutely provide this to make sure as many people as possible can enjoy the game.

Describe the new feature you'd like
Add screen-reader support and then test it with the Accessibility tools provided by browsers. Mostly this will be aria proeprties, but there may also be some amends to make elements focusable, with tab indexes etc also being implemented.

Todo

  • Basic aria integration
  • #95
  • Dialogs need to auto-focus on the first form element when they open
  • Menu needs to show that it's focused (needs an outline)
  • Menus need to actually work when pressing enteror space
  • High contrast mode

Support Jaws of the Lion

Is your feature request related to a problem? Please describe.
The title says it all really.

Describe the new feature you'd like
We need to support expansions for other people who own Jaws of the Lion. This will involve a bit of an overhaul and a think about how scenarios will be set/rendered. I have a PDF of teh scenario bookon the way, which should give me a clearer indication of whats involved and therefore when I might be able to get this in

Invalid room code feedback

Is your feature request related to a problem? Please describe.
Entering a wrong room code just results in a blank room code

Describe the new feature you'd like
There's a disconnect between the server room codes and what the client can enter (for example a client can enter the letter i, which isn't valid). When this happens we don't feed back to the player at all and so they're left wondering what went wrong. At the earliest oppertunity we should send the code to the server for validation and reply back, letting the player know that something is wrong.

Safari doesn't render image masks

Affected Scenario(s): All

Describe the bug
Safari doesn't render image masks at all, and requires the -webkit- CSS prefix to make it work. There are possibly other issues as well, but since I've neglected to test on Safari this might take a little while to investigate and fix fully

Browser : Safari

Scroll to first available tile on map load

Hello, thank you for the effort you're putting on this.

It will be very nice, especially for long vertical maps that starts at the bottom, to scroll to the first visible tile on page load.

Thank you

Mobile & 4k support

Describe the bug
Unuseable on a mobile device :-( On a 4k device the text is difficult to read as well, so we should investigate fixing this.

Mostly this is about style. The menus and dialogs are too big to fit a mobile device, and too small on 4k, and the whole experience is just clunky. On top of that, dragging characters or tiles on mobile doesn't work, causing the whole thing to be unuseable.

Room code text entry clears randomly

Describe the bug
Entering a room code sometimes results in an empty text box

To Reproduce
Unkown. At the moment it's been reported twice in Chrome, with no exact reproducable instructions

Browser : Chrome (maybe also mobile)

This might be down to an input handler vs change handler issue - the 2 events are not the same, and I think this might be interpreted differently on different browsers. Might have to switch to a change event to be safe.

Border for characters

Is your feature request related to a problem? Please describe.
Monsters have borders, but characters don't

Describe the new feature you'd like
No reason why we shouldn't have character borders. They would help make the pieces stand out for a start, and it's been requested on reddit for another ;-)

Killied a characte piece can't be added back in

Affected Scenario(s): All

Describe the bug
Killing a player piece doesn't result in them being added to the 'Add Piece' menu

To Reproduce
Steps to reproduce the behavior:

  1. Load a scenario
  2. Play with client / server
  3. Kill a player piece
  4. Notice it doesn't appear in the 'Add Piece' menu

Browser : Firefox

Custom Summons

Describe the new feature you'd like
Summons are currently the standard purple that comes with Gloomhaven, but it would be nice to customise them into any colour, and to assign them a new number. Less confusion, and a better experience

Door open overlay

Is your feature request related to a problem? Please describe.
When a door is open it should be marked as such

Describe the new feature you'd like
We don't currently have an icon for open doors, but this is something we should absolutely do if possible. I'd have to track down some open door tokens, but that shouldn't be a problem

Players sometimes disappear when reloading a scenario

Affected Scenario(s): All

Describe the bug
Reloading a scenario will sometimes result in players being removed

To Reproduce
Steps to reproduce the behavior:

  1. Load a scenario
  2. Play for a bit with a client and a server
  3. Reload the scenario
  4. See error

Browser : Firefox

Fix Forms

Is your feature request related to a problem? Please describe.
Forms just don't work as they should do for a number of reasons. The submit button doesn't react to Enter, the cancel button doesn't react to Esc, and room codes are hard to copy + paste into. This needs to be fixed to improve the user experience.

Describe the new feature you'd like
Add Enter and Esc support to all forms for a start. The Cop + Paste issue with room codes will need clipboard event handling whereby we can interogate the clipboard for data and act accordingly. Additionally when entering a room code we should be clever enough to ignore hyphens and move to the next box at the right time

Improve performance

Is your feature request related to a problem? Please describe.
Adding to the DOM is just slow - we can do better

Describe the new feature you'd like
As it stands any change to the board requires Elm to parse the entire tree for differences and add it. This results in a second or so of delay. It's not the biggest issue in the world, but it still annoys me and needs changing. We can be faster, we should be faster ๐Ÿ™‚

This will involve lazy loading where needed, and correct DOM keys set where appropriate for pieces that may move a lot.

Random Scenarios (including scenario 55)

Is your feature request related to a problem? Please describe.
At present it's impossible to create random scenarios from the app. This means that scenario 55 can't be implemented because it uses the random scenario generator in order for it to work.

Describe the new feature you'd like
There are a couple of possible solutions to this:

  1. Include a random scenario generator
  2. Allow players to create their own custom scenarios

While both are very different implementations, they pose the same basic problem - how to get the map to the other players? One solution to this is a customised string that defines the basic building blocks of a scenario, which is small enough to send quickly over the network, and descriptive enough to build a scenario from. The details of that scenario can then be transmitted using the game state.

Whichever we decide to do it'll be a fairly large piece of work... should be fun though ๐Ÿ˜ƒ

Breakable walls

Scenario 73 contains breakable walls - these are a mix of enemy (they can be attacked) and door (they reveal a room when defeated)

Add optional markings to grid

Some tiles have a marking (such as '1' to read a passage from the scenario book). It would be useful to have these markings available to view (probably as an option on/off)

We could implement the options in the settings, and then the marking could be a form of overlay

Social media meta data

Is your feature request related to a problem? Please describe.
This is a very specific gripe - when pasting a link into Slack (and probably other messaging services as well) there's no meta data to give a nice description of what the link iof for, or icon, or anything of that ilk

Describe the new feature you'd like
Add the usually social media meta-data

Server blindly accepts game updates

There is no way for the server to determine the sequence of updates. If a client submit an update with an old state it will overwrite all updates that came previously.

The fix is to include a sequence that gets incremented by 1 on each new state change that the server can then check against. A timestamp will also serve this purpose

Disable menu items

Is your feature request related to a problem? Please describe.
It's been suggested that other apps should be able to integrate with this one, but we offer little control over teh experience.

Describe the new feature you'd like
We should allow certain menu items to be turned off/on. The first 2 that spring to mind are the 'Change Scenario' and 'Choose Players'. This will allow third party apps to lock players to a certain configuration for the duration of their play. Additionally we should also provide a way to override the player configuration and the scenario number

Forgotten Circles support

First, you're the bomb for putting this together. Great for when we already have the game but want to social distance.

Would it be possible to add support for Forgotten Circles? Mainly you just need the Diviner and an overlay tile for the rifts. Rifts would need to be able to be placed on any tile, even tiles with obstacles or characters, and always visible. I'm thinking something transparent and/or only covering part of a hex.

A better UI

Is your feature request related to a problem? Please describe.
There's a lot of clicking in order to do simple things like moving or killing a piece. One of the reddit users has suggested a simpleer method by which the user clicks for a context menu, and dragging always drags the top hex tile.

Describe the new feature you'd like
An overhaul of the UI is needed I think, but carefully and in a way that improves the experience

Fullscreen / Full Board

Describe the new feature you'd like
Being able to have full screen mode enabled would be great and allow players to make full use of the space. Full board is a request raised on reddit, where the board fills the screen space for things like virtual boards.

Undo & Redo actions

Is your feature request related to a problem? Please describe.
As it stands, if an action is done by mistake (player is killed off, for example) then you can't undo that action. In the case of a player being killed off you would have to either reset everything or use a summons (neither of which are great)

Describe the new feature you'd like
Add an Undo action at least (with a redo as well maybe) so that mistakes can be rectified

Two-Minis is not actually 2 minis

Describe the bug
Two-Minis actually (as the name suggests) is 2 distinct miniatures. There's no way to support this currently, with the player having to use the summons and a character (not ideal).

To Reproduce
Steps to reproduce the behavior:

  1. Select 'Two-Minis' as the charcetr
  2. Only one miniature is available

Share link

Is your feature request related to a problem? Please describe.
Wouldn't it be nice to share?

Describe the new feature you'd like
I can see a situation where you might set up a game and want to share that game with other people, so they don't need to enter a room code. This shouldn't be too hard with a Base64 encoded URI that decodes to a game state, and I think people would find it really useful

Map tiles will sometimes not show correctly

Scenario 21 - the south-west room doesn't show, even when the tiles are revealed, and the room to the east of that is visible even before the tiles have been revealed.

This should be fixable by changing how map tiles are displayed. If we separate out the map tile display from the cell display it should negate this issue.

Visible disconnection

**Is your feature request related to a problem? Please describe.**As a player I can't currently tell whether or not I'm connected to the server. The game will run perfectly well either way, but a disconnection could mean that the next time the player connects they see a vastly different board and may not know why.

Describe the new feature you'd like
Move connection/disconnection management into Elm where we can manage notifications better and timed reconnects better. Add a new notification to let the user know when we'll try and reconnect, and give them the option to try again themselves.

Everything should be optional

At the moment monsters have settings for the level they appear at to different party sizes (none, normal, elite). But some scenarios also apply a filter to items within the map depending on the party size. For example, Scenario 23 requires different pressure plates to be assigned depending on the party size.

We need a way of ascertaining that something is visible only to certain party sizes. The recomendation is 3 optional flags (twoPlayerVisible, threePlayerVisible, and fourPlayerVisible) in the scenario JSON on obstacles, traps, doors, etc. to determine visibility. by default these would be true but can be overridden in the JSON

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.