control-net / libre-cards-against-humanity Goto Github PK
View Code? Open in Web Editor NEWFree and Open Source implementation of Cards against humanity using Signal R.
License: GNU General Public License v3.0
Free and Open Source implementation of Cards against humanity using Signal R.
License: GNU General Public License v3.0
When picking more than one card for a template, there is no indication of in which order they will be submitted.
The system is already designed to submit them in the order they were selected, however, the user has no way of knowing that.
The simplest solution would be to display a little number on the selected cards indicating their order (we can utilize their index).
A more advanced solution would be to create a preview of sorts, where the user would see the cards appear in order as they're selected.
โค๏ธ First of all, thank you so much for considering tackling this issues.
๐ค Feel free to discuss the implementation in the comments and/or ask for any clarifications!
๐ฌ Let us know you'd like to work on this issue by commenting underneath so that we don't work on the same thing
We can significantly reduce the number of calls between Client and Signal R hub by utilizing a number of improvements.
At the moment, if a player gets disconnected, there is no way of rejoining the session. We should probably have a way of making sure current connections are timed-out correctly.
After a number of players leave, there should be an exception thrown server-side. That should be a good first fix for this issue.
Our ICardRepository currently does not have a real implementation.
Create an implementation of ICardRepository that uses /src/LibreCards.Core/default-cards.json
as the card source.
If you'd like to tackle this issue, make sure to comment below so that multiple people don't work on the same issue accidentally. ๐ฎ
Another part of our very Work-In-Progress UI is the Response View.
This is the view that displays everyone's responses and if the current player is a Judge, it also displayed a button to pick the winning card(s).
This view really doesn't work well with multiple card submissions and needs a lot of love. ๐
โค๏ธ First of all, thank you so much for considering tackling this issues.
๐ค Feel free to discuss the implementation in the comments and/or ask for any clarifications!
๐ฌ Let us know you'd like to work on this issue by commenting underneath so that we don't work on the same thing
If the game is in a Waiting For Players
state, the Lobby Owner should be able to add more cards by providing a link to a valid JSON file in the same format as our cards-default.json
Libre Cards Against Humanity much like the original game is only as good as its card-set. The simplest thing you can do to help out the game is contribute templates and/or cards.
Cards are stored in JSON format in the default-cards.json file.
Please make sure your cards and templates conform to the following rules:
<BLANK>
labelIf you're not sure, feel free to ask in the comments. โฅ
You can PR a change even if others are already working on this issue. This is an ongoing help-wanted.
โบ๏ธ
If a hub call fails (eg. Core throws), the clients will never know and the exception gets swallowed.
Bare minimum, we should log it.
Ideally, we'd have a callback to affected clients with a message.
At the moment, errors are displayed at the top of the page and never disappear. This clearly isn't the best way of doing it. ๐
Ideally, we'd get a little toast popup appearing with the error. This popup would auto-hide after a while.
We should also probably write the error into the console just in case.
โค๏ธ First of all, thank you so much for considering tackling this issues.
๐ค Feel free to discuss the implementation in the comments and/or ask for any clarifications!
๐ฌ Let us know you'd like to work on this issue by commenting underneath so that we don't work on the same thing
There currently is a single lobby per-server. This obviously isn't ideal.
There should be a list of lobbies, where a player can start a new one, or join an existing one.
If a lobby is empty, it should be removed from the pool.
โ ๏ธ There is a good chance this will have to be split into multiple issues
Currently, if a player leaves in the middle of a game, the game gets soft-locked, since everyone will be forced to wait for this non-existent player.
โค๏ธ First of all, thank you so much for considering tackling this issues.
๐ค Feel free to discuss the implementation in the comments and/or ask for any clarifications!
๐ฌ Let us know you'd like to work on this issue by commenting underneath so that we don't work on the same thing
a concept of a lobby owner is needed in order to restrict who can start a game
In our ILobby
interface we are exposing a GetPlayers
method that returns an IEnumerable<Player>
. It might be a little more convenient to have a Players
property with only a getter to access this collection.
The GetPlayers
method needs to be changed into a Players
property with only a { get; }
(getter) and users of this interface need to be adjusted.
If you'd like to tackle this issue, make sure to comment below so that multiple people don't work on the same issue accidentally. ๐ฎ
On August 24, 2021 (7 PM CEST), I'll be live on Glimesh:
https://spelos.net/live
Some sort of a Hackathon is planned for this stream, getting as many features in so that others (including first time contributors) have something real to work on. There will be plenty of things to fix up after this stream.
Feel free to stop by. โค๏ธ
Our Card Drawer is in a dire need of a redesign. ๐
This is mostly an HTML / CSS task, but might require a tiny bit of Blazor, depending on the severity of the redesign.
Currently, the cards contain simple checkboxes (related to #23 ), which could be redesigned using some CSS magic.
Ideally, we'd click on the cards themself instead of the checkbox and have them change the way they look, maybe they move up...
The Submit button should also probably look a little more presentable. ๐
Be creative, this is not a concrete task.
โค๏ธ First of all, thank you so much for considering tackling this issues.
๐ค Feel free to discuss the implementation in the comments and/or ask for any clarifications!
๐ฌ Let us know you'd like to work on this issue by commenting underneath so that we don't work on the same thing
It's time to redesign and polish our Player list view component. ๐
This is mostly HTML / CSS work.
If you're a designer, but aren't able to code, feel free to send your design in the comments below and I'm sure someone will be able to bring your design into life.
The HTML (razor file) in question is PlayersView.
The CSS resource is our app.css
โค๏ธ First of all, thank you so much for considering tackling this issues.
๐ค Feel free to discuss the implementation in the comments and/or ask for any clarifications!
๐ฌ Let us know you'd like to work on this issue by commenting underneath so that we don't work on the same thing
In order to provide a better and easier experience for first-time-contributors, it would be beneficial if we had a detailed step-by-step (ideally with screenshots) walkthrough of a sample contribution.
This would lower the barrier of entry and prevent small mistakes that could discourage potential contributors.
โค๏ธ Feel free to comment any suggestions, ideas, or remarks you may have on this topic.
Current IGame should have IGameState as a dependency to separate ILobby
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.