Lattyware / massivedecks

A comedy party game for PC, mobile & chromecast.
http://md.rereadgames.com/
GNU Affero General Public License v3.0
437 stars 89 forks source link

Replace Cardcast #137

Closed Lattyware closed 4 years ago

Lattyware commented 4 years ago

So uh, turns out Cardcast is dead on short notice.

I'll take a look at setting up a new place for people to create custom decks (with makedecks already existing, that shouldn't be too much work.

If there is a good existing alternative where people can make/share custom decks, please let me know.

dantherussell commented 4 years ago

For what it's worth, I gave makedecks a shot and while it's definitely powerful, it was a bit tricky to figure out how to use. Multiple lines, text formatting, and those features are nice to have, but maybe a basic mode which just provided text entry and slot entry would be a worthwhile addition. I'd definitely be up for contributing, but I'm completely new to Elm so it may not be much help

Lattyware commented 4 years ago

Yeah, it was intended as a development tool rather than something for end users. I'd definitely make some changes for a more general use case.

For what it is worth, the simplest way right now to create a lot of cards quickly is to use the import function (second button at the top-left of the page). Each line will be treated as a card, with an underscore representing a slot in calls.

dantherussell commented 4 years ago

Oh! That would have been so much easier than what I ended up doing

sp00nhead commented 4 years ago

Could this be a good option? https://github.com/greencoast-studios/cards-against-humanity-api Had to quickly jump on a game of https://github.com/jakelauer/allbadcards as my MassiveDesk install was dead. I prefer Massive Desks interface :)

Lattyware commented 4 years ago

MD should still work with built-in decks, at least.

The main thing that Cardcast did is letting people easily make their own decks—if the plan was just a set collection of decks, the built-in source is probably fine, so I'm not sure that project offers too much.

Lattyware commented 4 years ago

OK, I've thrown together an quick version that allows loading decks from a given URL, which should serve JSON as produced by Make Decks. As noted above, the import is probably the easiest way to make a deck, the editor is more for fine tuning.

Obviously, you'll still need to host that JSON somewhere to get a URL. There are a number of JSON "pastebin" style sites that should work e.g npoint.

markspolakovs commented 4 years ago

@Lattyware I'm getting an error using it: Failed to execute 'querySelector' on 'Document': '#json-url-https://gist.githubusercontent.com/markspolakovs/URL_HERE/raw/URL_HERE/FILE_NAME_HERE.json' is not a valid selector

markspolakovs commented 4 years ago

Resolved that by this patch:

diff --git a/client/src/elm/MassiveDecks/Card/Source/JsonUrl.elm b/client/src/elm/MassiveDecks/Card/Source/JsonUrl.elm
index 66d1672..1a05aed 100644
--- a/client/src/elm/MassiveDecks/Card/Source/JsonUrl.elm
+++ b/client/src/elm/MassiveDecks/Card/Source/JsonUrl.elm
@@ -127,7 +127,11 @@ tooltip : String -> (String -> List (Html msg) -> Html msg) -> Maybe ( String, H
 tooltip url tooltipRender =
     let
         forId =
-            "json-url-" ++ url
+            "json-url-" ++ (url
+                            |> String.replace "." "_"
+                            |> String.replace "#" "_"
+                            |> String.replace ":" "_"
+                            |> String.replace "/" "_")
     in
     ( forId, [ Html.p [ HtmlA.class "json-url" ] [ Html.text url ] ] |> tooltipRender forId ) |> Just
Lattyware commented 4 years ago

@markspolakovs Yeah, that was just something super hack-y thanks to the nature of it being an ultra-quick method to get decks in.

I've just pushed Many Decks, with a hosted instance that is now wired up to the Massive Decks hosted instance. This gives a much better (although still very alpha-quality) experience for building and storing decks.

From this point, I'll close this issue as we have something. If you find issues, please open a new issue here if it relates to Massive Decks connecting to Many Decks, or on the Many Decks repository if it is actually an issue Many Decks itself. If you aren't quite sure, just pick one, worst case it can get moved.

I have totally ripped out the Json Url source. You should be able to upload any deck you had to Many Decks, which hopefully covers most people. While I can imagine some people might have wanted to keep using it, it had a ton of issues and I already saw someone trying to abuse the feature, so I took it down. I am still open to other sources, but that particular implementation was done in a rush and if it was to be replaced, it'd need to be with something more robust.