Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/timkurvers/redota

Revisit past Dota 2 matches in the browser
https://github.com/timkurvers/redota

dota dota2 gaming valve-corporation

Last synced: 18 days ago
JSON representation

Revisit past Dota 2 matches in the browser

Awesome Lists containing this project

README

        

# ReDota

![Node Version](https://badgen.net/badge/node/14+/green)

Revisit past Dota 2 matches in the browser.

View live: https://timkurvers.github.io/redota

![ReDota](./public/images/redota.jpg)

# Background

This is an experiment to revisit past Dota 2 matches in the browser, fully relying
on parsing replays client-side without any server involvement.

ReDota can download these replay files from Valve through a [replay proxy].

Contributions in form of issues, feedback or pull requests more than welcome!

# Attribution

ReDota is a heavily derived project and stands on the shoulders of giants, notably
parsers by [Dotabuff] and [Skadistats].

Special thanks to community members from [OpenDota] and [ModDota] who assisted in
deciphering replay specifics.

# Legalese

- Dota 2 is a registered trademark of [Valve Corporation].
- Image resources, lore and other references are property of [Valve Corporation].
- The Dota 2 map and minimap images come from multiple sources:
- 7.23 images originate from [Gamepedia].
- 7.29 images contributed by [likwidoxigen](https://github.com/timkurvers/redota/pull/48).
- 7.33 images contributed by [@wykrhm](https://twitter.com/wykrhm).
- The redo-symbol in the ReDota logo ~~and favicon~~ originates from [Font Awesome].
- Lane creep and building icons come from The Noun Project, see [this README file](./public/images/icons/README.md).

# Setup & Development

ReDota is written in [ES2020+], powered by [MobX] and [React], styled with [styled-components],
modularized using [ECMAScript modules] and bundled with [webpack].

1. Clone the repository:

```shell
git clone git://github.com/timkurvers/redota.git
```

2. Download and install [Node.js] 14+ for your platform.

**Note**: If you plan on using ReDota's parser programatically, please note that Node.js 17+ is
currently [not supported][#70].

3. Install dependencies:

```shell
npm install
```

4. Compile Valve's game message definitions to a format ReDota can work with:

```shell
npm run build:protos
```

**Note**: This step only needs to be done once, or when the definitions themselves change.

5. Run the dev server on `http://localhost:8080` which automatically monitors source files:

```shell
npm run start:dev
```

[Dotabuff]: https://github.com/dotabuff/manta
[ECMAScript modules]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
[ES2020+]: https://www.strictmode.io/articles/whats-new-es2020/
[Font Awesome]: https://fontawesome.com/license
[Gamepedia]: https://dota2.gamepedia.com/Map
[MobX]: https://mobx.js.org
[ModDota]: https://moddota.com
[Node.js]: https://nodejs.org/
[OpenDota]: https://github.com/odota/parser
[React]: https://reactjs.org/
[Skadistats]: https://github.com/skadistats/clarity
[Valve Corporation]: https://www.valvesoftware.com/
[replay proxy]: https://github.com/timkurvers/redota-replay-proxy
[styled-components]: https://styled-components.com/
[webpack]: https://webpack.js.org/
[#70]: https://github.com/timkurvers/redota/issues/70