11 ms·
Show HN: I built a virtual tabletop for playing Dungeons and Dragons
Diceright is a virtual tabletop for playing dungeons and dragons with friends on the web. You can watch a quick overview of how it works here: https://tinyurl.com/diceright https://tinyurl.com/diceright. And there’s a list of the main features right on the homepage.
It’s a Ruby on Rails site that makes heavy use of action cable for keeping the maps and tokens in sync for all players. On the front end, I’m using HTML canvas for the maps and a js library called fabric.js for interacting with the canvas. Otherwise, just jQuery on the front end. I optimized it all to work on mobile too.
I built this as a side project for fun over of the past couple years. It took a lot longer than expected, but it was also a lot of fun. I did all the design / UX for it too which was a struggle at first but was a great learning experience.
Let me know what you think and if you have any questions. Thanks!
- Capricorn2481 3y agoVery nice! Looks like a legit VTT and not a throwaway one. What were some of the hard things about this project that you didn't expect?
- YakiSauce 3y agoThanks! Man, so many things. I think maybe the hardest thing was really getting into the weeds of all the class/race features and modeling them all in a way that made sense to the user and would 'just work'. There are features that add damage, but only under some circumstances. Features that change at different levels. Features where you get to pick between a few options and then they also change at different levels. Just a lot to model out. And a lot of hard decisions about how much to automate and how much to leave on the user. Also, designing and building it all to work on mobile ended up being more than I expected because when adding new features I often had to go back and make it mobile friendly too. Oh and doing the dynamic lighting (where you can add walls and lights to a map and 'see' what player tokens would see) was pretty tough because it involved learning some math to do those calculations. But that was also pretty fun.
- solardev 3y agoI'll check out it out my desktop later and add more thoughts, but for now, on my phone it's kinda hard to get a feel for it because everything is in desktop-sized videos. Would you consider adding some mobile screenshots of the major features, perhaps? There are a few bad tabletops out there. This one seems like it actually had a lot of thought put in! But it's hard to tell apart from the others at a glance. The videos aren't really readable on a phone and the paragraphs don't convey how each feature works.
- YakiSauce 3y agoHmmm yeah that's a good point. The site does work pretty well on mobile but I didn't make any mobile videos. I'll put that on my todo list. Thanks for the feedback! And if you do get a chance to check it out on desktop, I'd love to know what you think.
- losvedir 3y agoNeat. My friends and I have a campaign going on roll20.net. I don't suppose there's any way to "import" our current stuff into here? Is this just for new campaigns? Our DM manages everything so I'm not entirely sure what's involved (I think he's purchased some add-ons maybe) or if this is even a sensible question.
- YakiSauce 3y agoHey yeah, totally sensible question - wish I had a better answer. Unfortunately there isn't a great way to transfer an ongoing campaign. That's one of the main issues with getting folks to try out new virtual tabletops - there's some pretty established platforms already out there and there's a fair amount of lock in. Especially if you consider the assets a lot of DMs have purchased on those platforms, like you mentioned. But I'm hoping eventually Diceright will have enough 'killer features' that people will give it a shot anyway. Would be great if you guys would consider it once you finish your current campaign. Thanks!
- secabeen 3y agoThere is a converter from Roll20 to FoundryVTT. I've used it with great success: https://github.com/kakaroto/R20Converter https://github.com/kakaroto/R20Converter
- netule 3y agoI can vouch for this one as well. I ported a massive homebrewed campaign over to Foundry with this and couldn't be happier to be rid of Roll20.
- fckthisguy 3y agoThe VTTES plugin for Firefox/Chrome allows for importing/exporting between OrcPub/DungeonMastersVault, Foundry, and roll20 formats. Worth checking out if you could support one of those as an import target.
- kayodelycaon 3y ago
- treyd 3y agoI always thought it was bizarre that there's no serious selfhostable FOSS virtual tabletop software [1]. The overlap between the two communities is very large and passionate. Foundry is selfhostable but it's a clunky proprietary node.js application and there's a ton of janky UI issues. Roll20 is far worse. I presume that this Diceright project is better since it's actually using a canvas. But why doesn't someone just use a proper game engine that can target the web (with wasm/emscripten/etc)? You're making a game after all, and it would mean that people who are happy downloading and running a native application locally for better UX would be able to. [1] edit: That I was aware of when writing this comment initially.
- manbash 3y agoCriticism for Foundry aside, it's an extordinary effort to implement a mature self-hosted alternative, especially as FOSS implies it's going to be a side project for most if not all of its developers. Foundry's upside is that it's extensible (modules), which increases traction and nurtures a community. Most of the FOSS attempts will probably die if they won't take that approach (extensibility that is).
- treyd 3y agoYeah that's how I see how it would work. Just build a framework for the players to interact in according to the basic mechanics of tabletop games and then expose a rich module API and hand it off to users. If you're clever about it I could imagine you could machine-translate the art asset formats made for Foundry, or design it to use it directly.
- delecti 3y agoI think Owlbear Rodeo fits the bill, somewhat. They recently released a more feature-rich cloud-based V2, but simultaneously released the source and self-hostable images for their V1. Edit: I meant to add this initially but just forgot: https://blog.owlbear.rodeo/owlbear-rodeo-legacy-edition/ https://blog.owlbear.rodeo/owlbear-rodeo-legacy-edition/
- tomlagier 3y ago
- manbash 3y agoThis looks like a really awesome project. But, I can't understand if this is a subscription service or I can simply self-host. I don't want to sign up without having that information first.
- YakiSauce 3y agoGreat question. So far, I've just been doing this myself as a side project so I haven't spent much time thinking through how I would or could monetize it (open to suggestions on that). That being said, I think eventually, it would probably have to be some kind of subscription, if there's any real interest in it. It's not really built to be self hosted right now unfortunately.
- garba_dlm 3y agomy suggestion is don't monetize you already did it which in a way means it's already paid for. just donate it. open source it? set it free but it's your choice to make.
- miminicoder 3y ago[flagged]
- jbaczuk 3y agoI "played" D&D once with some people who play quite a bit, and was confused. Maybe I was expecting more clear rules of how to "win"? It seemed like it was more of a "choose you're own adventure" story rather than a game since the dungeon master is able to change the rules as you go and pretty much decide whether or not you are "successful" with whatever goals are established at the beginning. Is that accurate? In the end, it was a little frustrating and I decided I don't get it so I've never tried again.
- delecti 3y agoThere are usually fairly clear rules for executing the steps in a combat (what actions are "legal" on a character's turn), but the characters' goals in a campaign are entirely subjective. The overall flow of a campaign is collaborative storytelling: the DM sets the scene, but the characters decide their actions at any given point along the way, and having clearly delineated "go here next" is often viewed as a sign the DM is being too controlling. Think of Lord of the Rings (both because it's a good example to make my point, and because it's the source of a lot of the inspiration for D&D). All the fellowship are independently given a vague mission to go to Rivendell. They then decide, in Rivendell, to embark on a quest to take the ring to Mordor. Consequences split them up on separate missions along the way; in a D&D game, splitting the party is poor etiquette, but it's a good example of how your immediate next steps can change in unpredictable ways. The overall journey of any given character is decided by that character based on their circumstances and personal values.
- tnecniv 3y agoCorrect. It is much more free form than other games (and even more free form RPGs exist). Every group has their own style. The DM might be very strict or loose with his reading of the rules. Players could be more or less into the role playing aspect (do you have to do voices and talk in character or not). Ultimately, your character can do whatever the DM allows them to do. That might seem “unfair” but the DM is not your opponent trying to beat you, they’re telling a story with you. There’s not really a win condition. Some groups play campaign modules which are pre-written stories the DM interprets for your group. Some make it up on the fly like an improv comedy group or nerd jazz.
- 3y ago
- hackan 3y agoThis is pretty cool!! Is this FOSS?
- miah_ 3y agoThis is neat, but so far every thing like this that we've used for our D&D game has been overkill. What we do currently: Take a map from a PDF, load in Paint program (paint.net/photoshop/gimp/whatever), create a layer of BLACK over it. Share the screen. The DM slowly erases BLACK as we move and discover the map. This way, the players cannot see the map. The DM can see the map. The players get to slowly discover the map. We do dice rolls and type their output into chat. Our player sheets are player sheets, and we scanned and sent pdf's to DM. We keep group inventory via chat. Everything else is basically overkill, because it requires the DM to redesign maps via some web app and DM's already don't have time. *edit to be clear. we've looked into them all. the solution above is what we've now been doing for _years_ on our D&D game. Goddamn erake (our BBG).
- VonGuard 3y agoThe big reason we do this is that being a DM, it's REALLY hard to predict what your players are going to do. I used to spend days preparing for a game, only to have the party turn around and wander out of the dungeon 10 minutes into the session, negating all my prep. This way, I can just throw up a map and have them dungeon crawl. I suppose it make a difference that we are playing Rappan Attuk and not a mainline D&D campaign. There's a lot less dungeon crawling in today's D&D, but Rappan Attuk makes up for all of it with about 600 pages of one dungeon.
- jncfhnb 3y agoI don’t understand how dungeon crawling really felt fun for people. Or random encounters. It just doesn’t seem like a good system for fighting for fun. I always hear the cursed phrase “I guess I attack?” And that’s how I know the fight kind of sucks.
- mrinterweb 3y agoThe unlimited potential for creativity and collaborative story telling is what sets TTRPGs apart from video games. The mechanical side of D&D combat is fun, but I don't think going all in on encounters is what makes D&D shine. A good combo of game mechanics and creativity is the sweet spot in my opinion. I often prefer "theater of the mind" over maps as that can be much more open-ended and encourage creativity. Many of the D&D podcasts use "theater of the mind", and they are great (special shout out to naddpod.com)
- throw_m239339 3y agoNice! It looks great and very useful.
- mikepk 3y agoVery nice! :) I also had a similar itch a while back and built https://gamescape.app https://gamescape.app (during the pandemic). Different focus -- all about shared maps and tokens rather than a "full" VTT. Plan is for it to be free forever. Can't work on it anymore since I started a startup that eats 100% of my time, but totally usable (my group uses it every week :) ).
- infinitezest 3y agoThis looks exactly what I started building awhile ago (and then bailed when I discovered Foundry). Do you think you'll ever release the code so it can be self-hosted?
- mikepk 3y agoI've toyed with OSS'ing it or releasing the code. It would be a non-trivial amount of time and energy to package it in a way that people could host it. Gamescape was a hobby thing so I used some different architectural patterns I'd been wanting to experiment and play with that aren't totally standard.
- infinitezest 3y agoAre there downsides to just dumping the code as-is to Github with and then just archiving it?
- rcarr 3y agoPersonally, I would market this and build it out for any other TTRPG system but Dungeons & Dragons. I absolutely love Dungeons & Dragons but I think the writing is on the wall that DnD Beyond is going to get the lion's share of all digital DnD spending, especially for newer players. There's always going to be holdouts who don't like the corporate direction, but the majority are going to use DnD Beyond because of how well integrated it all is, and that will include both 2d and 3d tabletops soon enough. So if you're planning on turning it into a side hustle, you're probably better off targeting say Call of Cthulu players, or Fiasco players or Fate players etc.
- YakiSauce 3y agoYeah, you make a good point. Definitely something I've thought about. When I started working on Diceright, DnD Beyond hadn't even been acquired by Wizards yet, so a lot has changed in relatively short time. That being said, they recently released an alpha of their 2d tabletop and there really wasn't much there. I assume it will get a lot better though. Still, it was a tough call on what to focus on as DnD really is a huge player in roleplaying games. A smaller slice of DnD users still might be larger than a bigger slice of another game. In the end, DnD is the game I know the most and the one I love. So I decided to do what I thought would be the most fun.
- rcarr 3y agoYeah you've got to follow your passions. I reckon you could be well positioned to take advantage of an emerging market though. I'm pretty new to it all myself but I've been doing lots of reading on it the past year, and it seems the recent DnD popularity explosion mainly happened through Stranger Things bringing into the popular public conscious again and then Twitch/YouTube players like Critical Role. The latter seem to be drifting slowly away from DnD towards their own RPG systems and ecosystems. If you have a well developed product you may even be able to contact the teams behind these systems who may be interested in acquiring your product to become the base of their own DnD Beyond like system. I'd join as many RPG reddits, forums and discord channels as you can find and then just periodically scout to see if you can spot any emerging trend and ride the wave. I personally reckon it's only a matter of time until there's some show on par with Critical Role's popularity but for detective RPGs, superheroes, sci-fi, Cthulu or whatever.
- Rayhem 3y agoThe #1 important thing I've found for collaborative online gaming (and collaborative online work in general) is *have a good mic*. Having three people in a room around one mic doing the THIS SPEAKER IS SMALL SO YOU SOUND FAR AWAY AND I'M GOING TO TALK LOUD SO YOU CAN HEAR just kills any momentum, as does "What? I...........hear.......run the........18" connection interruptions. Video, maps, everything else is pretty much optional, but audio is critical.
- deleted 3y ago[deleted]
- mNovak 3y agoVery cool. I've seen a lot of these out there for DnD specifically, and am always impressed by how polished they seem, but I've long since wished there was a better way to play WH40k or other wargames online. The closest thing seems to be Tabletop Simulator, which just feels strange as a full 3D simulator. It strikes me as slightly ironic, since games like 40k are traditionally extremely high $ investment hobbies, so seemingly a good market for the side-hustle tech crowd.
- tpmoney 3y agoIf you haven’t seen it yet you might look at Vassal https://vassalengine.org/ https://vassalengine.org/ which is geared towards board games generally rather than ttrpgs
- bbor 3y agoI agree! I think it’s super doable to annotate a real game with modern image segmentation running on a video feed paired with rock-solid modern TTS as dice are read, turns are declared, etc. From there, it’s just a hop skip and jump to a virtual tabletop, AR set pieces, and (IMO the holy grail) non-local AR games using real pieces. It’s such a procedural, probabilistic, simplified-spatially game; seems perfect for simulation. I really don’t think games workshop has the corporate culture to catch this wave though, which makes the prospect of a IP lawsuit a big deterrent to even OS work. Msg me if you want a link to my last pass at it as a react app. Got slowed down figuring out how to offload work onto the server efficiently, and also daunted at the prospect of translating all the simpler unit rules into JSON. Of course, with LLMs, that task just became about 1000x easier :)
- mNovak 3y agoI mean, I would settle for a simple RTS style 2D web interface! A lobby and match making, if I'm really ambitious. Unit rules are a special problem--Wahapedia has a csv download of unit and weapon rules.. I think there were several thousand in 9th edition.
- noelwelsh 3y agoI'm kinda curious, how many people play RPGs with map and minatures at the centre? We started with D&D and minatures, but quickly migrated away to more free-form systems and styles. For us it was always about making a story together, and nothing bogs that down faster than technicality. If your game is centered around maps and minatures, is it also centered around combat? Just curious to find out how other people play.
- YakiSauce 3y agoThats a really interesting question. When I first started playing DnD the thing I loved the most was the combat. Loved the mechanics and loved that it was basically a big complex board game. Over time, I have started moving more towards the shared storytelling aspects of the game. Currently in our game, we do a light combat mix, where we only really enter combat once every 3 or 4 sessions. Generally, it's nice that there are so many different RPG systems out there now so people can really find the ones that fit what they like.
- breakfastduck 3y agoLots of people play D&D entirely for combat. I don't get it personally, but yeah.
- deleted 3y ago[deleted]
- bythreads 3y agoSame here, As i grew older the "theater sports" of it became infinitely more interesting - to such a degree that the dices are only used for randomness these days. We sometime play "dogma" scenarios where you are: a geriatric near 1st lvl , a 12 year old 1st lvl thief etc. but i'm getting old so these days its a social happening and not an all out drinking slugfest
- bsagdiyev 3y agoHow does this compare to FoundryVTT? I use that for self hosting online sessions and it's been amazing. Will definitely check this out!
- deleted 3y ago[deleted]
- YakiSauce 3y agoThanks for taking a look! So one of my goals with Diceright was to make it as welcoming as possible to new players (not really an easy task given how complex DnD is). To that end, I wanted to make it easy to sign on and get started, right away. And I wanted to make it easy to use on your phone. Foundry has a ton going for it, but it does require initial work to get set up and it can be a bit clunky for someone who's never used it. Similarly, I wanted to make character creation as seamless as possible. On Diceright you just pick your classes and all the features get added automatically and rolled up to your overall character sheet (and of course you can modify anything you'd like). It's easy to make characters quickly and at the same time, you never lose track of where features or stat bonuses come from. All that being said, Foundry as a ton of stuff that Diceright doesn't have yet, so I'm not trying to say it can go toe to toe on features. More just giving how I think my overall approach differed.
- Animats 3y agoThere's a whole genre of these things.[1] There's a true virtual tabletop: Jeri Ellsworth's Tilt Five, where the players wear AR goggles and see a 3D tabletop game world. Players look at a tabletop mat which provides an alignment target and neutral background. One of the more workable AR systems. [1] https://www.laptopmag.com/best-picks/best-virtual-tabletop-software https://www.laptopmag.com/best-picks/best-virtual-tabletop-s...
- deleted 3y ago[deleted]
- flaque 3y agoThis is great! Keep going with this!
- YakiSauce 3y agoThanks! Appreciate the kind words
- reissbaker 3y agoWow, it looks very comprehensive. Really nice work.
- nullsoldier 3y agoHowdy! This looks awesome, and not to steal your thunder but I've also been working on a similar product. RollTable (https://rolltable.app https://rolltable.app) and a preview here, https://i.imgur.com/PuVQfnk.png https://i.imgur.com/PuVQfnk.png Our is a live 3D, free, no hassle online D&D VTT with a marketplace of hundreds of free miniatures. You can also play in 2D if you don't like 3D with top down, and isometric view. You can see all the tokens on our Marketplace here, https://rolltable.app/marketplace https://rolltable.app/marketplace
- pvg 3y agonot to steal your thunder You can just do your own Show HN.
- nullsoldier 3y agoThanks, I've never used HN before and I was just told by multiple people to reply here. I don't know the culture so I'll read into that and look at making a post.
- sibit 3y ago>I don't know the culture I've been using this site for a little over 3 years now and I was wondering the same thing about replying with my own VTT web app.
- deleted 3y ago[deleted]
- gsuuon 3y agoThis looks cool! Some feedback: the marketplace page seems pretty busted, none of the filter checkboxes work and the back pagination button doesn't seem to work either.
- somethoughts 3y agoKind of a tangential side note, for a future side project, I did find a pretty interesting monitor that could be used as part of a physical digital table top for RPG and board games. The key feature is that it is fairly thin (less than 1") and lies completely flush against the table and outlets are on the side. LG 27" Libero Monitor https://www.lg.com/us/monitors/lg-27mq70qc-s-ips-monitor https://www.lg.com/us/monitors/lg-27mq70qc-s-ips-monitor Also this one looked interesting but the price point was a bit higher and it seemed locked to their app store: https://infinitygametable.com https://infinitygametable.com
- deleted 3y ago[deleted]
- rcarr 3y agoRather than using the menu drop down button, I would integrate that into the title of the right panel, so you click the title of the panel and that brings up the options for each section like "Add Tokens, Map Details" etc. I'd also move the exit campaign button out of that menu as it doesn't really affect the right panel so it doesn't feel like it belongs there. I think I'd put it on a permanent overlay in the top left corner over the dice history, and maybe have a confirm exit pop up modal with a setting to turn the modal off. I think I'd also add a way to collapse the dice history panel.
- YakiSauce 3y agoInteresting ideas. I'll take a look at how those would feel. Thanks for the feedback!
- Ensorceled 3y agoI like this, quick and simple to use. For example, adding images to tokens was a breeze . Couple of suggestions from a heavy user of Roll20 ... Too many menus and all look slightly different: you have left and right panels, the menu and the hover tool bar. Put the menu at the top of the right panel and, if you close it, have a simple < button at the top right to open it again. This would eliminate the weird space between the Action Widget and the right sidebar. Could the right and left action bars be merged? There appears to be no way for the DM to fix a mistake such as a player accidentally ending their turn early. Some data entry tasks (e.g. setting character scores) have unnecessary steps, like I have to click "Set Strength" instead of just having a pull down. And I have to set each stat individually and click update instead of setting all 6 and then have one update button. Stats really should also have a point buy and standard array options, most people I know use one of these. Same will spell selection ... each spell slot is a selection instead of a "Pick 6 1st Level Spells" or "Pick 2 Cantrips" multi-select.
- YakiSauce 3y agoWow, great feedback. Thanks! Someone else suggested something similar about the main menu and the right sidebar. I can't quite picture what that would look like but I'll definitely experiment with it. And on merging the left and right sidebars, I have considered that but couldn't really figure out a way to make it work - I don't want people to ever miss the action thats happening the left sidebar. Everything else makes total sense to me - agreed on all of them. Thanks again for checking it out!
- Ensorceled 3y agoThe title of the right bar could just be the menu pull down showing the current selection instead. [ < v Add Tokens ] Yeah, for the player the left bar being the "battle log" and the right bar being their character isn't a bad UX if the rest of the clutter is reduced.
- todoG 3y agoMight be worth looking at how Godot let's users position right/left side bars. Leave it up to users what the final composition looks like. Focus on opinionated logic that enables endless menu composition, not deciding your users preferences. Perhaps add a notification icon for when users need to be made aware some result is ready for their review/acknowledgement.
- secretcombos 3y agoNot an RPG gamer anymore, but this looks like a true innovation in RPG playing. I wouldn't be surprised if this takes off in a big way.
- Aeolun 3y agoPretty nicely done! Making the VTT easier to use is so much more important than hundreds of features…
- YakiSauce 3y agoThanks! Appreciate that
- afterburner 3y agoImplementing a customizable deck might be nice too.
- gumby 3y agoNice! Would make a beautiful application for Tilt5 (www.tilt5.com)
- audiodude 3y agoA bit tangential, but I'm not sure I could ever play D&D on a VTT. I understand the allure of playing over the internet in general, because you can pick outlandish times and don't have to be geographically collocated. But for me, D&D is more than moving tokens around, it's primarily about the roleplay, about acting out a character and seeing someone's full facial, verbal, and non-verbal responses. If I want to push tokens around I'll play some multiplayer RPG computer game.
- YakiSauce 3y agoFor us, we'd definitely prefer to play in person if we could. But like you mentioned, geography can be a real restriction. The times we have managed to play in person have been great.
- wolverine876 3y agoAnother way to look at VTTs is that they take care of the grunt work and give you more time for the things you want.
- bigstrat2003 3y agoLike YakiSauce said, for most people playing on roll20 (or similar) it's not their first choice. They can play online, or not at all. For what it's worth though, roll20 does support video as well as voice, for exactly the reasons you mentioned. I'm guessing other platforms would as well.
- nmeagent 3y agoWhy not do both? I run a five-player in-person D&D 5e campaign with a VTT (Foundry) and it works out pretty well for us. We offload much of the bookkeeping, tokens, maps, etc. to the VTT and still keep the in-person RP experience.
- YakiSauce 3y agoThanks so much to everyone for all the feedback and great comments. It's been really great reading through them all If anyone's interested in following along as I keep building Diceright, I just set up a discord server: https://discord.gg/UpNn7yz6 https://discord.gg/UpNn7yz6. I'll keep my roadmap updated there and would love to continue chatting with anyone who's interested
- mattl 3y agoPlease take a look at the homepage on an iPhone. Way too much whitespace IMO and not obvious what’s going on in places
- smcin 3y agoI got a page load time > 30sec in Chrome. Most people would just bounce on that. Also, most RPG players are aware of Roll20, so why not give a brief head-to-head comparison (on your webpage)?
- YakiSauce 3y agoOoof sorry about that load time. I had been monitoring the site for most of the day and it seemed to be holding up pretty well. It was probably under a fair bit of load because of this post. Or maybe it happened to be while I was doing a deployment. Do you recall what page that happened on? As for a direct comparison to Roll20, that makes sense. Maybe I could make a specific landing page for it, as I do want to keep things very welcoming for first timers too.
- Dave3of5 3y agoWould be cooler if you could make the map rather than just upload an image. I.e. grassy base add roads trees ...etc. Even better if it could randomly generate these maps. I find that players don't care too much about the map other than figuring out where they are in relation to the enemies and suchlike.
- YakiSauce 3y agoThanks for checking it out and for the feedback! Definitely agreed that map creation would be nice - something I'd like to get to.
- littlestymaar 3y agoHave you been harassed by Wizards of the Coast's lawyers already or not yet?
- royalsalt 3y agoI also made a VTT with fabric at farreachco.com
- atcalan 3y agoDoes it work with dungeon masters vault? :)
- mise_en_place 3y agoI have been looking for a decent tabletop simulator, will give this a try.