HM3 Journal: The code of many colors

I've spent the last two days trying to get the various tabs working in HeroMachine 3, and it's been more aggravating than I thought it would be. The structure is a little bit different, and chasing down all the changes in hundreds of lines of code can be quite taxing. But I think I have the basics working in terms of loading up sets of items. As a bonus, I can even color things! I only have one set of Zombie heads and one set of Zombie body parts active at the moment (I don't want to do too much until I know exactly how it needs to be set up to work) but here's a taste of things so far:

As you can see, a lot of functionality has been condensed into the larger tab structure. The ability to choose your current slot type and the set of items for that slot will remain present at all times, so no matter what you're doing you can change your targeted item. In the minis, the Rotate and Scale functions were always present to the left of the ad, but for HM3 they're being moved to the new "Transform" tab. I'll probably also have a set of "Move" controls there too, so if (as someone mentioned earlier) you have trouble dragging the actual item where you want it to go, you can use arrows to move them remotely, as it were.

I tell you, what's really struck me this week as I've been bearing down and really grinding out the code is just how fricking complicated this thing is. After you code something and it's all working, you kind of forget about it completely. It just is. But then when you have to go back and tweak and expand it, you realize how the gradual accumulation of complexity can turn bits that were very simple looked at one-at-a-time insanely difficult in aggregate.

Anyway, work is proceeding. I had optimistically thought at one point earlier this week that by Monday I'd be drawing items full time but that's starting to look like a fever-dream.

13 Responses to HM3 Journal: The code of many colors

  1. Nice. I like the transform tab. In the Modern Warrior mini, I had made a pair of wings too small for a character. When I tried to redo him with some big ass wings, the wings covered up the rotation and the scaling tools I wasn’t able to finish the redo.

  2. I hear you. The bigger the program, the more complicated the code.

    Keep going, Jeff! You’ll get it! 🙂

  3. Do you add morphing tool in the transform stuff ?
    I mean by morphing a tool able to stretch or smash a selected zone of an item.

  4. Fabeien, no, Flash doesn’t allow that sort of thing at run-time.

  5. Jeff, will you be able to bring back entering your own alpha and custom colors? (not by hex value)

  6. I don’t quite understand, Eric. The custom color and alpha functions will be essentially the same as they are in the Zombie maker, with the big color gradient you mouse over as well as a hex-value manual entry box. The alpha slider will be there as well. Do you mean you want a text box for typing in your own alpha value too? And/or the RGBA text boxes from HM2.x, where instead of hex you’re typing in Red Green Blue and Alpha numbers?

  7. is it possible to add a bump feature ? It be great to add “relief” to an item.
    If it’s not possible you could add a custom shading functionality like in “fabrica de herois”.

  8. Fabien, if you mean patterns, those are already there in the Minis.

    For custom shading, I don’t know … probably not. I think that has to be built in from the ground up.

  9. “Do you mean you want a text box for typing in your own alpha value too? And/or the RGBA text boxes from HM2.x, where instead of hex you’re typing in Red Green Blue and Alpha numbers?”

  10. Hmm, the code I am using for the color gradient is different than in HM2.x, but I can probably get that working.

  11. What about a button that puts any item to the very top or the very bottom like HM2

  12. I know that code become slowy more complicated.

    But I have found many great advice in this book : Code Craft

    The book is easy to read. Even if you do not like to read get the time to at least look in the book.
    You will probably find some advices that will help you get your code free of accumulated complexity.

  13. You’re awesome, JH! Rock on!