Stuff You Didn’t Know Was Possible in HeroMachine

[Panner is not only a fantastic troubleshooter and critique-giver, but he's also an expert digital archaeologist, uncovering hidden gems of knowledge when using HeroMachine 3. He was nice enough to put together some of his findings here to share with the rest of the community, for which I'm very thankful. Enjoy! -- Jeff]

HeroMachine has changed a lot over these latest months. In a short time we have seen the debut of a beautiful interface, extremely useful features, dozens of items to work with, and a forum for sharing creations. I don't think anyone will contest that these changes have made the HeroMachine experience a lot more pleasant and a lot less exhausting.

Since HeroMachine is currently in alpha stage, there are a few oddities that can be exploited to reach results that are unavailable when using the program as intended. Here I present three such exploits that all produce results you might have thought were impossible. I hope this will be educational or at least entertaining!

Bigger Items

Item scaling was recently changed to allow scale up to 999%, compared to the old maximum of 200%. However, some items are naturally really small, like eyes, and even 999% might not be enough if you want them as background elements. Not to worry, you can make the eyes as big as you want!

The restriction on scale is only in the GUI, the program can handle items that are extremely large. We can get such items into the system by loading an edited text file, which bypasses many safeguards.

Figure 1 shows an eye at 999% X scale and Y scale, the GUI maximum.


Figure 1: 999% scale eye

To embiggen the eye, press the save button and go to the 'Text' tab. Scroll down until you find the lines '9.99' and '9.99'. These are the lines we want to edit. Figure 2 shows what this looks like.


Figure 2: Finding the lines to edit

Erase the value '9.99' and write '30' in its place. This represents 3000% scaling. Do this for both lines, and the result should look like in figure 3.


Figure 3: Edited scale lines

Now press the 'OK' button and the changes should apply. (Yes, pressing OK parses the text in the text box, essentially loading that character. Pressing X doesn't do this). The large eye can be seen in figure 4.


Figure 4: 3000% scale eye

The enlargement is quite stable and will last as long as you don't touch any of the sizing controls. You can flip the eye, rotate it, mask it, whatever. Most surprising, if you add more eyes they will inherit the large scale and the image can be saved without issues. However, if you so much as touch the size controls, the eye will revert to 999% scale and you'll need to edit the text again. Figure 5 shows which tools are unsafe.


Figure 5: Only the size tool will cause the eye to revert

Character Outline

Do you remember the old outlining feature that you probably never used? The new interface layout couldn't fit all the buttons from the old one, and outlining had to go the way of the dodo.

Or did it?!

The feature is in fact still in HeroMachine, and can be accessed fairly easily. Just go to the 'Color' tab and click on the 'Multiples' checkbox (yes, even if you already have multiples selected). Press Tab twice, followed by Space. Your character should now be outlined. The process is shown in Figure 6.


Figure 6: Instruction for outlining

You can now switch back to 'Singles' if you want to. If you want the outlining gone, just repeat the process. The outlining will not remain through any saving --- neither file save nor text save, but it will be included in exported pictures, so have fun with that! Figure 7 shows a sample character with and without outlining.


Figure 7: Before and after

Theoretically, an item can get "in the way" of your tabbing, possibly if it's far offscreen. I haven't seen this happen on any of my test characters.

Masking to two items

There is one theoretical drawing technique that I consider something of a 'holy grail' for HeroMachine, and that is masking something to two different items at the same time. That is, drawing item A only at the intersection of items B and C.

If you today, right off the bat, mask a bracer to a female arm and then mask a gradient to the bracer, the result will look like in figure 8 --- bad. The desired behavior is that the gradient is masked both to the arm and to the bracer.


Figure 8: Masking on a masked bracer

This holy grail is yet to be found, but it's not as distant now as it once was. The trick is, again, text file editing.

See, the bracer in the above example can be patterned with any pattern, and it will behave as desired. So we need to make it use a regular item as a pattern. Let's say we want the street corner from Background-Sky as pattern.

Start by opening that category, Background-Sky. If the item is not loaded, the program can't find it. Now press the save button, text tab, and scroll down to the line '', shown in figure 9.


Figure 9: Line to edit

Now type in 'BackgroundSky9' between the tags, it should look like in figure 10, and press OK.


Figure 10: Code after editing

If everything goes well, the bracer should now be patterned with the street corner background, it will look like in figure 11.


Figure 11: Background patterned to bracer masked to arm

The patterning is fairly stable and will act like a normal pattern. That is, it goes away if you pick another pattern, clear pattern, delete the item or mask something to the item. The patterning lasts through saved, but you need to load the sets manually before loading the save file.

As stated above, this is far from the goal of being able to mask an item to two different items, for two reasons.

- You can't move or resize the pattern item, it moves and sizes along with the patterned item.

- You can't change color or alpha of the pattern item. It's stuck on 40% gray for color1 (approx), 60% gray for color2 (approx), and Black for color3. All alphas are stuck on 100%.

Because of the above, this is not the most useful exploit. But, it does provide new possibilities, so I wanted to include it. For example, enjoy the sample picture in figure 12, of a quarter circle wall. It's a circle patterned with BackgroundStandard10 and then masked to a rectangle.


Figure 12: Quarter circle wall

Fun facts:

  • If you use a Font as pattern, you can still type in new text. It's not very readable though.
  • Fonts as patterns seem to use Black for colors 1-3.
  • This whole thing works a little better for patterns where you don't care much about colors 1-3. Like certain items in Companion-Humanoids which already have lots of colors.
  • Depending on how the code looks, it might even be possible to draw the buttons and widgets HeroMachine uses. I haven't been able to guess their names yet, so I can't confirm. If anyone wants to try, Jeff seems to favor camel case with no clear preference for the first letter!