Yes. I have a commitment from him to do some icons, but I haven’t had
enough time myself to convey what we want yet. Having a list of descriptions
of what we need is the next step so he can get moving.
Would you mind posting the icons you’ve done so we can see them?
It would be useful to have the following facilities :-
Ability to view and select from Vassal supplied icons. Some icons may be supplied in multiple versions (e.g. Dice Buttons).
Concept of an ‘Icon Family’. A named set of icons in the standard Tango sizes. Select Icon by Icon Family name and size. Missing icons in a family generated from nearest supplied icon. All Vassal supplied iscons should be supplied as a Family. User can create and reference own Icon families within module.
Can you be more explicit about this? Are you thinking of the sort of
component which shows you thumbnails of images? (Actually, an image
browser would be nice to have in general… Possibly there’s already
a Swing or Swing Labs component which does that?)
Along what lines do you see a family being organized?
BTW, today on the Tango list it was annoucned that the whole
tango-icon-theme package is going to be made public domain, so we no
longer have any licensing issues to contend with for the icons we want
to use or modify.
I think the extension icon should be made by adding a badge to the
These three already exist in tango-icon-theme.
There are probably some we could modify for these.
These two already exist in tango-icon-theme.
I think it would be neat if we had dice icons which matched
the dice they roll—i.e., if we had icons showing a d4,
a d8, a d10, a d12, and a d20, not just a d6.
I can create 3d models of the dice if you need for rendering and output in any format. Spec your criteria if you would want rounded edges for die etc…
3D rendered to 2D images looks much better than trying to make a 2d image look 3D
I can do other dice as well, but they’re obviously a bit more painful, as all except d6 have visible sides when viewed from above. Not sure how I should approach d4 – probably as viewed from the side, but then it won’t be consistent. I could have a top view of a pyramid with the correct number around the edges and then just omit the other edge numbers.
I haven’t done the drop shadow in the d6s because I thought that should actually be a separate layer in VASSAL.
Will have to look at which prog I got that can output svg (I think 3dsmax does) - might have to do a bunch of exporting from one program to another to get there, but will save that for last when all are happy with the dice.
Heres a screen of 6 sided unrendered - no material yet
starting 4 and 8 sided now
Yes, that’s what I had in mind. We supply icons in Vengine.jar, but you can’t view them. The only way toselect them is if a component has a ‘Default’ button to set it’s own default icon from Vengine.jar. There is no way to view the complete selection of available icons in Vengine.jar. This becomes important when we start to supply variant icons and ‘generally useful’ icons that may not be tied to a specific component.
Yes, the thumbnail selector is a great idea also.
Also Joel, Can you access images in Vengine.jar using ImageOp?
Along what lines do you see a family being organized?
The icons I’ve created are optimized for 32x32 right now. They are all
SVG, but to export at other resolutions requires a lot of tweaking. I
think the first step to get things going is to stick with 32x32 and then
work on the other sizes later.
Tango specifies 3 sizes that should be addressed:
Extra Small: 16x16
32x32 is medium size and is optional.
An icon family is a named set of icons supplied in 1 or more of these sizes. For example, the icon family ‘go-down’ might be supplied as 2 icons, an extra small icon ‘go-down16.png’ and a medium icon ‘go-down32.svg’. All references to the go-down icon within Vassal components would be by Icon Family name (‘go-down’) and size (‘small’ etc.). The Icon Family class would take card of supplying missing icons by scaling supplied icons. In this case, the missing Large and small icons would be created by scaling the medium svg icon.
If a designer wants to use a new icon for a launch button in a module, they would need to create an Icon Family for it first. I envisage a new top-level component IconFamilyContainer in which you create your IconFamily components.
Yes, but I am looking at the longer term. Icons are used pretty much exclusively in LaunchButtons, so the handling should be pretty central. If all LaunchButtons selected icons by Icon Family, then you could have a preference for the user to set the size of ALL icons in the toolbar and have the whole lot change from medium to small in one go. The generated icons may or may not look great, but that is up to us to supply enough sizes for each to make it work.
I would definitely vote for the 3.2 or later and do the whole lot in one go when we have had time to get as many icons together as possible. Let’s not hold up 3.1 any longer than we have to.
I would like to see single die and double die each of d4, d6, d8, d10, d12 and d20, optimized for each of 16x16, 22x22 and 32x32.
That should cover 95%+ of the requirements. Use the single die for a single die roll, use the double die for 2 or more rolls. Lighting etc. does not matter to me as long as the whole set follows a pattern. However, the Tango style guidelines for lighting state:
Having homogenous lighting across all icons also is important for visual consistency. Tango icons are lit from above, with the light source slightly to the left. Icons with on the table perspective may cast a fuzzy shadow on the surface as if the light source came from the position of the observer.
That d6 picture looks great, but it does not really fit the Tango style guidelines at all.
I suspect we will not use 48x48 much in Vassal and the ‘IconFamily’ concept should scale the 32x32 up to 48x48 acceptably.
Here is the 4 side die in perspective view (didnt finish back faces yet )
the lighting model is the default for unrendered solids in solidworks.
1 ambient light and 2 directionals with different color tints - All this of course can be modified - just point me to the guidelines for the tango lighting, and the viewing angle you want from the camera - easy to fix.
I have a somewhat different suggestion: Use numeric badges. If the button
rolls 3d4, then have a badge showing the number 3 superimposed on the
icon. (Could do the same for modifiers…) The icon and badges can be
composed at runtime.
32x32 and larger are almost always going to be a straight rasterization of
the SVG, so won’t require any special care. It’s really on the 16x16 and
22x22 which need to be retouched once their rasterized.
Yes. That’s what I want to use it for, regardless of whether we use it
for creating icons. I’m not suggesting that we build a physics model
just for dice rolling. For this, we should look at what ZunTzu does.