project-image

d20Pro Unlimited Virtual Tabletop

Created by Mesa Mundi Inc.

Reforging the d20Pro virtual tabletop; adding the Unlimited Rules Engine, Native multitouch support, Shadowcasting fog of war and more.

Latest Updates from Our Project:

The Big One.
almost 9 years ago – Fri, Nov 06, 2015 at 10:47:15 PM

A moment in the sun

At GenCon 2015 this year, we unveiled the first public appearance of Mage Hand (D20PRO Unlimited) to the world. We ran a large number of sessions using this very early build of the application with a mixed amount of success. The rotation capabilities of the map elements worked as intended, but the resource management was exceedingly difficult [to manage] and none of the network layer were present at the time.

The features, from a Kickstarter point of view, which were available in this build included Unlimited Grids as well as the a decent amount of the Unlimited Rules, Unlimited Creatures, and the Shadow casting Fog of War.

We also demonstrated the Multi-touch, multi-user capabilities allowing for widget rotation, simultaneous token movement and interaction as well as the ability to support touch events across multiple windows.

At the same event we showed our progress on the mobile character sheet system. Unfortunately, we had yet to associate the HTTP/Rest server in such a way that we were able to demo it's full capabilities this past July.

A difficult and winding path

Since then, some of you have had the opportunity to see this engine in action and have some hands on experience with both its strengths and weaknesses.

The weaknesses, as reported, primarily center around the UI and access to the features including proper shadow casting (in the released build).

Thraxxis has spent the intervening months working to improve and expand the Mage Hand platform to fully support Shadow casting, the Unlimited creatures data modeling, and a more robust board/layer solution (Unlimited Grids) – many of which proved to be substantially more time consuming due to various unforeseen technical issues and limitations.

The project has metamorphosed, denoted through a handful of name changes, to reflect some design goal changes which were necessary to provide the level of product we’re committed to providing.

When the Kickstarter launched, the intent was for the product to be a direct descendant of d20Pro Classic – an iterative build which would lead us to D20PRO Unlimited. Despite the early success, we quickly encountered several technical limitations due to the state and language of the original code base.

This resulted in a push to move to a fresher coding base using JavaFX. Thus nBoard was introduced to the community and work continued quite quickly. As a result of the shift to an alternate code base, we split some of our attention to begin investigating and building out technology previews using Unity3D.

At the time, Unity3D was a pretty solid platform however, the road to a full 3D/2D hybrid VTT seemed particularly daunting. All the while Thraxxis and team continued work on nBoard refinement and converted the project into Mage Hand – still a JavaFX based VTT but now designed from the ground up to be a platform for rulesets.

A pathway to the future

While Thraxxis and team continued work, a smaller team has been paralleling some of their efforts using Unity3D. This has not been a focus for the company but more of a rapid way to proof concepts for UI development and express ideas. Owlbear and some of the other Mesa Mundi staff are much more comfortable in C# than in Java.

This leads us to the present. We’re at a point where Thraxxis has agreed that the current Java direction is going to prove to be too long of a road. Java requires building an exceeding percentage of core functions for Mage Hand from scratch. In response to this, we have spent the last few weeks compiling additional proofs of concept for technological components as well as evaluating feature requirements as they related to existing Unity3D engine features. We, as a complete group, are going to migrate the entire project into Unity3D.

The decision to do this is based on several factors. The biggest factor being portability of code. With Unity3D we can deploy to mobile, desktop and web, as well as a few other odd targets. Our focus will be predominately on the desktop experience. However, the final product should function in a client mode on mobile as well!

The second reason of note is timeline. Over the years, Mesa Mundi has done a fair amount of contract work – nearly all of which has been Unity3D based. We have a lot of background and experience in building complex Unity applications and are confident that we can provide Mage Hand in Unity faster than in Java.

Lastly, we are completely confident that we can provide all of the backed features using Unity3D as well as provide a substantially more intuitive rules and content creation framework. This is key to strengthening our community and allowing anyone to build on the platform. Unity3D immediately allows for several technologies which provide access at runtime, as well as in Editor (using Unity3D Free edition), that enable creators and publishers to create phenomenal additions to the application.

Are we home yet?

We’ll go over a few of the features we’ve already stubbed out in the next section. For now, we want to talk timeline.

First off, we’re not 100% done with the updated roadmap. Moving to Unity3D is a big change and we want to double check our figures, dot our I’s, and cross our T’s. At this stage, I (Owlbear) am comfortable saying that we’ll be able to deliver our first Kickstarter release of Mage Hand in Q2/Q3 2016. With full completion by Q4 barring any catastrophic events – rapture, tsunami, etc. It is highly likely that we can complete sooner, however, I want to stick to a conservative view until we’re done mapping the features to the available hours in the days/weeks/months ahead.

The second reason for the conservative estimate is that we’re in the final rounds of securing capital funding. When the funding goes through, we’ll be able to expand the team slightly and build faster. Those developers out there know that this is not a 1:1 ratio, adding additional developers can enhance some aspects of a coding task but not all.

A few warm bodies

In addition to adding coding staff, we’ll be expanding our Marketing and Sales staff, likely by one or two people. This will free up Thraxxis and Owlbear to focus on coding and development as, in conjunction with Joe Richardson (who’s awesome btw) they have had to deal with aspects related to publishers, content creation and management of these elements.

In order for a Virtual Tabletop to thrive, a vibrant Marketplace is a must. Retooling and revamping our Marketplace is a requirement as we move forward.

In addition to the Marketplace, we are striving to keep momentum in rolling some of the Mage Hand features out to you immediately through minor updates to d20Pro Classic. Some of the changes and developments which Mage Hand includes are immediately viable in Classic. As a result, Thraxxis has been spending a small amount of time retro-fitting these features into the product which nearly all of you have access too. Honestly, only the tip-jar/hall of famers didn’t gain access to Classic as part of the Kickstarter.

What this means is that in the next week to two weeks, you’ll see a handful of features appear in an update to Classic.

A couple of these features include SRD integration via a web space widget and a Trigger system which will allow Classic to connect to a popular sound board.

As development on Mage Hand continues, we will attach other features to d20Pro Classic as appropriate. Doing so will give everyone access to certain features of Mage Hand while waiting for the Alpha, Beta and Pre-Release phases.

Wait, phases?

I know, I said I was going to be vague about the timeline and I was. What I can tell you now is this – We plan to release Mage Hand in a series of phases. One of the core changes to the methodology in migrating to Unity3D is that we’re building the Network Layer immediately. This infrastructure will be a core component at every step of development enabling the first, and every release after, to communicate with the same version of the application.

  • Phase I – Technology Preview to Early Access and Developer Level backers
  • Phase II – Alpha Release to Early Access and Developer Level backers
  • Phase III – Closed Beta for Early Access and Developer Level backers
  • Phase IV – Open Beta for all Kickstarter Backers above the Legacy Upgrade tier
  • Phase V – Open Beta for all Kickstarter Backers and Pre-orders
  • Phase VI – Public Beta (if needed)
  • Phase VII – Public Release

We will iterate over the above path for major feature upgrades such as new systems/rule-sets – i.e. Early Access and Developer Level backers will have first experience with these additional pieces as they prepare for launch.

Show and tell

I know there’s bound to be a billion questions, or at least some multiple of the ~1,800 of you out there who have supported our efforts. Let me start this section by saying how amazingly grateful we are for your support then and now.

It is because of your belief in our project that we’ve come this far. And it is through your support that we can push the rest of the way through.

To give you a bit of a glimpse behind the developer scenes, I’ve prepared a few videos illustrating some of the functions as we’ve realized them within Unity3D. This should give you a sense of what we’re doing and where we’re at from a technology stand point.

2D Map Editor in and out of Engine

Here we have a sample map created using the 2D editing tools we’re working on. This specific video is illustrating access through the Unity3D Editor window. However, when all’s said and done, you’ll be able to do the same type of work from within the App itself!

One of the cooler features of this solution is the ability to use procedural textures for fill while using generated art for the wall textures.

In the video, I’m using a smart snapping method to align points to each other. At runtime, we’ll initially be supplying a grid snap mechanic and will evaluate the smart snapping option – the latter will likely be pushed to a future update.

The method of drawing I’m using in the video is called subtractive. The idea is pretty straight forward, you build out a large shape and remove parts to make your final object. If you’ve never worked with this method before it can be confusing at first, however once you’ve done it once or twice you’ll likely find it remarkably easy.

In the following video I show some extremely crude Runtime editor support. At this stage, as a technology demo, it was unnecessary to build out drag handles and other UI controls. As a result, the presented method of editing in the video is pick by nearest neighbor. Not something we’d ship with!

Let there be light

One of my favorite features of utilizing the 2D editor for map making is that we can programmatically create “walls” for shadow casting and light mapping. This allows for rapid dynamic content creation which is immediately useful for VTT.

In addition to having shadow casting work without having to add in extra blockers, the 2D map editor features allow for slightly transparent edges on walls. This means that the light doesn’t just stop at the Wall edge, preventing the player from seeing that there IS a wall, it penetrates just a few pixels in to give the player a chance to recognize the map boundaries for what they are.

This is configurable as part of the brush you would draw your maps with. Depending on how far down the editor path we get, you’ll be able to pull in art from existing maps to create brushes which then allow you to extend those maps in roughly the same style.

The brush in the examples of the 2D editor and the shadow casting all use a section of wall from MonkeyBlood Designs.

The final video for shadow casting shows another map created using the 2D engine and our sample of MBD’s wall art.

In addition, this video shows the ability to use lighting effects even when fog of war is not enabled.

Some of the features of our existing lights are as follows:

Color, Range, Fall-off, Intensity, Sharpness, Opacity, Angle, Halo and Blend Mode.

  • The Color option is pretty obvious, allowing you to configure what color any given light source is on the map.
  • Range allows you to set the maximum reach of the light. This is the distance from center to complete darkness.
  • Fall-off controls the hazy area near the maximum range of the light. Using Fall-off controls you can create regions of shadowy illumination or create universally dim lighting.
  • Intensity is the control for the amount of light at origin and is limited by the Fall-off value.
  • Sharpness determines if the light has a hazy border or no shadowy area.
  • Opacity allows you to control how much the light source changes the color of the map and other graphical elements.
  • Angle allows for you to change the light source a complete circle into a pie slice between 1 and 359 degrees.
  • Halo paints an additional lighting effect around the origin. This effect doesn’t do anything mechanically, but it does create an interesting bloom effect at origin. Cool for glowing objects which also shed light such as a torch.
  • Blend Mode controls how the light effects the surrounding area as well as how other lights effect each other.

Map Editor and Lighting alone a VTT is not

As I’m sure Master Yoda would agree, the previous features are flashy, but they’re not really indicative of a good reason to move to Unity3D compared to our Java work thus far. To that end, let me introduce the next video in the series.

In this installment, I would like to show you an early tech preview of a virtual tabletop built in Unity3D using some of our design language and concepts from nBoard/Mage Hand. This demo was designed specifically for Android/iOS and so the behavior on desktop is slightly less than what I would have liked to illustrate here. The core bit which fails in the video is the path highlighting. You’ll see that as I drag some tokens around, the system draws a path from some random grid location to the lower left corner.

On mobile this behavior is non-existent. It wasn’t worth the additional time to fix it for the video, as we’ll be replacing this pathfinding solution with a more mature version for our Unity3D builds.

With caveat in hand, the features of note in this video are as follow:

  • Multiple Token movement (not demonstrable on my desktop)
  • Pathfinding with staggered/timed movement and path decoration
  • Dynamic lighting and reveal
  • True historical Fog of War
  • Layered map elements allowing for travel under scene elements
  • Animated effects (fire pit, hit/miss animations)
  • Early prototype UI for shared space play.
  • Skin-able UI
  • Rotatable and orientation dependent UI elements – you’ll note that when a character page appears or a damage dialog, it faces the UI marker hosting the Player/Creature’s token image
  • Map panning, zooming and rotation (rotation disabled for this build)
  • Shadow Casting/Fog of War Zones – prevents player from revealing further into the terrain than the GM would like
  • Large size creatures configured as vision blocking (configurable)
  • Area of effect templates used to show target ranges for actions
  • Table lighting effects used to turn a black and white map into a cavern
  • Auto light mapping by 3D/2D tile elements – this map is a mix of SketchUp Built tiles by MonkeyBlood Designs as well as 2D tiles which also block lighting effects similar to the Editor illustrated previously

There are a handful of other bits and pieces of note in the combined tech demo. However, the one thing which is not represented here is dice.

A die in the hand

As some of you may be aware, Mesa Mundi was responsible for the coding work for Games Workshop’s recent Warhammer 40,000: Assault Dice app for iOS. This technology is something we developed in conjunction with Lifeform Entertainment and have retained rights to re-use the tech in Mage Hand and other places.

What this means for the current project is that we have access to a best-in-class physics-based dice simulation which is designed to be light weight and capable of rolling 100’s of dice simultaneously –for those times when you really need to roll an Empowered and Heightened Disintegrate at your party's wizard.

Earlier I mentioned how the dice technology can, and will, be accessible from Classic. This is a near term goal and does not distract from the greater whole. One of the networking systems being built for Mage Hand allows Mage Hand, and it’s components, to pass messages and trigger events between clients and servers.

RPG Dice for Classic is a slight re-roll of this technology using “desktop pet” overlay techniquesto allow you to roll 3D dice via the d20Pro Trigger system and receive/process results.

Here’s a quick view of what it would look like. Keep in mind that this is a proof of concept/technology demo so the controls are being run from within Unity3D (the window on the right). The overlay product would not need or have that control window as all of the controls will be native to d20Pro Classic through the Trigger system.

As we develop more features for Mage Hand, we will continue to push these to you in bits and pieces which can augment your existing game play. Once we move into the Alpha and Beta stages, the mini-release will stop -- to be fair, they are likely to stop before then. The lead up to Alpha will be substantial and focused.

In closing

The road has been long and winding, and there’s been more than one major pothole along the way. However, I feel quite strongly that we’re on the right path here and hope that you still want to come along for this wild ride.

Unity3D is opening a lot of doors for us in addition to the detailed bits above. I hope to be in a position to share some of the additional exciting news regarding partnerships and publishing agreements in the next few weeks. Many of these new opportunities to grow our VTT space are related or dependent on the decision to move onto this new development path. We’re set to take the VTT market by storm!

- Owlbear (and team)

Marketplace Content & Schedule Update
about 9 years ago – Thu, Aug 06, 2015 at 10:47:03 AM

Hail and well met Backers,

Marketplace Content Aplenty

In addition to developing the software itself, we have been diligently working on getting quality content on the Marketplace. As of last Friday, all the content promised as part of the Kickstarter is now available!

To obtain your content, simply run d20Pro Classic and open the Downloads window from the main menu. Then click on Launch Marketplace and browse to your content. You should see a Download button. If you see a Purchase button instead, please verify that you have completed the BackerKit survey and supplied a valid d20Pro username.

If you have any questions or would like assistance obtaining your content (or putting it to good use), don't hesitate to send us a Kickstarter message or try the contact form.

Early Access Schedule

The dev team has been putting in long hours to get the new software ready. We have been making great progress. A good deal of work remains and while we are eager to get it into your hands, the last thing I want is to rush and sacrifice quality. The d20Pro Ultimate system will be well worth the wait and I expressly thank you again for your patience and understanding.

June 30th - Early Dev Access

The Beta API + SDK will be unlocked for Backers with DEVELOPER EARLY ACCESS.

July 30th - Early Gamer Access

The Closed Beta will begin and be unlocked for all Backers with EARLY ACCESS. 

August 30th - Open Beta

A month later the Open Beta begins and the world at large will experience the game changer that is d20Pro Ultimate.

In the meantime, if you're not already using d20Pro Classic please give it a try. And remember that all d20Pro Classic content will be 100% forward compatible with d20Pro Ultimate.

Best regards and good gaming,  

Mat Morton ~ GM Thraxxis

d20Pro Ultimate: Back in the Game
over 9 years ago – Thu, Jun 18, 2015 at 12:46:50 PM

Hail and well met Backers,

I have some good news and some bad news. By now we are a couple months late on the original schedule and that's bad. As for the good news: we're still holding the majority of the Kickstarter funds in reserve. For the last month we did market research and, as a company, soul searching. With fresh resolve and hardened purpose, we now embark on a laser-focused journey to evolve d20Pro from a promising contender into the ultimate virtual tabletop for role-playing games around the table and around the world.

d20Pro Ultimate

From the fertile ground of d20Pro v3.4 will rise d20Pro Ultimate, also known as d20Pro v3.5 in honor of the system that initially inspired GM Thraxxis to begin this quest over a decade hence.

d20Pro Ultimate will first and foremost be a superior solution for managing virtual game tables. d20Pro Ultimate will provided full support for interactive map objects such as Creatures, Tiles, Items, Vehicles/Mounts, and Cards in addition to Shadows and simple character sheets. The game table will natively support multiple users interacting from any edge of the window, for tablet and touch table deployment, as well as offering a powerful networking engine supporting peer-to-peer games.

Furthermore, d20Pro Ultimate fulfills our goals of a virtual game table for game developers -- from enthusiast to professional. This technology provides a platform for third party developers around the world to not only build content, but also arbitrary game rules and UI panels. The possibilities for game play innovation will be expansive, to say the least.

Unlimited Rules Engine

Multiuser + Multitouch

Shadowcasting Fog of War

Once d20Pro Ultimate accomplishes the primary stage, all the d20 game mechanics will be poured in. 

d20Pro v3.5 will indeed be "Ultimate" by combining the best of d20Pro Legacy -- rules crunching, clean user experience, responsive game space, and a rock-solid stable application. In addition, Ultimate brings a new, raw virtual tabletop, completely redesigned workflows for attacks, spells and effects with a core focus on streamlined user experience.

Play Better. Play Faster. Play Anywhere.

What of nBoard, the Unlimited Tabletop?

The question could as easily be "What is in a name?"  

All aspects of the Kickstarter we have described as nBoard/Unlimited Tabletop are part of the roadmap of d20Pro Ultimate. Internally, we have taken nBoard and Unlimited Tabletop and moved these constructs into a larger scope project which will start to reveal itself as we move forward. For those of you who have contributed, we want to honor your faith by giving you access to "what comes next" after we complete the goals laid out by this Kickstarter -- so, all Backers will receive equivalent licenses to run nBoard once it becomes available in the future!

d20Pro v3.4.7

Before embarking on d20Pro Ultimate's hard march to Gen Con, we wanted to make sure that v3.4 is in great shape to tide everyone over just a bit longer. A great deal of care has gone into the content publishing pipeline and the results are paying off with as much great content appearing on the Marketplace in the last month than in entire year prior. Now publishers big and small are empowered to upload their content to the d20Pro Marketplace. 

d20Pro v3.4.7 is available in limited release right now on the d20Pro Forums

Enhanced Marketplace Experience

The new Marketplace replaces the single layer of categories with a full hierarchy. The organization is more intuitive now and gives plenty of room to scale to many hundreds and eventually thousands of products to choose from. 

Please note: the web browser view is read-only. To actually purchase or download products into your d20Pro campaign, please run d20Pro to launch the in-app version of the Marketplace .

In addition to a hierarchy, products on the Marketplace may be tagged so you can quickly find overhead versus portrait tokens. Or everything available for Pathfinder for example.

New Content Available

The new Marketplace is automatically updated when the newest additions are published. Check back often to see the newest products as they become available.

Interested in publishing original content to the Marketplace? Let us know!

All the content from Kickstarter should be in your hands by the end of May. And stay tuned for a constant stream of new content from your favorite publishers.

Upgrade Path from v3.4 to Ultimate

Once d20Pro Ultimate is mature enough to handle all the map geometry and creature data that d20Pro v3.4 supports, Ultimate will be extended to automatically recognize and import legacy any v3.4 content into the Mage Hand format for seamless and immediate use in your Ultimate powered games.

Time for some heads down, nose to the grindstone cranking. EARLY ACCESS is expected in June and all Backers for Gen Con. As the product matures we will keep you up to date. Ultimate will then become available to the public sometime after. 

And for those attending PaizoCon later this month, we'll be there on Sunday and Monday with our latest tech. Look for us in person or send a note through Kickstarter to arrange an impromptu demo.

Best regards and good gaming,  

Mat Morton ~ GM Thraxxis & Tobias Drewry ~ GM Owlbear

PAX East Recap & Developer Early Access
over 9 years ago – Wed, Apr 08, 2015 at 08:43:51 PM

Hail and well met Backers,

Live Alpha Demos @ PAX East

The fledgling yet capable nBoard Alpha was a huge hit with the gamers at PAX East. The Unlimited Tabletop platform showed off the incredible potential for role-playing and war gaming scenarios. 

Showing off d20Pro Classic on a Mesa Mundi Monolith F-Series at PAX East.
Showing off d20Pro Classic on a Mesa Mundi Monolith F-Series at PAX East.

The fully implemented Checkers demo was also well received, with attendees of all ages going head-to-head on a state-of-the-art 42" touchscreen.

Attendees enjoying a "back to the future" game of Checkers
Attendees enjoying a "back to the future" game of Checkers

A special shout out to the Backers at PAX who came by the booth. It was a pleasure to meet you in person and talk about gaming and technology!

Developer Early Access (Alpha)

The Alpha API & SDK is now live. If you have the DEVELOPER EARLY ACCESS Reward, we need your github username in order to be add you to the private Alpha repository. 

Please transmit your github username in a Kickstarter message. Or feel free to use the d20Pro contact form (just make sure to supply the same email address associated with Kickstarter so we can verify your reward). 

Gamer Early Access (Beta)

For all those intrepid gamers with the EARLY ACCESS Reward or Add-On, we have not forgotten about you! The Alpha build is a great start but it's just not featured enough to take up your time with. 

The work on the Beta has begun and I expect to make it available soon. We will keep you up to date on the progress and cannot wait to get the software into your hands for gaming and feedback.

Best regards and good gaming,  

Mat Morton ~ GM Thraxxis

We Have Primary Ignition
over 9 years ago – Sat, Mar 21, 2015 at 08:38:30 PM

This post is for backers only. Please visit Kickstarter.com and log in to read.