Initial setup for the new chunk template concept #5633
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The chunk templates will eventually replace the base templates. It is similar, if not equal, to the templates used by the LOUD community.
We use the navigational mesh to divide a map into squares. These 'chunks' templates represent what an AI could populate (in terms of structures) in one of those squares.
We can then create templates that are similar to build templates that fit in exactly one of those squares. As an example:
Each of those squares represents a chunk. A chunk of an AI base. We can create many variations of each size of a chunk to make sure one base is unlike the other.
The idea is that the AI will claim additional chunks as it tries to build structures. This way the AI can expand the base and gain more ground.
We need chunks to prevent the AI from exhaustively searching for a place to build. An example are the current base templates. These are gigantic files with gigantic tables that the AI can use to find a build location that is 'nearby' of the intended build location. On average there will be a lot of negative tests before a valid build location is found.