Skip to content

GlennS/card-draft

Repository files navigation

Card Draft

Card Draft is a custom game mode for Dota 2. In particular, it is an Ability Draft variant.

Goals

In standard Ability Draft, there are a few problems:

  • You need to read through 48 skills to start with, work out good combos etc.
  • Only one player picks at a time, resulting in a long start time.
  • Players may gain a large advantage based on their position in the draft.
  • Chance of randoming a hero which is useless without good skills.

Card Draft addresses these by giving each player their own, smaller, pool of abilities to draft from. Players pick simultaneously, speeding up setup time.

Unpicked abilities are passed to the next player. Each player will pick at most one ability from each hand.

The draft includes heroes, providing a strategic choice between picking a strong hero or a strong ability.

This game mode is inspired by the board game Seven Wonders.

Drafting

Players choose between cards. A card represents an ability (normal or ultimate) or a hero.

Players are initially dealt a hand of 7 cards each. Players can see their own cards, as well as all the abilities and heroes which they and other players have already picked.

All players play simultaneously, each choosing a card and then passing the remainder to the next player. Once all players have chosen their first card, they will then receive a hand of 6 cards the the player before them in the player order.

This continues until all players have picked 4 skills and a hero.

Player Order

Player order is defined from left to right and then by team. The leftmost Radiant player is defined as the 1st player, the leftmost Dire player as the 2nd, the second-from-right Radiant player as the 3rd, and so on.

Player order loops round, so the 10th player will pass their leftover cards to the 1st.

Card Distribution

The 7 initial cards dealt to each player are as follows:

  • 4 normal skills
  • 2 ultimates
  • 2 heros

Card Eligibility

Sometimes players will receive cards which they cannot choose from. For example, they were passed a hero card, but they already have a hero. In those cases, the card will be greyed out and unclickable.

If players have only one possible play from their hand, they will be forced to make that play automatically.

If players have no possible plays, they will automatically pass all of their cards to the next player.

This may result in turns occurring where every player has to pass all their cards to the next player without making a choice for themselves. However, it will eventually result in players evenually choosing their abilities and hero.

Timer

Each time a player is passed a hand, they have 10 seconds to make their choice.

If they exceed their time limit, their choice will be made randomly from their eligible cards.

Progress

See TODO.org for progress and future plans.

Installation

This custom game will be published in the Dota 2 workshop. Search for Card Draft from within the custom games tab to get started.

Installation for Development

Install the Dota 2 workshop tools (these only work on Windows).

Run the install.sh file to copy your files into the right place. You will have to re-run this script every time you make changes.

Launch the workshop tools, open the console, and run dota_launch_custom_game card-draft dota.

Testing on Development Machines

To test we may wish to add some bots. Modify addon_game_mode.lua to include the following: require("lib/timers")

And this inside the CardDraftGameMode:StateChange function:

if GameRules:State_Get() == DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP then
   -- TODO: for testing only, remove this.
   Timers:CreateTimer(
      2,
      function()
         SendToServerConsole("dota_create_fake_clients")
      end
   )
end

Credits

Developed by Glenn Searby.

Original idea by Natasha Boddy.

Thanks to bmddota for use of the Timers library (Apache Licensed).

About

A Dota 2 custom game which is an ability draft variant. Players pick an ability, then pass the rest of their hand on.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published