Maptool Concepts: The Next UI, Look, and Feel

Progress reports and musings from the developers on the current gaming tools.

Moderators: dorpond, trevor, Azhrei

Post Reply
User avatar
kristof65
Dragon
Posts: 287
Joined: Tue Mar 31, 2009 9:48 pm
Location: Lakewood, CO

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by kristof65 »

Rumble wrote: Alternatively, they could be click-persistent radial menus, so at least you don't have to hold the button down.

I keep thinking about how useful it would be if the menus were radial menus that worked something like this:

1. Click and release on token, or item (right click, double-click, whatever best suits)
2. Radial menu pops up
3. Use the scroll wheel to rotate the menu, so that the bottom (or top, or left, etc) item expands into a "regular" sub-menu or another radial menu.
4. Select item from sub-menu with a click.

I do realize that not everyone has a mouse with a scroll wheel, and that other forms of input such as touch screens, Wii motes, etc need to be considered. It's just that I've come to like my scroll wheels very much, for all sorts of uses.

dorpond
RPTools Team
Posts: 5530
Joined: Thu Jun 01, 2006 2:05 pm
Location: Buffalo, NY

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by dorpond »

The only problem I have with radial menus is coming up with all the little pictures to represent some sort of function. To be honest, I hate games that use radial menus - I find them terribly slow to do anything because of the Image to functionality translation that takes place in my little brain. :P

Plus on the development side, it gets hard finding/creating all those images.

I am not saying we won't do radial menus, I am just telling you my own view of them.
How to use my bundled artwork (MT1.3B60+): http://forums.rptools.net/viewtopic.php?f=8&t=11759

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by jfrazierjr »

dorpond wrote:The only problem I have with radial menus is coming up with all the little pictures to represent some sort of function. To be honest, I hate games that use radial menus - I find them terribly slow to do anything because of the Image to functionality translation that takes place in my little brain. :P

Plus on the development side, it gets hard finding/creating all those images.

I am not saying we won't do radial menus, I am just telling you my own view of them.


Plus, the two big graphical frameworks(Swing/AWT and SWT(from the Eclipse project)) for Java don't support radial menus out of the box. That means that Trevor would have to spend quite a bit of time designing the custom code to make a radial menu system work, and thats time that would be taken away from other coding. Thats one of the reasons why so many applications have a standard right click, open menu with possible one or more sub menus both in Java, or other languages... its because its built in an quick and easy to do.

Hmmm I wonder if anyone has created any free/open source radial menu code in the past that Trevor might be able to leverage easily... (FYI, I am not a fan of radial menus of more than 2-5 items with only 2-3 sub items.. any more than that... and it's just a PITA for me as Dorpond says.
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by jfrazierjr »

jfrazierjr wrote:Hmmm I wonder if anyone has created any free/open source radial menu code in the past that Trevor might be able to leverage easily... (FYI, I am not a fan of radial menus of more than 2-5 items with only 2-3 sub items.. any more than that... and it's just a PITA for me as Dorpond says.


Hmm... this one looks pretty neat...Radial Menu System (RadiS). You can test it out easily by downloading, extracting to a folder and then double clicking the jar file, and press Win-A (on windows only of course)...Looks real easy to "add" additional links also..
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by Rumble »

I didn't see anything in a quick google (correction: I saw RadIS, and it didn't look like what I was looking for! :oops: ). So, on the one hand, radial menus kinda look pretty cool, and they're supposedly faster and more intuitive or something like that. They work well with a stylus, and acceptably with a mouse.

On the other hand, they are not available as a library, would be hard to develop in the code, and would require a considerable effort from graphic designers and artists to come up with images. They would also present an obscurity situation - what does an icon shaped like a head mean - character sheet, or token properties? What does a chat bubble mean? Does it mean "open chat," or "speak as this token?" Stuff like that.

I would be quite content with a conventional right-click menu, especially if it was reorganized a bit (and, I'm guessing it could probably be skinned or something to be mo' prettier). Radial menus look cool, but if they're not worth the effort put into them, then that effort should not be spent.


Edit: after some more searching, I also found the SwingStates library, which (they claim) adds new interaction capability to existing widgets; they have a radial menu demo and other interaction methods, animation, gesture recognition, etc. Don't know how robust it really is, but it's out there.

Also, SATIN. Very dated, but a toolkit focused on pen/stylus use that has radial menu implementations. Actually, PieMenus are a standalone modification of JPopupMenu in SATIN, or so it seems.
Last edited by Rumble on Wed Feb 03, 2010 3:13 pm, edited 3 times in total.

User avatar
kristof65
Dragon
Posts: 287
Joined: Tue Mar 31, 2009 9:48 pm
Location: Lakewood, CO

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by kristof65 »

Rumble wrote: I would be quite content with a conventional right-click menu, especially if it was reorganized a bit (and, I'm guessing it could probably be skinned or something to be mo' prettier). Radial menus look cool, but if they're not worth the effort put into them, then that effort should not be spent.

I can agree with that.

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by jfrazierjr »

Rumble wrote:On the other hand, they are not available as a library, would be hard to develop in the code, and would require a considerable effort from graphic designers and artists to come up with images. They would also present an obscurity situation - what does an icon shaped like a head mean - character sheet, or token properties? What does a chat bubble mean? Does it mean "open chat," or "speak as this token?" Stuff like that.



Hmmm... well.. putting my thinking cap on, if someone was willing to do the set up work, it would be possible to build custom radial maps on a per token basis, perhaps with an inheritance system based on token type(PC vs NPC vs object vs any others we come up with). This could also be added into the permissions scheme Az is noodling in his head. So, perhaps in the Campaign properties, you set up the globals and mark each one as GM, Player, or both with both being the default. Then in the campaign properties, you could set up sub types for filtering by token type, perhaps having a "duplicate" of the same targeting "code link" with different paramters for PC vs NPC. Then finally, the same could be done on an individual token so specific macros could be configured (OR it could inherit from the macros and macro groups already in existence, possibly with sub macro groups added to the core code also for a third layer).

At least with RadiS, it pulls the "links for each pie section from the filesystem, but there is no reason that a similar setup (either built from scratch or using some existing library with some changes) could not pull from a resource created by the end user just as the states are done now. Additionally, it would even be possible to use a handler type approach so that the handler would pass off the building of the menu to either the existing style menu OR the radial menu configuration based on user preference and/or campaign preference, etc.

If you have not, give RadiS a quick play with. While not optimal since its more built for Window users as an alternate to the start menu, it at least provides some ideas for me UI wise...
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by Rumble »

jfrazierjr wrote:If you have not, give RadiS a quick play with. While not optimal since its more built for Window users as an alternate to the start menu, it at least provides some ideas for me UI wise...



I did look at it very briefly while I was home for lunch, and it's a pretty cool idea. I didn't notice if source code was available when I grabbed it (like I said, it was a real quick peek). I would be fooling around with the PieMenu implementation from SATIN (since it seems to very drop-in), but I can't get the MapTool source to check out on this machine.

Options are always good - "Show Radial Menus" vs. "Show Standard Menus" is worth thinking about, if for no other reason but that radial menus look cool. In this case, we have two menus to think about, though - we want (or, rephrase - I think it would be good) to have a menu associated with a token, so clicking on the token puts the radius centered on the token. However, the face that RadiS uses a menu that pops up around the mouse is also kinda neat. An interesting way to use the drawing tools, say.

I dunno. It might just be put in the "this is not worth the effort" bucket, but there's some potential if done well.

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by jfrazierjr »

Rumble wrote:
jfrazierjr wrote:If you have not, give RadiS a quick play with. While not optimal since its more built for Window users as an alternate to the start menu, it at least provides some ideas for me UI wise...



I did look at it very briefly while I was home for lunch, and it's a pretty cool idea. I didn't notice if source code was available when I grabbed it (like I said, it was a real quick peek). I would be fooling around with the PieMenu implementation from SATIN (since it seems to very drop-in), but I can't get the MapTool source to check out on this machine.

Options are always good - "Show Radial Menus" vs. "Show Standard Menus" is worth thinking about, if for no other reason but that radial menus look cool. In this case, we have two menus to think about, though - we want (or, rephrase - I think it would be good) to have a menu associated with a token, so clicking on the token puts the radius centered on the token. However, the face that RadiS uses a menu that pops up around the mouse is also kinda neat. An interesting way to use the drawing tools, say.

I dunno. It might just be put in the "this is not worth the effort" bucket, but there's some potential if done well.


I think my end thought was in the ability for a GM to possibly create a custom menu for himself and his players from the top down if he so desired and the players were willing to pay with such a GM. For example, if the GM has macros for initiative, why should that menu item show up. Likewise, for games which have no facing, perhaps removing those menu items would be best. Ditto Bar, State, Size, etc.

Hmm, perhaps(as I think was mentioned earlier) a "say" icon on a menu would pop up a partial transparent text field with a "ok" and "cancel" button that would auto impersonate the token. Also, letting the GM define the menus dynamically lets people like Neofax have that control if they want it and it also puts the onus on them for what each icon means without forcing the same icon to have the same meaning for every single player in every game everywhere. So, perhaps just like AdiyBaby and a few others have come up with some default states that GM's can add their own images to, so too with GM/Player built menu items. Again, just thinking out loud...
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by Rumble »

Yeah, I think I'm thinking a step earlier - I'm still thinking about implementation of them at all (as in...when I click on something, does a radial menu pop up, and where?), rather than how one customizes them and what shows up on them.

If they were implemented, they'd need to offer at least the level of customization the current macro panels do in terms of "what functions can I access? what functions are shown to players vs what are shown to the GM?" or else look at a different paradigm.

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by jfrazierjr »

Rumble wrote:Yeah, I think I'm thinking a step earlier - I'm still thinking about implementation of them at all (as in...when I click on something, does a radial menu pop up, and where?), rather than how one customizes them and what shows up on them.

If they were implemented, they'd need to offer at least the level of customization the current macro panels do in terms of "what functions can I access? what functions are shown to players vs what are shown to the GM?" or else look at a different paradigm.


I was thinking something along the lines of the way the States works, with an action target (ie, what clicking the icon does) being a link to the exposed java functions OR a javascript function reference call. Since how the internals of Maptool and which specific ones would already need to be done for the javascript implementation anyway, we could reuse that list. I am even thinking about such things as a walk, run, double move icons which call specific "move x units" code as parameters with such parameters pulled from global properties and/or token specific properties if requested. This type of think should be callable rom and interface to test code you created for move limits via a javascript function into the internal code, perhaps with 3 icons off of a submenu for the 3 movement types...... again, just spitballing ideas, and of course, none of this would be hard coded in the Maptool base, but available if you wanted to configure it.
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by Rumble »

I think it's a good idea - state images (or a new set of images like states) and custom code links (macros, but using whatever new language/methods exist) would be a pretty cool way to go.

On a totally separate topic: I figured out why I can't check out MT on this machine. There are two files in MT, i18n_DE.properties and i18n_de.properties, which would be different on any case-sensitive OS, but on this Windows machine, are not. Subclipse freaks out for some reason, and the checkout fails, unfixably. Sigh. Have no idea how it works on my home PC.

User avatar
Azhrei
Site Admin
Posts: 12058
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by Azhrei »

I played with radial menus a LONG time ago. There were two open source packages I found at the time. But I didn't understand Swing very well back then (can't say as I understand it any better today though! ;)) and integrating them was difficult. Thinking back on it now, they were really just a replacement for the normal PopupMenu that Swing provides, making the implementation almost a drop-in for MapTool's existing menu system.

My problem with most radial menus is exactly what dorpond described: the images are not large enough/clear enough/descriptive enough to be obvious. There was a Unix window manager called piewm that used radial menus (this is back circa 1986 or so!) and they weren't just images. They put a colored background in the pie slice, then an image overlaid on top, then a tooltip that was a word or two about the selection. This was fairly quick and easy to use. And all menu operations were single-click (as opposed to click-drag-release) which is the sensible way to build a menu. :)

venger
Giant
Posts: 144
Joined: Tue Apr 17, 2007 11:37 am

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by venger »

A more intuitive interface would be welcome by all indeed. One gets comfy with the tools learned tho and it's hard to think of how it could get any better than it is,
and that pretty much goes along with everyone else, and there are great ideas here.

So I thought about it a while as I was mapping and came up with this

Here are some enhancements that would maybe make mapping go quicker

So bear with me as I make my approach!

Resource Libraries-
Multiple resource libraries. four default ones; Token, Hidden, Mapping, Background

Image collections would then be assorted by Resource Library and selected via keystroke and/or menu.

(?the ability to add custom libraries in addition to the four defaul ones that would create a new corresponding layer?) that might be too much but heck while Im wishing!!

These new layers would be used in conjunction with the following new tool
~~~~~~~~~~~~~~~~~~~~~~~`
New Tool- Stamp tool
Stamp custom images on mapping(Object) layer with images that you create and organized into the Resource Libraries.
Keystrokes and/or menu toggle thru the resource libraries to select the library you want.

The pen tip would have an image on it that you select from one of the four resource libraries as mentioned above.
If the image size is larger than the mapping window then the window expands to accomodate.
Holding CNTRL and mouse-Left-drag would scale the object. CTRL and mouse-Right drag would rotate. The library should remember what the scale and rotation of the last image used is at the least, and a more advancced feature if it remebered the scale of every object used.

Depending on which Library you are accessing at the given moment is the image that will be on the pen tip. (image size limitations), and also which library you are using will determing which layer the image will be placed in.
If you are in Token mode, then tokens appear on your pen tip. etc etc.

Select the desired image from the current Library collection by CNTRL-rolling the mouse wheel and then left-click to place the image.

Depending which library you selected forces maptool to place the object on that corresponding layer.

Every time you left-click you place a new object named, incrementally, after the filename or from last placed object.
Option- right-clicking removes the object under the stamp.

So a mapping sesion might go something like this...
keystroke(choose library... "Object"), roll wheel (select image), left-click (place some objects)
keystroke(choose library... "Token"), roll wheel (select image), left-click (place some tokens)

On and so forth.

A downside I would forsee to this is having a huge image collection, but a guy/gal might have to manage that.

~~~~~~~~~~~~~~
Switching drawing modes

I would like a quicker way to switch drawing modes so what do you think of this?

The default mode or "Game" mode would be Interaction mode. In this mode you use all your player interaction tools.

Then if I want to change modes...

Press and hold a key or keystrokes to toggle mode temporarily. Here are some simple ideas...
CTRL-1 Topo Mode
CTRL-2 FOW Mode
CTRL-3 Drawing Tools
CTRL-5 Template Tools


Measuring Tool- TAB-On, TAN-Off; Measuring tool toggle would be active in all modes to take measures.
Option- Maybe right clicking could place a marker on the map the GM only could see to aid with drawing and mapmaking. So that you could click one point on the map then click the cell the marker is in and automatically draw a line or whatever

So, I would like to go from default Interaction Mode to one of the Drawing modes with keystrokes instead of toolbar selection.

I would like to see a Topology Library, and a Template Library with vectors created in other programs that could be collected and used in the Stamp tool as mentioned above.

A mapping session drawing topo and FOW would go something like this;
I collect my images and sort them using the Resource Libraries.

I select the Background resource library, and a thumbnail appears on my pen tip. I choose the map (that has already been beautifully rendered in another app) by rolling the wheel and when I left-click that image goes instantly to the background layer at the location. One could place photos or a series of grahics this way very quickly by simply CNTRL-rotating the wheel and clicking and placing images.

So now my map bitmap is placed and I size my grid.

Now I want to draw topo so I hold CTRL-1 and start drawing. Release and I'm back to Game mode.
Rinse and repeat.

Now I want to add player Tokens. I keystroke select the resource library and the token image is selected with the mousewheel.
If you right click a menu appears allowing you to select a customizable set of "filters" or "profiles" the token is subjected to, or a predefined token profile could be chosen.
If you just left click it on a map, a default profile is added to the token image and placed on the TOKEN layer automatically.

Profiles could add default customizable attributes like light sources, vision , drop shadow, states..., alpha channel, drop shadows who knows, lots of stuff

Now the game starts and I want to manipulate FOW so I hold CTRL-2 and remove FOW then release. If I CNTRL-rightclick, I get a menu to select which shape I want'

Now the wizard casts an area effect spell and hold CTRL-5 , right click- select poly, click on map

Well that is it in a nutshell, and I probably missed a couple things here and there but you get the drift I am sure.
don't know if any of this is feasable with the way maptool was built. But there are my two cents worth!!

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: Maptool Concepts: The Next UI, Look, and Feel

Post by Rumble »

I have some issues with that setup - the biggest two are first, I wouldn't want to have the resource library tied to a particular layer. I use and reuse images in many ways, and I would not want to have to first copy a particular image into another library before I can place it on a particular layer - I think the "change to layer" functions are adequate (though I am deeply interested in a new layer system!).

Second, moving forward I think it may be necessary not to rely on the presence of a keyboard to interact with MapTool. Tablet computers aren't taking the world by storm, but they might pick up steam, and pen/stylus/touch compatibility is a good idea to think about (imo, at least). I'm not saying we need "MapTool Touch," just that assuming the ability to use keyboard shortcuts and so forth might be iffy.

Of course, they should be there for the folks that do use 'em, but they shouldn't be the assumed interaction method. The approach you're taking, venger, is very heavily keyboard-focused (every function is keystroke related) and I'm not sure that's a good direction.


On the topic of radial menus, I've implemented one (it doesn't do anything except display the menu, but it does display a ring of icons around the selected token) as an experiment in MapTool using that "SATIN" toolkit. It's decent, if dated. It may be the one Azhrei worked with, in fact - a modification of JPopupMenu. I don't know if it's the way to go (I had to modify some of the source itself to get certain behaviors) but these things exist. It's fun to play with. If it actually did stuff, it would be even more fun!

Post Reply

Return to “Developer Notes”