Giter Site home page Giter Site logo

ipeterov / dotapracc Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.21 MB

A site for finding 1v1 practice partners in Dota 2

Home Page: https://www.dotapra.cc

License: GNU General Public License v3.0

Python 56.32% JavaScript 42.74% HTML 0.94%
dota2 1v1 practice steam

dotapracc's People

Contributors

dependabot[bot] avatar ipeterov avatar

Watchers

 avatar

dotapracc's Issues

Steam login

Steam login #7 by Илья Петеров


It wil be required so that we can add people into lobbies and confirm their rank.

Lobby auto-invite

Lobby auto-invite #4 by Илья Петеров


Saves a lot of time. Definitely possible to implement, faceit did it.

There is a python API for that, but it requires running Dota on the server. Need to investigate.

Make sure the matching works

  • Test concurrent searches with a single bot
  • Create a second bot account
  • Test concurrent searches with two bots

Redo matching algorithm

Do in a celery task (separate queue, repeat as soon as finished):

  1. Create a NetworkX graph
  2. Add all player searches as nodes
  3. For each pair of searches, add an edge, with weight = search.weighing_function(other_search), if they have common hero pairs
  4. Run a matching algorithm

search.weighing_function can include:

  • MMR difference
  • Time since search started (so that if no good match is found, a bad one will eventually go through)
  • behaviour score difference

Save replays

IDK if it's even possible to view 1v1 replays, but hosting them on our site would be really cool

Toggle heroes

Toggle heroes #5 by Илья Петеров


Temprarily disable heroes without deleting them.

Bonus points for a button that toggles all heroes.

Use case:
I usually queue with my full hero pull, but right now I want to practice Kunkka vs SF. This allows me to not delete and re-create everything.

Fix "Find match" websocket disconnect

Server restart, errors and other random issues cause WebSocket connection to break. It doesn't attempt to reconnect, forcing the user to refresh.

Matching pool animation

It can be good for debugging (and also a cool attraction) to add a live animation of matchmaking.

Each time the algorithm runs, a websocket push could go everyone viewing it.

Then, a visualization would be drawn, possibly using this cytoscape.

Chat bot

/matchups - posts a link to opendota high mmr matches with these heroes

Improve lobby bot

  • Handle declines
  • Terminate if someone is not accepting
  • Lobby created state
  • Messages (maybe greetings, rules, terminate timer)

Friends

  • All site-registered steam friends are considered friends
  • A separate tab where users can see their friends and invite them to 1v1 (possible email/steam message/SMS notification)

Referral links and thank you page

A clear call to action for influencers - get people to sign up with steam with the link.

For now, there will just be a thank you page, where everyone with a referral link is listed along with a number of users they brought in. The publicity must be optional.

Later on, some other features might become available to the contributors (early preview, voting on features, priority matchmaking).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.