Getting Started With Dota 2 Modding

edited March 2016 in Tutorials

Getting Started With Dota 2 Modding

So you're completely new to Dota 2 modding? Don't know where in the hell to begin? This is the guide for you, the future Dota 2 modder!

Note: “Addon”, "mod", and “custom game” are all synonymous throughout this guide (and likely the entire website).

The Facets of Dota 2 Modding

The Workshop Tools Wiki Homepage does a good job with subdividing all the possible aspects of Dota 2 modding:

  • Level design (Uses the tool called "Hammer")
  • Scripting (Divided into KeyValue editing and Lua scripting)
  • Modeling (Importing your own custom models into your addon)
  • Sounds (Importing your own custom sounds, or editing existing ones)
  • Particles (Editing existing particles or creating your own using the Particle Editor Tool (PET))
  • Custom UI (Creating Panorama scripts to extend or modify the existing Dota 2 UI)

Step #0: Installing the Dota 2 Workshop Tools

You can't mod Dota without the Workshop Tools!

taken from How to install the Dota 2 Workshop Tools:

  • Right-click on Dota 2 in Steam and select View Downloadable Content.
  • Check the box in the Install column next to Dota 2 Workshop Tools DLC.
  • Click Close. The required content will begin downloading.

Step #1: Creating a New Addon From The 'Barebones' Template

To start off on a good foot, you’re going to want to create a new addon based off of the Barebones template, which is a community made alternative to Valve’s default addon templates (i.e. Holdout). This is the link to the updated BMD Barebones: https://github.com/bmddota/barebones
After downloading it as a zip, you want to browse to your .../Steam/SteamApps/dota 2 beta/ and merge the game and content folders from the .zip into the that /dota 2 beta/ folder (which should already have folders in it called game and content)

~Alternatively, you can use Dota 2 ModKit and go to File > New Addon > BMD's Barebones.~

Next, start up the Workshop Tools (or restart them if you have them opened already), and double click your new addon. Set it as the default addon. Then, go into Hammer -> File -> Open -> barebones.vmap -> Press F9 to begin building the map. After Hammer finishes building your map, your custom game will automatically load in Dota.

Gfy Demo of Step #1. NOTE: Workshop tools now are launched through the same link in steam as the main dota client, and not the "Tools" list in steam. Otherwise this image is roughly still accurate.

Step #2: Creating your map in Hammer

(Credits to DarkMio for the gfy.)

Hammer is the tool you use to create worlds for your custom game. I highly recommend you start off creating something in Hammer first instead of diving straight into the scripting or another facet. You can have the most sophisticated scripting in the workshop, but how are people going to enjoy your game if there isn't a world they can play in?

Once you get to the point of having a rough layout blocked out for your map, it's probably safe to move on to scripting. You don't want to spend too much time piddling with detailing on something you realize needs changing once you get into the nitty gritty of your mode.

The wiki page on Hammer does a good job with giving you a run-down of Hammer. I'd recommend you start with the Tile editor section.

BMD has made some rather nice beginner Hammer tutorial videos:

Step #3: Scripting and beyond...

Scripting is the next most important part of your addon. It is divided into Lua scripting, and KeyValue scripting. I'm going to go ahead and redirect you to Noya's Beginner Scripting Guide, since it has essentially the same information that would go in this section.

Now I'm going keep this short and sweet. I've already presented a ton of information for you to begin delving yourself into Dota 2 modding! Becoming good at Hammer mapping and good at Lua and KeyValue scripting will go a very long way in making successful, fun Dota 2 custom games. Please don't hesitate to ask questions in the #dota2modhelpdesk IRC channel or in the Questions subforum.

Treat everyday as if you are a student, not a master. The student learns, grows and sees beauty. The master becomes bitter, resentful, and stagnates.

Comments

  • Posts: 1

    Hi, just found this on the google. Thanks a lot for creating this tutorial! Spent hours on workshop tools but got nothing to do. Hopefully i can recreate Glaive Master reborn.

  • Posts: 183

    Someone needs to write this proper. Any takers? :happy:

    Treat everyday as if you are a student, not a master. The student learns, grows and sees beauty. The master becomes bitter, resentful, and stagnates.

  • edited October 2015 Posts: 1,667

    Creating Adobe flash files

    somewhat out of date

    :kappa:

    I'll put this first in my list of tutorial writing hitlist, we really need to make this link valid again. Aggregation of sources and links, current state and limitations of the engine, etc. I'll clear the messages on this thread when we are done

    The concept of Modding Community doesn't go well together with Competitive Business
    My Project Page || My GitHub Profile ||

  • Posts: 1

    I installed Barebones, but I am stuck here: "Next, start up the Workshop Tools (or restart them if you have them opened already), and double click your new addon."

    I don't see any new addons when I launch Workshop Tools. If Barebones should be in the list, it isn't.

  • Posts: 74

    9/25/15: Please note that this guide is somewhat out of date and lacking in content. I invite any decent Dota 2 modder to take the reigns and rewrite this guide proper.

    Working on The Black Road 3 - Persistent RPG

  • eqweq

  • Posts: 27

    Nothing understandable

  • Posts: 815

    @DavidV

    9/25/15: Please note that this guide is somewhat out of date and lacking in content. I invite any decent Dota 2 modder to take the reigns and rewrite this guide proper.

    MAKE CUSTOM GAMES GREAT AGAIN

    Finished-
    kv checker - https://arhowk.github.io
    panorama video series - https://moddota.com/forums/discussion/2021/inclusive-panorama-tutorial-quest-box

    My pet project This Cursed World/Crestfallen (name pending)
    https://moddota.com/forums/discussion/986/this-cursed-world-rpg#latest