godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
86.48k stars 19.27k forks source link

[TRACKER] Navigation test plan #73132

Open Scony opened 1 year ago

Scony commented 1 year ago

In the upcoming weeks, I'm going to work on test cases for the navigation area. I'm going to use this issue as a progress tracker but also as a place where anyone can propose scenarios to implement.

Please note that many scenarios will be tested in 3D only since quite a lot of navigation code is common for 2D and 3D so we don't need to duplicate test cases in many instances.

Server tests

NavigationServer3D

General

Agent

Map

Link

Region

Obstacle

NavigationServer2D

Node tests

NavigationRegion3D

NavigationRegion2D

NavigationAgent3D

NavigationAgent2D

NavigationObstacle3D

NavigationObstacle2D

NavigationLink3D

NavigationLink2D

PRs

This issue supplements https://github.com/godotengine/godot/issues/43440

smix8 commented 7 months ago

Looking for navigation related benchmark ideas.

Benchmark ideas are written in format like this: TYPE: [Groups it Belongs]: Name: Description

Examples:

Scony commented 7 months ago

Looking for navigation related benchmark ideas.

Benchmark ideas are written in format like this: TYPE: [Groups it Belongs]: Name: Description

Examples:

  • Exclusive:AStar3D: Create random map with 1000 inter connected points (probably using Delaunay3D), Benchmark solving it 1000 times from random 2 points
  • Exclusive:Navigation: On a premade map, solve 1000 random paths between two points on the surface of the shapes.
  • Agents: Benchmark 1000 moving agents in a map with local collision avoidance.

Some more examples to consider: