D&D 5E dndcombat.com retired, will stay down

Greggy C

Hero
Fascinating stuff.
I got some questions if you don't mind answering.
  1. Did you try any of the other subreddits? i.e. /r/DndBehindTheScreen, /r/DMacademy, /r/DMtoolkit etc.? While certainly not as popular as /r/DnD, I have found in the past that they are far more "lenient" with such rules etc.
  2. Was limiting the parameters of a fight out of the question? e.g. if terrain/grid was not incorporated, number of actors on the screen, custom monsters disabled or even a hard cap on the total number of battles for each user per day. Would none of that have helped reduce the costs?
  3. Is there a chance for the 5e version to ever come back, even in a self-contained version for offline use with the state of the compendium being as it was when the site was taken down?

In any case thanks again for the wonderful tool, it really helped me in setting up my game. I wish you best of luck in your future endeavors.
1. I might have done one of them at some point, but because the /dnd has 3M people, and my post got 5k upvotes it landed on the DnD front page, which created tens of thousands of eyes all at once, I doubt I can replicate that success now.
2. Yeah probably, I believe I had already reduced the default down to 30 fights from 100. And I couldn't really reduce the grid down much more, I had already made it scaling according to the number of monsters and players. Performance is tricky and tons of debugging work. Don't have time now.
3. No, its not just a standalone thing you can easily run. Its a java application web server, postgresql database, its a sprawling web app with a numbering of dependencies. You kind of need to be a java developer to pull it all together, and it has proprietary pieces of code I cant just hand out.
 

log in or register to remove this ad

johnny25

First Post
I want to leave one searchable post out there. dndcombat was a 5e combat simulator using AI to run combats between uploaded players and chosen monsters.
Full details ()

I feel it was successful, we had almost half a million battles submitted by over 100,000 members of the D&D community. But it is expensive to run, it costs me $8000/year or more due to the number of users and large amount CPU required to run the full blown measured grid AI combat, with calculated spells/AOE over 100 battles in five or six seconds.

Also I haven't worked on it for around 6 months, my other projects have taken over and I don't see myself coming back to 5e. If I were to do it again it would be for a 6e version sometime far off in the future after 5e is fully retired.

For those that asked, the code is not going to be in the public domain, I don't think there are many java developers left anyway :)

All the best

Greg
This is sad news, you have made such an amazing and unique offering. I am new to using it and loved it immensely. I would subscribe or pay to access the service & I am sure many other DM's out there would too. Scaling battles is hard work and this gave a tool that made this easier and help me to know in advance how my battles might play out. 100000 members used it, if only 10% pay $1-2 per month you'll cover costs in no time. I'm sure there are enough interested to get that conversion & if if only 1% you'd make back your costs and a bit of profit. my two cents, but your decision. either way, I loved what you built here :)
 

For those that asked, the code is not going to be in the public domain, I don't think there are many java developers left anyway :)
@Greggy C If you ever change your mind about this and throw it up on Github or similar, let me know. My background is software architecture and Java has been my primary development language since 2000. And yes, there are still many (many, many...) of us out there.
 


NotAYakk

Legend
The "fun" project I could imagine would be recompiling it into wasm files, and have the client do all of the work.

There is bandwidth considerations (getting all of the data down to the client), but not using server-CPU to do the calculations is a big plus.

Written with a bit of care, the module that does the computation could live on either the client or the server (wrap it in a thin API - maybe even a serviceworker? - and the rest of the app wouldn't even know), and premium users could get server-compute access (making paying people get the service that costs $s).

But that is just because I've been messing around with WASI/WASM/webapps nowadays.
 


NotAYakk

Legend
You may be mixing up Java with Javascript.

AFAIK, Java is exclusively server-side these days. I don't think any of the major browsers allow Java applets any more.

WASM will run anything.

Know how Javascript is interpreted by a JIT in modern browsers? (Like google V8) -- WASM (basically) skips the "compile javascript to bytecode" step and just provides the bytecode to the browser. (This is a modest lie, but close enough).

Any language (almost) can compile to WASM, which means you can take a Java app and make it work.

The problem (of course) is that the libraries of the code have to also be compiled in WASM or written in Javascript to be hosted in the browser environment (in the browser environment, you can interact with JS from WASM -- there are hoops to jump through however). And compiling an entire Java ecosystem into WASM is a large download, and rewriting them in Javascript is (a lot of) work.

The "trick" is that a WASM module defines imports and exports, and the Browser loader lets you wire up said imports and exports, including wiring them up to other WASM modules or to JS code.

I honestly don't know how healthy the Java-WASM development environment is, but it lets real compute code run in the browser.

I've been using it to run C++ code in a browser. It isn't as fast as a native execution environment, but it is surprisingly decent.
 
Last edited:


WASM will run anything.

Know how Javascript is interpreted by a JIT in modern browsers? (Like google V8) -- WASM (basically) skips the "compile javascript to bytecode" step and just provides the bytecode to the browser. (This is a modest lie, but close enough).

Any language (almost) can compile to WASM, which means you can take a Java app and make it work.

The problem (of course) is that the libraries of the code have to also be compiled in WASM or written in Javascript to be hosted in the browser environment (in the browser environment, you can interact with JS from WASM -- there are hoops to jump through however). And compiling an entire Java ecosystem into WASM is a large download, and rewriting them in Javascript is (a lot of) work.

The "trick" is that a WASM module defines imports and exports, and the Browser loader lets you wire up said imports and exports, including wiring them up to other WASM modules or to JS code.

I honestly don't know how healthy the Java-WASM development environment is, but it lets real compute code run in the browser.

I've been using it to run C++ code in a browser. It isn't as fast as a native execution environment, but it is surprisingly decent.
Are you proposing running dndcombat under WASM? This thing looks like it was developed as a server-side Java web application. You are not likely able to easily pull out random bits of the codebase for client-side handling as you're suggesting.
Also, if you have something that works, why monkey with it? Stick with the existing paradigm unless you have reason to change it. If there is an aspect of the existing system that's problematic, then examine it and come up with an alternative.

Don't invent problems to solve...
 

NotAYakk

Legend
Are you proposing running dndcombat under WASM? This thing looks like it was developed as a server-side Java web application. You are not likely able to easily pull out random bits of the codebase for client-side handling as you're suggesting.
Also, if you have something that works, why monkey with it? Stick with the existing paradigm unless you have reason to change it. If there is an aspect of the existing system that's problematic, then examine it and come up with an alternative.

Don't invent problems to solve...
The problem I'm aimed at is that it costs money to run the simulations.

Moving the work to the clients computer makes the only marginal cost be bandwidth.

Free (for the provider) is a feature.
 

The problem I'm aimed at is that it costs money to run the simulations.

Moving the work to the clients computer makes the only marginal cost be bandwidth.

Free (for the provider) is a feature.
I get it. But look at it this way: the annual cost to run this application was $8000. That's beyond trivial for a deployment. The cost of porting a working application to another platform is... a lot more than $8K!
 

Remove ads

Top