Hey @DeReel I feel like a good best practice for this thread would be for each of us to concentrate on what our own personal ideal end state is, and maybe leave off telling others that their own concerns are trivial.
Excellent idea. ;D
(Of course my intent was different but in my book one is responsible for how they are understood. Sorry for how it comes through.)
Ok, I’ve added a “Sorter” Dynamic Paper. But this underscores the need for resizing Dynamic Paper components, as you can only see at maximum a row of 3 d6es inside the Sorter. I’ll work on resizing soon.
(Unless there are other web developers out there that want to help out?)
This is very promising!
A couple of minor comments:
- The deck works far better than I thought! You just need to double-click on it to “draw” a card. It would be good to indicate this somehow (maybe a button in the bottom menu?), as I didn’t clue into this for a long time. Excellent tool!
In general, this could really use a “click and drag” multiple selection tool. Would be really handy! For dice as well as cards.
When you use the “last used feature” hot button, whatever you create appears underneath the item in the top left. This isn’t a big deal, but could be confusing for some.
I still think having some basic dice buttons always showing at the bottom of the screen or something like that would be a huge improvement!
On the subject of complex dice formulas:
I’m risking being unhelpful rather than helpful now, but I would recommend that you do not put too much work into producing or reproducing complex dice formulae (like exploding dice). This is an open-ended, endless hole to open, since there are always more games and more techniques. And most dice rollers out there (e.g. roll20, Troll, etc) already do an amazing job handling a huge variety complex formulae. What will make your dice roller special and unique is by being more like actual dice at an actual table, not by spending time coding complex systems and formulae. I think most games are designed to work with actual dice at an actual table, so if you can make handling the dice easy and intuitive to begin with, that should do the trick (if you’re not annoyed by rerolling dice at a physical table, it shouldn’t bother you in an online roller, either). I won’t say any more on this subject, since it risks opening a major debate!
Back to our regular, scheduled programming…
For what it’s worth, the resizing doesn’t have to be dynamic. If you could set those parameters when you generate the “paper”, that would already cover most of what we need (although, of course, doing it dynamically would be even nicer).
Ok, that’s a fairly simple one to implement. Try hovering your mouse over the “+ Dice” button now.
That’s great! An excellent implementation. Very nice! Perfect.
By the way, I was fooling around a bit with the Dynamic Paper, and I wonder how useful the “Sorter” function is. It will only be useful if we have the ability to “roll” dice directly onto the Paper (or repeated rerolls of the same set of dice). So, I suppose this could be really neat once that feature exists; without out, it’s not too useful (dragging the dice one by one onto the Sorter, after all, is more work than just finding the highest values yourself). (A good click-and-drag interface could also make it useful, however.)
As-is, adding many dice to the Sorter paper does some funny things: it sorts the dice horizontally (left to right) without adjusting their vertical position. That’s probably good, but that means the Paper should be long and narrow, to show all the dice on it (else, they “disappear” underneath its borders).
Very exciting to see this in development!
Would it be possible for the size of objects (dice, papers, etc) to scale according to the zoom level? (Or, perhaps this isn’t desirable for some reason?)
Finally, without a way to adjust the size of things manually (like Papers and text boxes), some funny things happen - just like the dice going missing under the “edge” of the dynamic paper, if I create some text and then change its size, the text also “disappears” since the text “box” doesn’t expand. This could be set to scale automatically (to the size of the object/s), or to be adjusted manually by click-and-drag - either would work.
This should already be possible with any of the Dynamic Paper components - there should be a visible “Roll All” button whenever a Dynamic Paper is highlighted.
Thanks again for the continued great feedback. I’ll admit now that I’m back to my day job I have fallen behind the feature requests. To address this, when I get a chance, I’m going to go through this thread and put anything not already implemented into the Github Issues tracker. Secondly, (and this is where you and anyone interested can help) I’m going to look for anyone with an interest and a capability to help out.
Indeed! That was my sloppy writing: I meant to say that this was a great thing that the tool could already be used for, not that it was a missing function. Sorry!
So, does this effectively mean that this extremely promising and unique project is dead in the water for now?
That would be a shame! Is there a way to revive it?
Definitely not “dead in the water”! But updates will be more subject to the vagaries of life. This weekend I was able to work a while on the Resizing-Dynamic-Paper issue, and it feels like that’s halfway done now.
For the long-term, I’d love to attract people that are comfortable with HTML or SVG to make some contributions for some of the easier issues. I’ve tried to make it simple to add components but nobody has contacted me about trying the tutorial on GitHub. So if you know anyone or can get the word out, that would be super helpful!
Jim, I think this covers everything?
Wilhelm, try this out:
Go to 1kfa.com/table, Click Other -> Sorter. Double-click it, then grab & drag the handle in the lower corner to make the Sorter really long (horizontally).
Then click Dice -> Fudge/Fate and add as many dice as you need.
Then drag each die into the sorter. Click on the sorter to select it, and hit Roll All.
Does that work for you?
Resizing should now work. Double-click on a Dynamic Paper component, then pull the handle that appears in the lower corner.
This is how I set it up, when I found out how tricky it was to move a die from a sorter. But yes this would absolutely work for us. And in its current state it beats the current solution we use, as it sorts the dice for us, which is pure gold.
I don’t know about the framework you use, or what your UX principles are for the rest of the application. But I really missed a couple of things when I was playing around with it. Use or ignore as you please.
- I really wish the die I was holding rendered on top of everything else. Now I could drag it “under” a sorter, and drop it into the sorter, and it still worked, but it felt a bit odd.
- I really wish I didn’t have to doubleclick a sorter before I could move a die out out of it. Just drag and drop on the dice would be really nice, then we could have a bunch of dice on the playing surface, and drag as many in or out of the sorter before rolling, and it would feel quite natural.
- It would be fun if I could change the color of individual dice. At our table we have a bunch of plain dice, and a couple of red ones, that hold special significance. It isn’t a show stopper for us by any means, our current solution doesn’t handle it, but if the die roller offered that functionality it would be icing on the cake.
- I was a bit confused that I couldn’t extend a sorter past the dark green vertical line of the field.
- I liked that I could add a label to each sorter, then each player can get their own, and the result from it can remain on screen when I roll another player’s dice. This will make our game run a bit smoother.
This is fantastic! Wonderful stuff. Really exciting!
I think colours of dice would be handy (although just putting them into different dynamic papers with labels can do the trick, as well).
Some other ideas suggestions that would really improve this:
- Being able to drag-and-click to select multiple dice would make a huge difference.
- Being able to “lock” a dynamic paper (so it can’t be clicked on or selected) would solve some of the issues Wilhelm is talking about. Kind of like sending it to another layer would work in a layout program. Might be an easier solution than some other option?
- Colours of dice, yes, and not disappearing under a sheet would be great (perhaps can be combined with the thing above).
Have you ever seen or used rollforyourparty? Your dice roller is superior in many ways, but I wonder if you’re familiar with the code; perhaps some of it could be stolen.
And I have a friend who may be interested in helping with this project. I’ll reach out!
EDIT: Although it’s really not intuitive at first, double-clicking on a “paper” to move dice from it something you can get used to in about five seconds, and isn’t hard to do. The card deck has a similar “interface”, which I wrote about earlier. Not intuitive at first, but not hard to use once you get the hang of it, either.
We used it for our game today to great success. Everyone thought it was better than the old solution, and found the sorting very helpful. We used one sorter per player and dragged dice in and out as needed. It would have been very nice to have a choice of red and black dice among the current white ones, but that would be icing on the cake.
- Shared Screen for all players
- Drag, Drop, and Lock function with native support for PDFs (to import sheets)
- Dice Roller right on the surface with light physics to give the jingly dice feel
- Intuitive and nonintrusive Text Fill
- Minimal Shape / Drawing tools
Basically, if you took www.mura.com and added native PDF import and a dice roller it would be perfect. All the voice stuff other apps handle much better anyway.
This bug should now be fixed. (attn: @Paul_T)
This one will be tricky. I acknowledge the UX is not great right now. The difficulty is knowing whether the user meant to drag the die, or the Dynamic Paper, which contains the die.
Having all the dynamic papers on a separate conceptual “layer” only half-solves the problem, because you can have one Dynamic Paper inside of another one. (Several Count(>=4) papers inside a single Sum paper is possible, eg)
I’ll keep mulling this, but if someone has a genius idea of how to make it all work in general, I’m listening.