Coder Social home page Coder Social logo

pongcn / skills Goto Github PK

View Code? Open in Web Editor NEW

This project forked from d2planner/skills

0.0 0.0 0.0 9.68 MB

A simple tool for making and sharing Diablo 2 builds.

License: GNU General Public License v3.0

HTML 1.43% CSS 10.49% JavaScript 64.28% Python 23.81%

skills's Introduction

d2planner

A simple tool for making and sharing Diablo 2 character builds.

Core features

There are a few Diablo 2 skill planners out there, these are the features that help this one stand out:

  • Accurate skill data - powered by the game files
    • Support for multiple patches and mods (TODO)
  • Fast to update - in case we ever go beyond patch 1.14D
  • Build saving and sharing - through auto-updating URL in your address bar
  • Simple modern UI - built around ease-of-use
    • Character level tracking based on skill choices
    • Mobile friendly (TODO)

Skill descriptions library

The library code for this project attempts to re-create the processing logic used by the game itself, so we can generate skill descriptions from the same data used by the game. This requires some deeper knowledge of the game and a fair bit of reverse engineering, but has some benefits that are reflected in the app's features:

  • This approach requires a deeper understanding of the game that leads to more accurate game data. Some skills are extremely complex, and require details across multiple game files to get right. Not every skill planner puts in this effort.
  • Game data is drop-in replacable with this approach, enabling us to support previous or future patches, or even mods. This still requires development effort, but far less than if skill descriptions were hand-curated.

Hopefully this explains some of the complexity in the library code and the design decisions around building a full parser for the game's DSL rather than leaning more on hard-coded values.

Resources

The Diablo 2 modding community is invaluable to this project. Modders have painstakingly mapped out the games data files and built tools for manipulating them - this project wouldn't be possible without them.

skills's People

Contributors

dmwinslow avatar

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.