| 53 | = Roadmap / To do = |
| 54 | |
| 55 | * Colliding entities: On many maps there are entities like trees or chicken in Iberian walls or the Civic Center. To make sure this will not happen we need a finer grained collision detection than tile based. An implementation can be found [[https://wildfiregames.com/forum/index.php?/topic/16242-random-maps-suggestions-bug-reports-and-ideas-about-random-maps-here/&do=findComment&comment=297548|here]]. Components involved: Map, placers, areas, constraints |
| 56 | |
| 57 | * Unifying all functionality that can be used with painters/painters to have a painter or placer. Examples for that would be the diamond square terrain generation and the starting entity placement. There are likely a lot more that has to be found and listed e.g. in [[https://wildfiregames.com/forum/index.php?/topic/16242-random-maps-suggestions-bug-reports-and-ideas-about-random-maps-here/|The Random Map Forum Topic]]. Components involved: Painters, placers, areas, constraints. |
| 58 | |
| 59 | * A way to detect areas of partially and fully obstructed tiles by an entity either already placed or with the information of how it is to be placed should be available to avoid placing e.g. terrain entities there. This is missing and relatively straight forward to add with the entity information available in RMGen. This should include the wall builder though more complex entity placements like this should IMO be done first during map generation so later obstruction can be avoided by constraining the partially obstructed tiles. Components involved: Areas, map, placers, wallbuider, constraints. |
| 60 | |
| 61 | * Unreachable entities: While this is tricky and may be fully implemented in part 2 (unifying simulations and RMGen by generating maps while the engine is running) some measures can be taken on a lib level to make things easier for the map author. That mainly includes turning entities outside of the playable map to their corresponding actors instead but also a flood fill method to detect every player can reach every other player or e.g. gatherable entities. Components involved: Constraints, painters. |
| 62 | |
| 63 | * A way to - at least roughly - detect tiles that can or cannot be build on in-game are needed to avoid placement of e.g. walls on terrain the player can not build on in-game (or even reach with melee units). Components involved: Areas, constraints, map. |
| 64 | |