In response to my recent video demonstrating EpicTable 2 character tokens, someone asked about isometric maps and tokens, and pointed me to Alex Drummond’s work (https://www.patreon.com/epicisometric/overview). All of this got me wondering…
Here is an isometric map and tokens in EpicTable 1. I turned off snap-to-grid and show-grid. Please, no one ask me to do snap-to-grid on isometric maps–I’m still recovering from hex maps! 😉
The only unfortunate thing is that EpicTable 1 makes tokens square, because…I guess I had an overly D&D-centric perspective. This squishes isometric tokens. In EpicTable 1, you can get around this by using image objects instead. This is a significant pain, made worse because you can’t save a gallery of images for easy reuse in ET1. I won’t make either of these mistakes in ET2!
People who care about token facing: What do you think about the test snapshot below? The notion is you’d be able to face an edge or vertex or free-rotate. You’d be able to change the facing indicator color and turn facing indicator display on or off.
A question I have is: should the indicators be shown for all tokens or just the selected one? Or is that behavior that needs to be configurable?
Let me know on the forum or on facebook.
A little eye candy for you while I work on pulling EpicTable 2.0 together. The new maps in EpicTable 2 support some new features. I’ve spoken to many of you about separating terrain and dungeon dressing from the map background and the token layer. While looking at the issue of map layers more generally, it struck me that there were some interesting effects possible. One such is this battle map of a volcanic cavern with flowing lava and smoke and steam. As cool as this is, I’ve no doubt it will drive some people crazy, so rest assured, I’ll give you a way to turn off animated elements of the map.
About this map
This map started life as one of the maps from the 2013 EpicTable Box Set, a beautiful cavern map created by one of my all-time favorite fantasy cartographers, Christopher West. You can find more of his work at Maps of Mastery. (Watch out, though–a lot of his stuff is for printing, so it’s super-high-resolution. I had to scale it down to some tiny percentage to make it virtual tabletop ready–and it still looks amazing.)
I made some areas of the map transparent, added some flowing lava under it, somewhat slower than the original, and added a layer of dark clouds, rendered mostly transparent and very slow, on top of it for the smoke and steam. Both those videos were from iStockphoto, and um…I’m chalking their cost up to my Marketing department (which is me).
Any of you think you might be able to make use of animated token bases? Check this out:
These are, for the moment, rather non-trivial to create yourself, so I’d probably start with a gallery of them for different conditions that you could apply to a character…like…um…”on fire”? 😉 I don’t know, honestly, that fire is the ideal example. I think maybe flying and confused and entangled might be better examples of indicating character status in this way. But you’ve got to admit the fire looks cool. 😉
How would you guys see using this? Or do you? Right now, I think of it as a proof of concept that may or may not have a concrete use. Before you suggest it–because I know you are about to–the related feature that this enables, which I’m more sure will be useful, is animated spell effects. I’ve been looking at things like (to go all D&D on you for a second) Obscuring Mist and Entangle and a Pleasantly Roiling Darkness. As with all things EpicTable, I’m trying to give you a set of game-system-neutral components that you can use in any game you want, but where I know certain things are going to be useful because they appear commonly in certain games, I’m not above providing some pre-builds for them.
A Little Gratuitous and Unnecessary Background for the Insatiably Curious
EpicTable 2 represents a fairly major technological uplift relative to EpicTable 1. I created the first version of EpicTable when some tech that’s available now just wasn’t around or wasn’t ready. As new devices have entered the market, it’s pushed me to upgrade the technology underlying EpicTable. In some cases, the benefit is just that it handles new scenarios like large screens and high resolution displays better. That’s why I started with chat, by the way–at the time that was written, one had to do horrifying things to render dice and text together, and not only was the code complicated, but it just doesn’t work perfectly with some of your new displays. The additional benefit, though, is that the new tech opens up all kinds of possibilities, and it’s looking like the EpicTable 2 codebase is going to be significantly smaller and simpler. The core is the same–the way a dice roll or a character or a map is modeled is the same underneath–but the way it hits the screen and allows interaction is way, way, simpler.
To kickoff the new EpicTable Tutorial Video page, I’ve created a brand new video dealing with maps. This video takes you through using EpicTable to provide shared online maps for your RPG gaming session. It covers creating image-backed and texture-backed maps, working with character tokens, grids, drawing wet-erase battlemat style, and briefly introduces fog of war. Enjoy!
One of the stranger things I’ve ever seen was the appearing and disappearing drawings of one of the beta test groups. I joined their session to see what was going on. Otherwise, it would have been hard to believe. But there it was–a drawing on a map…drawing itself, then un-drawing itself. Other drawings were popping in and then winking back out. I wasn’t sure what I was seeing.
Like most weird issues, though, this one had a fairly simple explanation–one that has a lot to do with my having written the initial freehand drawing support for EpicTable at 3am on the second day of Gen Con last year.
I’d pictured the GM drawing on a map, just like he’d draw on a wet erase battlemat. That’s how I demoed it, that’s how I tested it, but you guys are a lot more creative than that.
The Messy Realities of Drawing
My image of a GM drawing while everyone else looked on didn’t match the reality. The reality was a lot messier. Multiple people drawing and people staying in draw mode for substantial amounts of time were both things I hadn’t considered. So, my drawing updates, which were simply broadcasts of the new state of the entire drawing, led to the bizarre effects mentioned above.
Alice would draw a red circle, and so this new drawing consisting of a red circle would get sent to everyone.
Meanwhile, Bob has drawn a black rectangle, and that gets sent to everyone.
Alice sees her circle disappear, replaced by Bob’s black rectangle.
Bob sees Alice’s circle replace his rectangle.
Joe, who got Bob’s message last, sees the rectangle.
Sue, who entered draw mode and has been sketching out a room, doesn’t see any of this. She exits draw mode, and her sketch gets sent to everyone
…but Joe’s entered draw mode already to draw an arrow pointing at Bob’s rectangle, so everyone knows where it’s supposed to be. He exits draw mode, wiping out Sue’s room with his arrow and Bob’s rectangle….
You get the idea–it gets very confusing very quickly, and you see “old” drawings reemerge because someone had it “preserved” by being in draw mode while all the new work was going on.
The Fix, Slaying the Erase-by-Pixel Hydra, and Other Tales
No way around it. I had to rewrite the drawing update mechanism to be stroke-by-stroke rather than entire-drawing. It was a bit of a bear–not made easier by the fact that erasing by pixel results in new strokes. Just like chopping the head off a hydra, when you use the eraser to, say cut a stroke in half, two new strokes are created…but they weren’t drawn, so I don’t get any events for these new strokes–they’re just there. It was a nasty beast to slay, but now, you can have multiple people drawing at once, happily receiving each other’s new strokes. Now, if you both use the pixel-based eraser on the same stroke…well, the monster’s got to win sometimes or it’s not a good story, right?
“I’m in the room.”
“No, you’re not.”
Have you had one of these conversations? Here’s why.
Prior to beta 21, when you were in drawing mode, you were drawing on top of a snapshot of the map as it appeared at the time you entered draw mode. This works pretty well when you draw, everyone watches attentively, and you exit draw mode once you’ve dazzled everyone with your sketch of the Lizard King’s Throne Room. But that didn’t always happen. Sometimes you’d stay in draw mode awhile. Sometimes people would move around while you were in draw mode.
I say “you” in this vaguely accusatory way–like you should know better. Well, “you” includes “me”. More than once I found myself in a cold sweat over what looked like fundamental synchronization issues. And then I’d say, “Oh, hey–I’m in draw mode.” Clearly, something had to change. You shouldn’t have to know that you’re in a weird state of suspended animation when you’re in draw mode–you especially shouldn’t have to know about this if I can’t even remember it. So it’s fixed.
What changed? Now, when you’re in draw mode, you’re no longer looking at a static snapshot of the way things were when you entered draw mode. You see actions on the map just as if you were out of draw mode. There’s no reason for it to be any other way.
Set Focus (aka “Everybody, Look Over Here!”)
Long ago, several of you requested a feature that would let the GM draw everyone’s attention to a specific map, even a specific part of a specific map. Lots of conversation ensued, and while I was sympathetic to the idea (especially when motivated by the projection setup one of you guys have), there were lots of other things that kept robbing this of the priority needed to get it done. I never stopped thinking about it, though, and as beta-21 was wrapping up, and I was absolutely out of time for another feature…I decided to squeak in another feature.
“Set Focus” allows the GM (or more accurately, people with the right to do so–more on that later) to direct everyone’s attention to his current view. When the GM right-clicks on a tab and selects the “Focus” item, EpicTable notifies the other participants of the GM’s request to switch to a specific tab and center their view on the GM’s view. This notification is presented in the form of a little popup message in the lower-right, such as this one.
Let’s dissect this popup a little bit. The requestor and the target map or tabletop are identified in the text, and the user is asked to receiver the focus change. The receiver has a number of choices at this point.
Accept – You’ll immediately be taken to the GM’s tab and your view will be centered to the same point as the GM’s.
Decline – Dismisses the notification without taking any action.
Always Accept – Like “Accept”, but your acceptance will be automatic for future focus requests.
If the receiver does nothing, the note will fade away after about 10 seconds, effectively declining the request. (Later, the fade time and the response-upon-fade will be configurable.)
There are some other options the user has beyond simply answering the request:
Move the note – you can drag it to a move convenient location, if you like
Postpone – pinning the note allows the receiver to postpone his decision. The notification won’t fade away while pinned.
Close it – if you’ve pinned the note and others have come in, or it’s just not relevant anymore, you can close it.
There’s no difference between closing, declining, and letting a not fade away.
Unleash the Drones!
Some of you don’t want the user to respond. You have a computer connected to a projector or big screen, and you want it to just follow your lead. No problem, you can set that computer up to auto-accept focus requests. This setting is located on the “Preferences” tab of the new application menu (hiding under the round dragon button).
This is the same setting that gets checked when you hit the “Always Accept” button. So, if you’ve decided you really don’t want to follow your GM’s every whim, here’s where you’d change revert that “Always Accept” decision.
More Tab Goodies
Sharing the Easy Way
To make a private tab shared, you used to have to close it, go to the map or tabletop gallery and open it as shared. No longer. Now, you get share and unshare options when you right-click on a tab.
Many of you requested restrictions on the tabletop–not necessarily to reign in out-of-control players, but to stop people from inadvertently shooting themselves in the foot. One of the way people could do that was to hit the close button on a tab. This unshared it, which led to lots of conversations like, “Wait!” (alarmed) “My map just disappeared!”. Now, by default, there is no little red X button unless you’re the owner of the map or tabletop in that tab.
“But we liked the fact that EpicTable was wide open! We play GM-less indie games, and we all co-author the world we play in.”
Don’t worry–I’m right there with you. Thus was born the Table Options panel. This is available from the little gear icon on the Main tab of the ribbon.
From here, you can choose between the “GM-Controlled Table” and “Open Table”. The “Open Table” is the “anyone can do anything” EpicTable some of you have grown to know and love. The “GM-Controlled Table” is the new default. It’s still fairly open, but it puts more control in the hands of the GM. It’ll become a little more restrictive over time–right now, it mainly affects tabs and who can share or set focus. Later, it will expand to limit interaction with characters that are not your own.
The Table Options panel is the new place for setting your game’s visual theme. You’ve been able to do this for awhile, but now you have a neat little gallery with sample images that expand when you hover over them.
More Visible Support Options
There’s actually quite a bit of EpicTable information available, but it hasn’t always been easy to find. This tab under the application menu (the round dragon button) aims to help.
There were other little bug fixes and things. For a full list of what’s in beta 21, check out the Beta 21 Release Notes.
Just a quick status update: I’m continuing to tie up loose ends in preparation for an alpha release. One of those is the performance of the line of sight engine. This is the set of algorithms that collectively make up what I’ve been calling EpicTable’s “TrueVision”.
Some of you may recall from the demo that updating the player’s view after a character move took 2-3 seconds, which is somewhat obnoxious. I’m happy to say that I’ve halved that already without doing anything too exotic. Moving light sources needs a similar boost, and I need to reevaluate my nightmare scenario: open field, high noon, single tree with a goblin hiding behind it.
I realize one could spend the rest of one’s life messing with vision calculations, and I have no intention of doing that. It’s getting close to good enough.
Keen observers will note that I’ve implemented support for top-down tokens since the demo as well. (Thanks to DevinNight of Four Ugly Monsters for the use of the token!)