Wednesday, December 10, 2008

On coding and incrementation

It's kind of interesting looking back on my older maps to see how my coding technique has changed over the past two years of working on various iterations of this map. I never really anticipated that I would ever rewrite the AI item system, or have several fellow players help me design individual hero builds, or overhaul the map framework. The only thing that got me started in opening up DotA in the first place was the notion that I might be able to create my own content to put in the game to share with friends.

And now look where it is. Who would have guessed?

Looking back at some of my old heroes, I realise how clunky and unwieldy some of those triggers are. As such, I'm thinking of having incremental builds that I'll release periodically that will have some extra -fun content that I've updated to not be so deprecated. Target of first incremental release will be this weekend, with Formless post-several-fixes, as well as my Marine hero and one or two "tribute" heroes, which is my endearing term for heroes that I created based on my friends' personalities/playstyles/suggestions (Overflow designed one that's pretty solid and coded more-or-less properly, so if it's okay with him I'll probably put it in).

I still need to fix Bat Rider. Speaking of coding...I had to rewrite his other triggered abililties because they just didn't work, even in 6.00 alpha. Didn't rewrite Fly, since it looked good at cursory glance, but as many people have been anxious to point out, it is anything but good. Guess it's back to the drawing board to think of a proper way to do what he's supposed to. The quick fix I can think of is to remove the "take-off" animation, which should address several of these metamorphosis issues. Note to all: Metamorphosis is a terrible base skill for triggered abilities. One of my custom heroes has a metamorphosis-like ability but uses unit replacement instead of metamorphing. It works quite a bit better...but breaks your control groups (anyone remember old attribute-changing Morphling?).

I should probably also fix the super-creeps-not-moving bug at some point. I'd almost completely forgotten about that mode. I'm pretty sure I haven't used -sc more than 5 times ever.

There is something weird about coding all day at work and then doing it at home. Hell, I'm not even a computer major. I graduated with a music degree.

Ah well, more to come later. Probably descriptions of the heroes I've put in, as well as updates and such.


Overflow said...

No problem sharing Malragor, although he's not as good as your own heroes IMO. =P

But how come Lycan's Shapeshift works fine if Metamorphosis is a bad base skill for triggered stuff? Just curious. O.o

BuffMePlz said...

It works fine, as does Overflow (Malragor's ult, which is also triggered on Metamorphosis) because they have a small delay to ensure that behaviour happens when you want it to...Fly probably could work, but it just needs some extra timing fixes.

Metamorphosis DOES work for triggered skills, it's just not a GOOD base skill for triggered abilities, mostly due to the weird way WC3 seems to handle unit entry through metamorphosis. It is, however, probably the best way to handle metamorphosis skills, as it requires no triggered unit switching and, well, it's Metamorphosis. =P

HTM a.k.a. whiztech said...

Keep up the good work man! We are sad to think the fact that RGB leaves the Dota community. I can consider you as the successor of RGB. Hehehe. I just wished I can learn how to code the AI map and the JASS scripting.

Jerzy said...

Music School??? What instrument?

A Fellow Coder said...

+1 to the what instrument...

Also, I can't find your email and I wanna help!

The things you are doing have REALLY pushed the community forwards even though they probably forget to thank you.

I'm also curious if you have any interest in the World Editor GUI and other maps. I have a rather large project of my own