Opened 6 years ago

Last modified 6 years ago

#4960 reopened defect

Latium starting resources fail

Reported by: elexis Owned by:
Priority: Should Have Milestone: Backlog
Component: Maps Keywords:
Cc: Patch: Phab:D1387

Description

On most generations of Latium, we get a warning about starting resources having failed to place.

Beside the warning being annoying, the missing mines are quite bad.

Attachments (2)

commands.txt (9.7 KB ) - added by mimo 6 years ago.
latium-branch.7z (31.9 KB ) - added by elexis 6 years ago.
The abandoned WIP branch I had been working on in november. Don't know what it contains.

Download all attachments as: .zip

Change History (13)

comment:1 by elexis, 6 years ago

Milestone: BacklogAlpha 23

comment:2 by elexis, 6 years ago

It's because cliffs are painted, then players placed inside it and the area flattened, but the original area (clCliff) is still attempted to be ignored.

by mimo, 6 years ago

Attachment: commands.txt added

comment:3 by mimo, 6 years ago

In addition, with the commandx.txt attached and r21034, there are fishes on land.

As both cases i've noticed on this map are on the lateral borders, maybe the map rotation was not properly applied?

comment:4 by elexis, 6 years ago

In 21069:

rmgen random placement and Entity instantiation refactoring, fixes #4992.

ChainPlacer, ClumpPlacer, SimpleObject receive the vectors that are in place everywhere already, refs #4845.
Add public setCenterPosition to CenteredPlacer and Group rather than writing private properties of the prototypes.
ChainPlacer and ClumpPlacer simplifications, deduplication and renames, refs #4805.

Replace placeObject global with RandomMap placeEntity members, refs #4804.
Split to placeEntityPassable / placeEntityAnywhere, as well as validTilePassable / validTileAnywhere to more cleanly distinguish actor and casual entity placement.
No more does SimpleObject create Entity instances and register entityIDs if they are never placed.
Removes the map global reference from the Entity constructor, refs #4964.
By definition of what is passed to the engine, an Entity has an ID and position, so keep it impossible to create Entities without IDs.

Implement randomPositionOnTile so that there aren't different implementations thereof, including unintented ones as in ardennes_forest.js in rP21021.
On Caledonian Meadows, remove unused pathplacing code, to be superseded by #4368.
On Schwarzwald, delete unused startLocations following rP20864.
On Latium, replace complicated duplicated hardcoded fish location computation with a simple HeightConstraint, refs #4960.

comment:5 by OptimusShepard, 6 years ago

If the player starts on the map pompeii on the half island, this error occurs too. The mapsize was choosen tiny.

https://imgur.com/a/0kGvf

by elexis, 6 years ago

Attachment: latium-branch.7z added

The abandoned WIP branch I had been working on in november. Don't know what it contains.

comment:6 by temple, 6 years ago

Patch: Phab:D1387

comment:7 by elexis, 6 years ago

(Oh, this branch is even from 2016, so it's not the one latium rewrite I had been looking for. I went through the list of diffs in there and saw most of it being committed and few cleanup I'm about to commit. Searched all files for "latium" on my disk but can't find the rewrite. Must have been abandoned and deleted to be never seen again.)

comment:8 by temple, 6 years ago

In 21552:

Fix a bug in Latium and Ardennes Forest

Differential Revision: https://code.wildfiregames.com/D1387
Reviewed by: elexis
Refs: #4960

comment:9 by elexis, 6 years ago

Resolution: fixed
Status: newclosed

Missing resources on tiny maps can occur on many maps for different reasons.

Primarily placePlayerBaseMines and placePlayerBaseChicken should not receive distance but min and max distance, similar to placePlayerBaseTrees. Perhaps that can still be realized for this release.

Perhaps we can replace the placePlayerBase functions entirely with fewer new library functions that share some of the properties of the placePlayerBaseFunctions, such as retry loops, radial distribution similar to createObjectGroup (Inari also proposed a CircleConstraint with a min and max radius recently, that might be utilized). (That certainly won't be done this release)

comment:10 by elexis, 6 years ago

Resolution: fixed
Status: closedreopened

not so fast

comment:11 by elexis, 6 years ago

Milestone: Alpha 23Backlog

meh

Note: See TracTickets for help on using tickets.