Git Product home page Git Product logo

Comments (3)

LeCommandeur avatar LeCommandeur commented on July 24, 2024 1

Thank you for your quick answer and your advice. I finally manage to achieve what I was looking for, I'm closing the issue!

from yuka.

Mugen87 avatar Mugen87 commented on July 24, 2024

Then, I tried to simply update manually the cost of certain nodes' edges so that they would be less likely to be consider better suited for the path. It works but I wonder if there is a better approach?

This approach is actually good! I know from older strategy games that they use the same technique to guide game entities over the map. Meaning they represent the entire map as a grid and assign different costs to the edges depending on the terrain's quality. E.g. roads and ways have low costs, fields have mid costs and stuff like rivers, mud or dangerous terrain (think of a mine field) high costs (like Infinity).

Depending on how your game is structured I would start with this approach and see how good it works.

from yuka.

Mugen87 avatar Mugen87 commented on July 24, 2024

BTW: Of course you could change the structure of the grid depending on the terrain but updating edge costs is more flexible. Think of a bridge in a strategy game. If it is destroyed, game entities should not pass it. That can be achieved by assigning a high cost to the respective edge so game entities will try to find a way around it. When the bridge is repaired (assuming the game provides such a mechanic), the original edge cost is restored.

from yuka.

Related Issues (20)

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.