How to Make Dota-Allstars AI Map - DotA-Blog

How to Make Dota-Allstars AI Map

Dota-Allstars AI making. There was some request on how to make Dota-Allstars AI map. I've found some nice info about it from this person. Here it is:

Steps involve in DOTA AI making

I just want to share some of the information I manage to gather regarding AI making for DOTA.

First, the requirements to start making an AI for DOTA:

1. A knowledge of JASS programming.
2. A map deprotector OR Dota AI script Injector (DAII)

Optional:
Jasscraft (JASS editor)

Right now, there are two common ways to make AI for DOTA:


1. Using DAII or "Dota AI Injector" (the easier way)

DAII is a tool to inject JASS AI script into the DOTA map. It comes with a basic AI template. It is up to the user to modify.

Useful ingame functions for debugging DAII
While in game, type -debug. If you want the AI to control your character, type -afk.
There is also a cheat function built in DAII, -rich which give 100000 golds to all players.

I found further Info by Aeyah regarding DAII :- http://www.gg-game.com/forum/viewthread.php?tid=28504

The pro and con of using DAII:

PRO:
This program is easy to use. Good for everyone who want to start learning DOTA AI.
Just run the program and inject the AI script to the DOTA map.
To modify the script, just open the Function.txt (inside the DAII folder) with some sort of Editor.

CON:
-In some instances, too much modification to the script (Functions.txt) will corrupt the the DOTA map when injected. I think that it sometimes overwrite the original DOTA script inside the Map. Remember, we are talking about injecting a script to the protected map.
-Also, DAII is too dependent on the whim of the DOTA programmer (In this case ICEFROG). If he somehow decide to change the variables in the next version DOTA, the DAII will stop functioning. (unless a new AI script template is made for it)

Note: Looks like Dota-Allstars 6.52 is the one he meant. IceFrog recoded the items code and hence the DAII stop functioning. A new AI script template must be made to make it work again.

2. The hard way.

The steps involves deprotecting/decompiling the DOTA or DOTA AI map, then extract and edit the "war3map.j" and recompiling it.

A good way to start (assuming you have deprotect the Map) is to compare the two script of the same version. The original DOTA script vs the script containing AI.
For example, if you compare the original script 6.43b to 6.43b_AIplus script, the differences should be the AI code. From there, you could begin to analyze and modify these code as needed.

FYI, the Original 6.43b dota has around 24 thousand lines of code, while the 6.43b_AIplus version has around 37 thousand lines of code. Therefore, there are around 13 thousand lines of AI code added by RGB/Lazyfiend. (Good job Lazyfiend!)

So, unless you have a lot of time and good knowledge of JASS scripting, it will be hard.

The tools are available on the net, so please DON'T ask me. This is another reason why non-sanction map are not allowed here, since it is easy to deprotect a map and insert some cheat/hack into it.

Cheers.

Note: This is the hard way and yet the best way. As you can see, the AI made by RGB/Lazyfiend involves about 13 thousand lines of codes. So, give respect for those AI makers :)

Source: Dota-Allstars AI Forums

Related Posts


Read More……

10 comments:

  1. wow u really make it...
    thx alief&lazy...
    keep gd work for the hard way...
    support ur blog & ai+...
    ^_^

    ReplyDelete
  2. Wow, it's great Alief !!! But I can't make Ai Map, it's to hard for me :D

    ReplyDelete
  3. well.... it is not easy to produce the best. those people who makes those ai maps.. i think their entire life was devoted spend producing what we called "impressive ai".

    ReplyDelete
  4. Yeah, it's hard to make one. So let's give the AI makers our biggest regards :)

    ReplyDelete
  5. Yes.someone help me?where i can download dota ai map injector..i want to make my own map in dota...pls help me regarding this matter.
    thanks and Godspeed!

    ReplyDelete
  6. http://adf.ly/O8Dzq try this...

    ReplyDelete