Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

GSoC Smarter pathfinder: Difference between revisions

From FIGHTORDER
imported>Tobi
m Protected "GSoC Smarter pathfinder": protecting during application period [edit=sysop:move=sysop] (expires 22:00, 10 April 2010 (UTC))
imported>Koshi
backlink and category via template
Line 27: Line 27:
== Possible Mentor(s) ==
== Possible Mentor(s) ==


[[Google_Summer_of_Code_2010]]
{{GSoC2010_bottom}}

Revision as of 17:19, 13 March 2010

GSoC idea: Smarter pathfinder

Why

Current pathfinder is rather inflexible and inefficient.

What

Spring's pathfinder uses a 2d grid and is somewhat limited in functionality. A partial/full rewrite should be introduced to add support for navigating using more than 8 primary directions and selectively ignore certain unit types for performance reasons.

Spring's Lua API should be extended to allow game developers to push new nodes/links and be able to alter or delete existing ones. (for pathfinder-aware tunnels/teleporting/etc.)

Preferably this all should also be faster then the current system, or a compelling argument/experiment should be made that shows there can not be a faster system with the same features.

Required skills

  • Knowledge of graphs and pathfinding (particularly navigation graphs)
  • Knowledge of C++
  • Knowledge of Lua API/C bindings

Difficulty

Estimated: hard

Technical details

The pathfinder is one of the better encapsulated subsystems in spring; generally, there will only be minor changes required in the rest of the engine, if any. There's a lot of algorithmic work to do under the hood, though:

  • Cooperative pathfinding exists in a very scant form and could be greatly improved
  • Navigation mesh could be introduced for better paths and faster searches - at the cost of generating the mesh and updating it online due to terrain modification

Possible Mentor(s)

Template:GSoC2010 bottom