Recompiling Digital D&D

A common complaint with 4th Edition has been the online tools that go with it. Now that we have a Next Edition coming, WotC gets another shot at getting their cyberducks in a row. The best part is, this time out they’re asking all of us what we want from D&D. Guess what? I want better online tools! Furthermore, I have a few suggestions. WARNING: Some programmer jargon ahead. Proceed with digital caution.

From The Ground Up

One of the most annoying things about 4e’s digital offerings is one that need to get addressed in the new edition immediately before all the decisions get made: the choice of development platform. 4e’s online tools were at first a PC-only application, then went to Microsoft Silverlight — which caused a lot of issues, especially for gamers using Mac or Linux. The programs themselves were far more bloated and slow than they needed to be, and they weren’t particularly stable.

The new D&D needs to choose something light and scalable to create their next-gen digital tools, and they need to keep cross-platform compatibility and various device form factors in mind. PCs and Macs need to be able to use this stuff, and both iOS and Android smartphones and tablets are common now.

With so many devices and possible configurations of machines using these tools, One Frontend To Rule Them All is going to be unwieldy and unpleasant to use. Developing for multiple platforms can be time-consuming and expensive.

One way to address this issue is to develop an extremely robust backend system to serve out data (using XML, JSON, or some similar format) to a series of relatively lightweight frontends designed for each platform. Especially with a system that’s probably going to rely on pulling data from the Internet, it makes a lot more sense to do the heavy lifting server-side instead of replicating similar functionality for each individual client program.

With a good backend system, developers are now free to write platform-specific apps using tools appropriate for that platform. It also means that when the game rules change, it’s much likelier that a program needs to get changed only once (on the backend) and the client apps may never know the difference.

In simpler terms, I want a giant WotC supercomputer in the sky that programs can ask for things over the Internets. It does the math, and sends the results back to the program. That means the apps we use on our smartphones and tablets don’t have to do much aside from knowing how to ask for data and how to process what it gets back, and that means they’re easy (and cheap) to develop.

API IDSPISPOPD IDKFA

As a software developer, it is my natural tendency to want to make things that are fun and useful. Especially in this day of Internets-capable mobile devices that I can have with me at the gaming table, I’m perfectly happy allowing the tiny computer in my pocket to handle lots of math and randomly generate a level-appropriate encounter at my whim. I like the idea of searching for a game mechanic in multiple books at once, cutting down on research time and reducing the Rules Lawyer Filibuster to only the length of time it takes to argue something pointless.

D&D is a very complex beast, and there’s an awful lot of data associated with pretty much everything. To make tools that are really useful, we need that data in a form we can find quickly.

That big WotC sky-computer I was talking about before? It already exists (to a certain extent). Problem is, we have trouble talking to it.

With D&D Insider, WotC  made a big giant database full of monsters, abilities, and items (which many of you access today). To their credit, they’ve been really good about keeping this database up to date with all their latest materials. They also provided us with an API (application programming interface) so code-monkeys like me could query their database for stuff using our own programs. Unfortunately, the API was never very well documented, and seems to have been abandoned at some point. This means it’s really hard to make apps to use with 4e, and the data you can retrieve is pretty limited. There have been some cool hacks out there, but (especially in a community as creative as ours) it’s really hamstrung what we have been able to do.

I think a powerful, easy to access backend system is pretty essential to the success of any digital products for the next edition of D&D, both for internal and 3rd party tool development. I hope it’s at the forefront of their digital team’s minds this time around.

Project Hive-Brain

Everybody has their wishlist for the upcoming edition. I have a few bullet points on mine, but only one that I really want to stand up and fight for:

I want WotC to shore up their digital offerings by encouraging the community to fill in the gaps.

Official polished D&D apps created by WotC would be extremely nice. If I can’t have that, I want WotC to let us ENCOURAGE us to make them.

Ideally, I’d like to see WotC showcasing popular D&D apps — even buying out/sponsoring/giving its blessing to/unofficially adopting really good ones that provide for its customers’ needs. It would spur a lot of development and raise the morale of the community, and in return their game could now do things it couldn’t before. If WotC needs them to a particular specification in order to get the Official D&D Stamp Of Approval, my guess is a lot of developers would comply.

It’d be great if we, as 3rd party developers, could work more closely with WotC on our projects. I don’t know what form this would take. It might mean giving us access to speak with their IT team, or designating someone (either in-house or from the community) to act as a developer liaison. This isn’t one of those projects where you can determine everything everyone will need at the start. Things will change, and being able to relay these changes to someone who can make it happen is a huge boon to our community. Whatever happens, better communication would be a really welcome thing and would smooth out a lot of problems.

Allowing 3rd party development to flourish means that the reasons we don’t have good digital D&D tools no longer include WotC having insufficient staff, time, or budget to make them. Our hobby has a stereotype for a reason. The sheer amount of computer science in our community is staggering. Let’s put it to good use.

End Of Line

I find it amusing that the R&D team keeps talking about the new D&D as a core system that you can attach modules to so you can play they game you want to play and it’ll all work together.

That’s basically what I’m proposing with this whole big backend/little client idea. I’m sure everyone would accept the idea based on nothing but how accurate the analogy is, but I do really think it’s a good idea (and a commonly used practice). It is, though, just one idea and I’m certain there are those who will disagree with me. If you do disagree, or if you have some other ideas, let’s hear them.

At the end of the day, I just want WotC to make sure their digital offerings help them to make D&D Next the game everybody wants to play, rather than being annoying. With so many potential play styles and other factors in play, having something that can do the work for us is going to be necessary.

TL;DR beep beep boop 110011010011

 

Comments

  1. James Hopper says:

    As a programmer myself I share your sentiments, and your hopes for a D&D Next robust API and some light, client tools. Unfortunately, WotC has never shown me that they can get this right. One need only go so far as their home page to see how challenged they are when it comes to the web and software in general. Perhaps they should resign themselves to take your suggestion a step further, by ONLY doing the API and keeping the data updated, and leave the client tools to the community.

    I imagine that’s not a very good business model, though.

  2. As the developer of Masterplan, I agree that WotC’s 4E digital effort hasn’t been stellar. You mention the API that was all but unusable, but there’s also the change from (working) desktop apps to (buggy) Silverlight apps, and the concomitant issues there. So in general, no, it’s not been great, but it can get better.

    I think that WotC’s reaction to Masterplan is very telling. The guy in charge of the digital tools says it’s brilliant, the lawyers try to shut it down, and subsequently it’s been utterly ignored by WotC. Lest we forget, this is the most widely used DM tool there has ever been for D&D.

  3. I think WotC could learn a LOT from the OSS community. While some sort of D&D backend database system is clearly not an open or free service in terms of how it is run, it certainly is certainly possible for that infrastructure to be built in an open way. There’s no doubt that APIs and client libraries could be. WotC can offload a LOT of the cost of maintaining DDI simply by providing toolkits to programmers in the community and let them do the client-side work. I can write a monster builder in my sleep, assuming I have a well-designed client library, UI widgets, and generally a decent framework that is probably GPL or LGPL and curated by WotC. Honestly I don’t want WotC wasting its time and energy on writing UIs and maintaining them, nor is it really clever that we only have whatever UI they have time and imagination to put together.

    Let WotC instead concentrate on the platform aspect of things, which you really didn’t touch on too much. A backend is only one small part of that. We should be able to have platforms where curated content of all types can be integrated together in different ways, and tools of types that we simply don’t have now. How about campaign managers? How about a really really slick platform on which I can curate my own setting, share stuff with other gamers, etc?

    This also ties into the ‘lockin’ effect that exists with 4e now where only WotC content really exists in any visible form. While it is great that we can have a Compendium of WotC stuff, I want to also have the ability to have a compendium of non-WotC stuff. It doesn’t have to be the same database. I would assume it wouldn’t be run by WotC so much as SUPPORTED by them. Again, API is a key here. If we know the API that a Monster Builder uses to talk to the backend, well, I can make and run a 3rd party backend. A client can easily aggregate all that stuff. Heck, WotC can run one and promote the really good stuff into it. If other people have stuff that they want to put in, they can run their own server.

  4. I’d be happy if the design team came up with a game where you didn’t need a spreadsheet or a dedicated application to keep track of your character.

    Right now character advancement without a spreadsheet or the character builder is a game of “did I remember every place to add a +1 for this level”. By about level 6 it’s really, really annoying. There are just too many cascading totals in place.

    Digital tools should be a nice option for the tabletop game – things for the DM end of the game to make encounter building bookkeeping easier, or if you want to have an app to keep your character sheet on your phone or tablet. But they shouldn’t be required, and the game design shouldn’t assume that people are using them.

  5. TheMainEvent says:

    Very good ideas, Vanir. I have to say, getting free labor from a rabid fanbase seems like a corporate win to me too, so maybe the idea will get some traction.

  6. Jacob Zimmerman says:

    Front end should be AJAXed HTML5. Then it fits for all platforms, except old browsers. If the person has an old browser that doesn’t support 5, then whack them over the head and tell them to get a move on and upgrade.

  7. Another area where Wizards dropped the ball was their virtual table top. Online play is immensely popular as gamers find out difficult to get together. An integrated tool, with access to the online databases which is less resource intensive than the common Skype/MapTools/browser combo would be a godsend and would be something users would be willing to pay a subscription for.

  8. CrowOfPyke says:

    Silverlight used to be cross platform in its early days, but with Silverlight 4 and 5, not so much. Silverlight is also coded based on “modules” that are loaded asynchronously. What does that mean? Well, some parts of the app might have already been loaded by service calls that load modules into the UI view… while waiting for others to get out of bed, get coffee, shower, shave, etc. All it takes is ONE slow loading module to bring the whole thing to a parking lot standstill. Maybe that is what we saw with CB and AT when they first came out “in the cloud”. These kinds of performance issues can be handled easily enough in Silverlight once the offending modules are known, but given the apparently small amount of resources WOTC devotes to this area, I wouldn’t expect rapid progress.

    As for making the next gen of tools for DND truly cross platform to support Mac and Linux users, WOTC is probably left with limited choices: HTML5, WPF/.NET, or trying to see what MS ends up doing with “WPF/E”. Is that headache worth it if you are WOTC? HTMHL5 maybe, if WOTC wants to put in the time.

    I would be surprised if the next gen of online tools does something other than Silverlight.

  9. Spot on. I think competition in the tools arena would open WotC’s eyes as to what can be done with their game.

    Let’s examine why WotC would NOT want to follow an API model where the community creates the tools. I recall their technical lead coming on the Wizards podcast to discuss the latest Silverlight Monster Builder where he addressed some technical questions, and many of those questions were regarding the new online Silverlight model as opposed to the dedicated downloadable software model. His answers all came down to piracy. The xml files that housed all that game data in the original tools were not encrypted, had no user or application specific keys, and were easily parsed, so by putting them online in a non-scrapable format (Silverlight), they were protecting their IP.

    They are a publisher who profits from sales of books and memberships to DDI. When a DDI member scrapes the content from their site and reposts it for non DDI members to have, WotC might not sell a book for its crunchy content, and they have lost a DDI subscriber who has found another means of attaining said content. Somebody can, and many do, get all of 4e’s content without subscribing to DDI and not buying a book.

    So how can they protect their IP, profit, and make the content easy to acquire and use? With an API and access to the raw data as described in this excellent article: Here are a few ideas:

    1. Sell licenses to developers for full API access. Developers would then be able to make front-end applications according to WotC’s rules with an application key tied to the developer. If a developer is in violation of the license agreement, WotC simply turns off their API access by removing the private key matching the developer’s public key on the other end.
    2. Sell content In-App for members (unlocking content a user has purchased), making that data then available to that user tied to their DDI account, which has its own public and private keys. The data then populates in their app according to the API and the agreements made by the developer to WotC in their license agreement. If the subscriber opts out of DDI, WotC simply removes the private key and all that data becomes garbage the next time they fire up the app.
    3. WotC could control the API down to the point where the developer has no control over the content their app provides, only access to the API itself. Perhaps they provide some core content to provide functionality and tables to fill the app out, without any really crunchy data (like powers, monsters, xp tables etc.).
    4. Give their own tools away for free to compete with the commercial apps made by paying developers.

    This way their data can exist offline, tied to the DDI subscriber’s encryption key, in an app that can at any time lose access to DDI’s API if it’s breaking the rules, and the impetus is on DDI for being a watchdog for any apps or subscribers that violate copyright or whatever agreements they muster. In the end, this will only serve to make it just a little bit more hard for people to steal the data, but at least WotC can:

    1. establish a model that let’s them collect a little money from developers,
    2. make it EASY to develop and create tools for the game
    3. create and foster competition for UIs and tools to access the DDI/API data
    4. encourage subscribers to join by giving them value in the many apps that WotC didn’t have to develop at all

    It’s worked for other businesses!

    I am D&D, And so can you!

  10. Agree with everything here. Also, I’m a software developer too, although not a web-based one. Just wanted to add that. 🙂

  11. Micah, “the guy” from Obsidian Portal here:

    I wouldn’t hold your breath on 3rd-party-friendly APIs and whatnot. Andy from Masterplan has the best view of how that all works. WotC is very protective of their IP. They have business reasons for being so protective, but it definitely has a chilling effect on the developer community.

    Having seen WotC’s reaction to many of the tools produced by 3rd parties, we at Obsidian Portal just decided to sidestep that altogether. We’ve discussed providing D&D specific help, compendium integration, and all that, but we don’t want to spend a lot of time developing tools only to get hit with a C&D. We’d rather work on things that we control and won’t get us into lawyer trouble.

    I’m mainly just curious to see how they’ll try to salvage the commercial value of DDI. How much money did they spend on DDI and the 4e toolset? I’m sure it wasn’t insignificant. Now, with the switch the dndnext, they’re going to have to scrap a lot of that. They could try to extend the tools to support different versions of the game, but that’s extremely difficult. I would not want to be a developer on that project. Imagine your boss coming in and saying, “You have a whole month! Just make it work with both sets of rules!” *shudder*

  12. This open API idea wouldn’t be my first choice for digital D&D, but I like it nonetheless. One additional advantage I could see to encouraging a thriving third party business of front end support is that the support would like increase for third party game content as well. IE “I just downloaded a new character builder for my iPhone. It lets me use official classes alongside those awesome 3rd party classes I bought from such-and-such!”

    As some have pointed out, this doesn’t seem very likely, as WotC has had issues with intellectual property in the past. (Whether those issues are legitimate or paranoid scapegoatings, I couldn’t say).

    My actual first choice for digital D&D would be to make it a cross-platform video game. Unlike other games that provide the story, this game would provide the DM toolkit to create your own. It would allow gamers to get together online or in person, gathered round the big-screen TV as the PS3 hums. This is even less likely than the open ATI idea, but that’s still my vote. For old-schoolers, a dead tree version of the game could always be produced as an afterthought (Dragon Age anyone?), but the success of the brand in the future would be carried forward by a product rooted firmly in the realities of the current age.

  13. Smashing Pumpkins Into Small Piles Of Putrid Debris should be the code to unlock god mode in the DDI Character Builder.

  14. What Matt said

  15. Well said, but it’s tricky to pull off.

    On the one hand, unleashing the creativity of the audience as a force multiplier would be amazing.

    On the other hand, their business model is quickly devolving into “sell new books full of new big lists of powers/classes/feats/items”. With that as the reality, they cannot give away access to the lists, lest they kill the golden goose. So they adopt OAuth or something and allow DDI member access, but now you have to somehow prevent people from sharing those accounts.

    I’ve got my own little play aide (https://github.com/TALlama/Character-Distiller) that we use at our table because it makes life easier, and I’ve been extremely wary of pulling WotC content into the “app” part of the system for fear of the C&D that could result.

    So yes, making the DDI-in-the-sky is a great idea, and letting other apps tie into it would be great, but they need to be very clear about what the data can be used for and how, or they’ll run into the Masterplan story over and over again, and the whole endeavor will backfire on them.

  16. My opinion? Make use of OGL2.

    Subsidize these guys to do it;
    http://www.wolflair.com/

    WolfLair is a 1-2 crew easily keeping up with WOTC. WOTC has shown that its pretty weak in this area.

    (To be fair… WOTC did a kicking job with the character builder.)

Trackbacks

  1. […] Matt Dukes (aka Vanir aka @direflail) at Critical Hits (link 1, link 2) […]

  2. […] loved the article by Vanir over at Critical Hits this week. We too would love to see digital tools opened up to third parties to see what the community comes up with (even if a lot of the technical jargon went over our […]

  3. […] (aka @Direflail / Vanir) over at Critical-Hits talks about the next iteration of D&D and how to get the digital tools for the game right this time around. Explains the parallels of modular D&D and the modular software that should accompany it. […]

  4. […] all that business with the server I was going on about last week where it could spit out lots of cool data? Here’s one idea where that sort of thing would […]