Edit of asset "Surfacer: 2D-platformer AI and pathfinding" Accepted

Old/Current New/Edit
Title Surfacer: 2D-platformer AI and pathfinding
Description **NOTE:** This framework depends the separate Scaffolder library. You'll need to add both of these libraries to your `addons/` folder. (https://godotengine.org/asset-library/asset/969)

**NOTE**: Consider this a pre-alpha release. This framework still has many rough edges, is still changing a lot, and is possibly a lot more inflexible than you would want (it makes a lot of assumptions about how you've structured your app).

**tl;dr**: Surfacer works by pre-parsing a level into a "platform graph". The nodes are represented by points along the different surfaces in the level (floors, walls, and ceilings). The edges are represented by possible movement trajectories between points along surfaces. There are different types of edges for different types of movement (e.g., jumping from a floor to a floor, falling from a wall, walking along a floor). At run time, A* search is used to calculate a path to a given destination.

Some features include:
- Surfacer includes a powerful character-behavior system for easily creating a character AI with high-level behaviors like "wander", "follow", "run-away", "return".
- Easy-to-use point-and-click navigation for player-controlled characters.
- Configurable movement parameters on a per-character basis.
- Level creation using Godot's standard pattern with a TileMap in the 2D scene editor.
- Pre-parsing the level into a platform graph, and using A* search for efficient path-finding at runtime.
- A powerful inspector for analyzing the platform graph, in order to debug and better understand how edges were calculated.
- Walking on floors, climbing on walls, climbing on ceilings, jumping and falling from anywhere.
- Variable-height jump and fast-fall.
- Adjusting movement trajectories to move around intermediate surfaces (such as jumping over a wall or around a floor).

Probably the easiest way to get set up is to copy the Squirrel Away example app, and then adjust it to fit your needs (https://github.com/SnoringCatGames/squirrel-away).

See more details in the README:
https://github.com/SnoringCatGames/surfacer.

You can also read more about how the AI works in this series of posts:
https://devlog.levi.dev/2021/09/building-platformer-ai-from-low-level.html
**NOTE:** This framework depends the separate Scaffolder library. You'll need to add both of these libraries to your `addons/` folder. (https://godotengine.org/asset-library/asset/969)

**tl;dr**: Surfacer works by pre-parsing a level into a "platform graph". The nodes are represented by points along the different surfaces in the level (floors, walls, and ceilings). The edges are represented by possible movement trajectories between points along surfaces. There are different types of edges for different types of movement (e.g., jumping from a floor to a floor, falling from a wall, walking along a floor). At run time, A* search is used to calculate a path to a given destination.

Some features include:
- Surfacer includes a powerful character-behavior system for easily creating a character AI with high-level behaviors like "wander", "follow", "run-away", "return".
- Easy-to-use point-and-click navigation for player-controlled characters.
- Configurable movement parameters on a per-character basis.
- Level creation using Godot's standard pattern with a TileMap in the 2D scene editor.
- Pre-parsing the level into a platform graph, and using A* search for efficient path-finding at runtime.
- A powerful inspector for analyzing the platform graph, in order to debug and better understand how edges were calculated.
- Walking on floors, climbing on walls, climbing on ceilings, jumping and falling from anywhere.
- Variable-height jump and fast-fall.
- Adjusting movement trajectories to move around intermediate surfaces (such as jumping over a wall or around a floor).

Probably the easiest way to get set up is to copy the Squirrel Away example app, and then adjust it to fit your needs (https://github.com/SnoringCatGames/squirrel-away).

See more details in the README:
https://github.com/SnoringCatGames/surfacer.

You can also read more about how the AI works in this series of posts:
https://devlog.levi.dev/2021/09/building-platformer-ai-from-low-level.html
Category 2D Tools
License MIT
Repository Provider GitHub
Repository Url https://github.com/SnoringCatGames/surfacer
Issues Url https://github.com/SnoringCatGames/surfacer/issues
Godot version Godot 3.4
Version String 0.7.0 0.5.0
Download Commit 4a5c63907197114605d6e43aa0acf8e335a56ca5 66a7fa3afa4e580bb476bdde1dd529e57daa0a47
Download Url (Computed) https://github.com/SnoringCatGames/surfacer/archive/4a5c63907197114605d6e43aa0acf8e335a56ca5.zip https://github.com/SnoringCatGames/surfacer/archive/66a7fa3afa4e580bb476bdde1dd529e57daa0a47.zip
Icon Url https://raw.githubusercontent.com/SnoringCatGames/surfacer/master/assets/images/device_icons/icon_128.png