Showing posts with label Update. Show all posts
Showing posts with label Update. Show all posts

Tuesday, May 18, 2010

So Long, and Thanks for All the Fish

After much thought and consideration, I have decided to no longer continue my work on DotA AI maps. Between my increased work responsibilities, advancing on to the next stage of life, my waning interest in DotA, and the frustration from both dealing with the community's demands and the community having to deal with my absences, I believe it is best for me to let this project go and move on.

It was a fun two years, with updates on almost every version since 6.49 (we're up to 6.66b now, crazy!), but as lazyfiend/RGB said when he left, I find that working on this map is no longer enjoyable to me, and is in fact quite a burden.

I've contacted GoD-Tony (killerbee) about taking over, and if he decides to, I'll try to help him get up to speed as much as possible. If not, I hope whomever takes my place will have as much fun as I did these past two years learning the ins and outs of JASS and the WC3 engine.

My passion has always been with the Fun Taverns, and though I will not continue AI development I may occasionally release some maps on my blog with old heroes and/or original creations, so feel free to visit and leave comments for me here.

Thanks for the fun times guys!

Thursday, April 8, 2010

No map until June at the earliest

Absolutely swamped, likely won't have time until June to even look at the maps and script. I've been getting the changes from IceFrog and will update to whatever version is recent when I have time, but don't expect anything for at least two months.

Monday, March 22, 2010

Update...sorta

Been pretty busy with work and stuff recently, haven't really done much on script development. Played a bit with some fun heroes though, we'll see if any of them make it in for the next version. =P

Don't see work letting up anytime soon for the next month and a half. Even if a new DotA version comes out before then I wouldn't expect a new AI version for a while. =/

Monday, February 1, 2010

Crashes

Looking over the code, looks like Slark's Pounce, Ursa's Overpower and Visage's Summon Familiars will need to be rewritten, as they will cause conflicts with the AI script and result in WC3 crashing.

If you find a crash unrelated to any of these three heroes, let me know. I'm working on a fix for the aforementioned abilities.

-dm is still known to be unstable on the AI map. Until I figure out why it will continue to be so.

Friday, January 29, 2010

Okay, I lied, I'm changing the next version to 0.214

No major AI script changes, but I did have to change some stuff to make some of the rewritten abilities work, so I will update the version number.

Just finished the 6.66b changes, will do a test run tomorrow and if I don't find any bugs, will release on Saturday or Sunday. Changelog looks like this:

6.66b (v0.214)
==============
-First update to 6.66b
-Rewrote Jinada, Wind Walk, Chilling Touch, and Essence Shift to prevent AI-specific crashes
-Minor AI changes to use some rewritten abilities (Scorched Earth, Overpower, etc.)
-Added some extra checks to prevent AI from automatically picking heroes with incomplete AI scripts (they can still random them in -ar or -tr)
-Disabled new -unlock command, as -switch is still disabled in AI map

Stay tuned, it's coming soon. =)

Thursday, January 14, 2010

Next version will STILL still be 0.213

Got the script changes for 6.66 from IceFrog, working double-time on the map to get this done ASAP. Don't expect the bots to use a lot of the new abilities just yet, I'll do more work on this after I release, just want to get a version out where people can start playing with the new heroes/abilities/items.

Still aiming to release by the end of the month. Sit tight!

Wednesday, January 6, 2010

Next version will still be 0.213

I had some experimental AI scripts for Admiral and Clockwerk in the pipeline, but I haven't been able to focus too much on this recently and in the interest of releasing 6.65 AI as soon as possible, I'll probably hold off on this stuff for now.

IceFrog has sent me the script changes and I've been slowly integrating them. I'm aiming to release by the end of this month.

Thanks for your patience.

Tuesday, December 15, 2009

Back to normal, only slower

Thanks all for the words of encouragement. The bulk of the crisis is over for now, but I most likely will not be working full speed on this for a while.

I'll do my best to update to 6.65 quickly when it comes out, but expect progress in general to be slower than before (at least for a while).

Thanks again for your patience and support.

Saturday, November 21, 2009

Temporarily halting development

Urgent family issues. Please understand.

Thursday, October 29, 2009

Obfuscation and the like

Obfuscation: what is it? Simply put, it's a method used to make code difficult to read and work with. The basic idea is simple; the script parser doesn't care if a variable has a meaningful name (integer iHeroID) or a nonsensical one (integer ZYF), since semantically the code will execute the same regardless of nomenclature. It does, however, make it significantly more difficult for someone else to make changes to it (especially without accidentally breaking something!)

This is, unfortunately, the reason why AI development has been slow. I've been spending quite a bit of time slowly deobfuscating the script, but there are still many things that I still cannot quite account for. My current project is working out some of the "magic numbers" that appear in the script; numbers which just appear in the script but have no apparent rhyme or reason.

Fortunately, I only have to work out the obfuscated portions in the AI script; IceFrog has been provided me with script changes from version to version (i.e. what was added/changed/deleted in 6.64 from 6.63b) in unobfuscated form, so I can keep the map updated with those features rather easily and effectively. Unfortunately, I don't have access to a full deobfuscated map script (which would make starting a brand-new AI much easier) or a deobfuscated AI script (which would make things easier for the obvious reasons). Ah well. C'est la vie, as a good friend of mine would often say. =P

I'm thinking of posting some of these random numbers for you guys to possibly decipher. I know a lot of them refer to unit geographical locations (x,y coordinates of buildings and such) that have been changed since 6.48b and no longer cause things to work, but trying to figure out what used to be what is a bit tedious. =/

In short, obfuscation = the bane of my existence. At least, in terms of map development. =P

Wednesday, October 14, 2009

List of abilities that AI don't use correctly/at all

With a host of new abilities and rewrites, many abilities that previously worked with the script either aren't used properly or aren't used at all. Some abilities (like Epicenter after Burrowstrike) worked in previous versions due to hacks that I put in that I've since removed during refactoring.

If you see something that's not working and isn't on this list, let me know, I'll try to keep this updated and address these when I have time (I probably missed several). Please keep in mind that I have a real life and a real job and both take priority over this, so progress might not be as fast as you'd like, but I'll have to ask for your patience.

Thanks.

Sven
-Warcry (new ability)

Doombringer
-Devour (rewritten a while ago)

N'aix
-Infest (I don't even know how to properly use this, haha)

Storm
-Electric Vortex (I think there's a problem with this ability when used by AI)
-Ball Lightning

Dirge
-Decay (spams this and sometimes gets lucky)
-Soul Rip (not working anymore? I haven't changed this and the ability should be the same but I never see him using it)
-Tombstone

Windrunner
-Powershot
-Windrunner (ironically)
-Focus Fire

Batrider
-Sticky Napalm (spams this and sometimes gets lucky)
-Flamebreak
-Flaming Lasso (uses this randomly)

Clockwerk
-Battery Assault
-Power Cog
-Hookshot

Admiral
-X Marks the Spot
-Ghost Ship

Razor
-All active abilities

Tauren Chieftain
-All active abilities

Invoker
-All abilities, invoked or otherwise

6.64 AI on the way

Got the script changes from IceFrog today, starting work on this soon.

Just thought you all should know, since I haven't updated in a while. =P

Saturday, September 26, 2009

Formless 2.0

After spending some time today refactoring the AI script, I decided to take a break and rethink the Formless hero that I implemented a while back. Long story short, several hours later I've finished a (mostly) working and improved version of Formless.

I ended up reorganising the code by a significant amount, and the resulting code is more efficient and easier to use. The biggest change is the ability to now choose which individual skill to reset, if so desired. You can right-click on the reset button to change the reset button to only reset a single skill (cycling through the four base abilities, then back to the option to reset all).

On top of that, the error messages are much more informative now; if you try to copy an ability that currently isn't supported, the message will notify you of which ability you tried to copy. If you try to copy an ability with an order already used (while -override is off) it will let you know which ability is conflicting.

And I decided to throw all semblence of balance out the window for this because, let's face it, the ability to combine skills of multiple heroes on the fly will never be balanced, ever. So, in order to maximise fun and flexibility, I removed the cooldown on all Reset functions (individual or all).

Haven't quite finished getting it up to compatibility levels of previous versions (so some abilities aren't working yet like Impetus and Last Word) but I expect I'll finish most of these by the time I release the next version. =)

Sunday, August 23, 2009

Slight delay

Sorry folks, but there were many more game-breaking problems with my map than I had anticipated, and I haven't had a chance to fix them yet. I was hoping to address them before I went on vacation (a real vacation, as in I'm taking paid time off of work to relax), which I was unable to. I'm away from home now with limited internet access, and won't be back for another week or so, so I'll have to ask you all to be patient for a little while longer.

On the upside, I've finished most of the work needed to make the map 1.24 compliant (which took bloody forever), so that should hopefully address many people's concerns about the new patch. Also, I've been in contact with IceFrog and he has agreed to provide me with some official support, which should make future releases much quicker and easier to do in the future. Woohoo!

In the meantime, I'll have to ask you to wait a little longer. I'll see if I can get any work done on this while I'm on vacation...but I doubt it. =P

Saturday, August 15, 2009

Hrm

So it looks like the 1.24 situation is much more sticky than I realised. Given that, I think after I finish this testing phase I'll go ahead and post what I've got for everyone to take a swing at.

THIS MEANS IT WILL ONLY WORK ON 1.23 OR EARLIER. PLEASE DON'T E-MAIL ME SAYING THE MAP DOESN'T WORK ON 1.24. I KNOW IT DOESN'T.

This version is more or less a total compatibility overhaul of the script - I haven't had a chance to do many of the rewrites I wanted to, but at the very least most things should be working properly and should be somewhat adequate to allow people to play/practice new heroes/items/builds/whatever.

Because of this, some abilities will not be used properly (or at all) by the AI, but this will be addressed in future versions. The bots will, however, learn all of their abilities (or should). I haven't finished rewriting the levelling system but what's in place should be okay for now.

I've also disabled several game modes and commands until they can be made AI-compatible. Any game mode that requires voting or choosing outside of normal picking methods has been temporarily disabled until I have time to teach the script to play with these modes (-vr, -rv, -rd, -cd, -cm). I've also disabled league modes (-lm, -xl) because, really, who plays league matches with the AI map? The new -so mode has also been disabled.

The -afk and -kickafk commands are disabled, since you should never need them in an AI map, as well as -ah (maphacking against AI bots, really?). -switch is out also because there's no need with -so disabled.

I haven't had time to update the -fun content either, so for now it's been disabled. I will bring this back concurrently while updating the script.

I've modified -pa and -pe to work with the new Tavern system and location, so at least you'll still be able to pick heroes for your allies and for the AI. The item builds have been updated for compatibility ONLY, which means they'll still get the same old items as before. If people are still interested in contributing we might try reviving some threads in the OpenAI forums that address this.

There are also some -dm bugs that I can't quite figure out. I've disabled Dazzle in -dm (much like Meepo is disabled in -dm) because, inexplicably, the game crashes when Dazzle is picked during a deathmatch game. I think some other hero is causing the game to crash, but I can't figure out which (my guess is Huskar). It seems dependent on when heroes are picked and such, so after I post you guys can try to figure it out. =P

I've also renamed the map from "Dota Allstars 6.61b AI+ 1.52" to "DotA Allstars 6.61b AI v0.21". Why "v0.21"? Because it seemed like a good number at the time. =P After all the rewrites and compatibility changes, this is starting to look less and less like the AI we all know and love and more like something else, so I'll go ahead and declare this the beginning of a new stage of AI development. Yay.

Credits still go to cloud_str and RGB. Without their work and dedication this map would not be possible.

Expect an update and a download within the week.

Thursday, August 13, 2009

Yes, I know it doesn't work

Please stop sending me e-mails saying that none of the AI maps work on 1.24. I know they don't.

I have a rough version of 6.61b AI (I'm taking the plus off, since it isn't very "plus" right now, and changing the version number to something like 0.21), but given the number of e-mails I've been receiving and the fact that it doesn't work with the new patch, I'm not going to release anything until 6.62 is out and I've had a chance to update the functions to be compliant with the 1.24 WC3 patch.

I've been a bit busy with things...just got back from a beautiful wedding. If you two see this (since you've both told me you occasionally pop on here), congratulations again! I love you both and hope you have a great time in Hawaii!

That is all. =)

Wednesday, July 22, 2009

Time for an update

Since it's been a while, heh. I've had quite a few free cycles recently to work on the script, and have been doing so. Unfortunately, there's just so much to do. =/ I haven't had a chance to finish rewriting certain parts, but script integration has been going fantastically. Though I haven't finished with a large part of the script (including the part where the heroes use their abilities, haha), I do have a basic 6.60b version of the map where the AI will behave as they did in previous versions, though without using many of their new abilities.

Come to think of it, that's not all that dissimilar from those old AI injection maps. Then again, what I'm doing isn't all that dissimilar from AI injection. Heh.

Anyway, still quite a ways to go before this is anywhere near finished, but if people really just want to play with 6.60b features against supremely stupid bots (except for the heroes that haven't changed since 6.59), I can probably put up an unfinished map sometime soon. I'd like to at least finish rewriting the levelling system and possibly rethinking the item purchasing system I currently have in place, but we'll see.

I have seen the OMG map floating around and know that some people have been asking for its addition. In reality, it's probably not all that difficult...I took a look, and mechanic used to assign abilties is an adaptation of the mechanism I created for Formless, so it should be pretty easy to modify my functions to make it work for a hypothetical OMG mode. Realistically though this is pretty low on my list of things to do at the moment.

Anyway, that's that. Haven't updated the counter in a while, I have some 60+ new messages in my inbox that are variants of the same question that I'll eventually have to sort through.

Wednesday, June 10, 2009

My first post...

Over at www.playdota.com. I'm only reposting it because I guess it answers some misconceptions about what I do and also because I want feedback on the next course of action, and because I'm too lazy to reword and retype it here. =P

does 6.60 have ai edition?
-------------------------------------------------------------------------------
Quote:
Originally Posted by chip'ndale
"i mean, afaik he asked for ice's permission before starting this project, is not like he felt doing this free lance."

0/2 friend, sorry. Didn't ask for permission to do this and I did feel like doing this freelance when I first started, and continue to do so. I receive no official support except that IceFrog has generously allowed me to post my work and put the map on getdota.com. I was surprised when it first appeared; that was done without my knowledge and I wasn't told until forum members told me you could download my map on getdota.com =P

Aside from that, the maps I generate are technically "unofficial". I have no access to deobfuscated source, so one could view the AI as basically a giant hack. I'm not part of his staff, have no regular communications with the team, and generally do my own thing. Hell, I'm a "Junior Member" on this now-official forum. What does THAT tell you, hm? =P

So...yeah, if you want updates, you'll have to check my blog. =P Unless something changes drastically (which it doesn't look to, since it seems like AI is generally a low priority on the grand scheme of things), I'm not obligated to update on any other medium, and it's going to stay that way.

And to me, this works out better. IceFrog has enough issues to worry about without trying to attach an "official" AI to the overall map, which would only really be used for training purposes, and I don't have enough time to try to update and maintain this deprecated code to a quality that's suitable for release. While I would love to have access to deobfuscated source to make my life easier, I don't technically need it (yet).

That said, hopefully you'll understand why the AI releases are generally sporadic and don't coincide too terribly much with the official releases. Perhaps in the future when I have the infrastructure in place we can consider doing coordinated releases (though it'd be a lot of work on my part and ultimately up to IceFrog to decide whether or not he trusts me enough to play with prerelease source), but if that is to be the case it wouldn't come into fruition for a long, long time.

Anyway, about AI for 6.60, since I know that's what everyone wants to know about...

My original plan was to finish isolating the original script, update and rewrite it, and then release on whatever version would been out by then (I'm about 110% sure that it will be newer than 6.60 at that point). However, if it seems like demand is high enough and people are willing to play against AI bots that don't make use of the new features or abilities (Razor's AI, for example, will be more or less completely broken), then I can continue to back-port features, at least for the purpose of trying new items and builds on something.

Problem is, this back-porting will take a long, long time (given the amount of changes, I'd say at least two months), time that I can spend furthering development on the script itself, so it's a significant fork in the road.

Pretty much the choices are:
1. Back-port features, get some bots that don't work all that well, can have training with new features in ~two months
2. Update AI, get bots that (hopefully) work with all new features, can have training with new features in ~long time
3. Wait for somebody else to write an AI map (I think Harreke was working on one), can have training in ~who knows

Any preferences? =P

Yay block of text. I wonder who will actually bother to read it all.

Well, now that I've written this all out, might as copy-paste it to the blog, haha. =P

Monday, June 8, 2009

Yeah, I'm still here

Been a while since any sort of update or progress, I guess. Life's been busy, and that usually takes first priority in...well...life. =P

But I'm still here, and working on the map when I can. As for 6.60, sounds like things are going to be overhauled like crazy. I think I'd prefer to try to finish isolating the script and then integrate it with the 6.60 map, instead of the normal porting. This will probably take a lot longer, but it should be quite a bit more stable. There's a lot of legacy code that's being carried from version to version that would need to be cropped out, but it would probably be more effective to get the script into the new version.

We'll see. Doing it this way will make a cleaner version, but will take a lot longer.

Tuesday, April 7, 2009

So here's the plan

Working on deobfuscating the script is taking up most of the time I put into working on the AI these days. This is because the sooner I get this done, the sooner I can start a "clean" port, which translates roughly into inserting a script into a new map (instead of what I've been doing, which is porting new features onto the old map).

Since I'm deobfuscating the script from 6.48b, much of it will have to be rewritten (also easier once I understand what's going on) and updated to account for new features/items/heroes/etc. I've already rewritten a bunch of it for the existing port, but much of that is basically a cluttered hack instead of a clean rewrite.

When I get done deobfuscating and rewriting the scripts, I think it will reach a point where it is no longer appropriate to keep calling it "AI+ 1.52", so we'll have to think of a new name and version number. =P

In the meantime, I guess I'll keep updating the ported map, which is steadily becoming increasingly outdated. I plan on putting Old Storm Spirit and Old Undying into the Fun Taverns for a Rev. 2, and then don't plan on doing anything on that particular map until 6.60 comes out. In between releases, I'll continue to work on deobfuscating and rewriting the parts of the script that need it.

That's the plan.