Implement placement options for many random maps #7005

Open
real_tabasco_sauce wants to merge 7 commits from real_tabasco_sauce/0ad:placementOptions into main
Contributor

This pull request enables player placement options for many multiplayer maps so that players have more ways to play existing maps. In addition, 1v1 gameplay stands to gain from some ambiguity on exactly where the enemy might be.
Placement options include circle, river, stronghold, groupedLines, and random group.
In general, groupedLines is a little bit sparse as there are fewer maps that accommodate the placement well (because of how close the ccs are).

This pull request enables player placement options for many multiplayer maps so that players have more ways to play existing maps. In addition, 1v1 gameplay stands to gain from some ambiguity on exactly where the enemy might be. Placement options include circle, river, stronghold, groupedLines, and random group. In general, groupedLines is a little bit sparse as there are fewer maps that accommodate the placement well (because of how close the ccs are).
real_tabasco_sauce added 4 commits 2024-09-01 06:59:18 +02:00
add placement options to many maps and use the new naming scheme.
All checks were successful
checkrefs / checkrefs (pull_request) Successful in 51s
pre-commit / build (pull_request) Successful in 1m2s
0ad-freebsd/pipeline/pr-main This commit looks good
0ad-windows/pipeline/pr-main This commit looks good
0ad-linux/pipeline/pr-main This commit looks good
0ad-macos/pipeline/pr-main This commit looks good
2a367ac548
real_tabasco_sauce requested review from Imarok 2024-09-01 06:59:18 +02:00
real_tabasco_sauce requested review from s0600204 2024-09-01 06:59:18 +02:00
real_tabasco_sauce requested review from wraitii 2024-09-01 06:59:18 +02:00
real_tabasco_sauce requested review from marder 2024-09-01 06:59:18 +02:00
real_tabasco_sauce requested review from smiley 2024-09-01 06:59:18 +02:00
Author
Contributor

@phosit for some reason you are not a reviewer.

@phosit for some reason you are not a reviewer.
Stan requested review from phosit 2024-09-01 12:15:17 +02:00
Stan removed review request for wraitii 2024-09-01 12:15:22 +02:00
Stan removed review request for s0600204 2024-09-01 12:15:23 +02:00
Stan removed review request for Imarok 2024-09-01 12:15:24 +02:00
Member

fef2a08554 is to big (and does multiple things)

fef2a08554 is to big (and does multiple things)
Author
Contributor

ok i'll do that soon

ok i'll do that soon
real_tabasco_sauce force-pushed placementOptions from 2a367ac548 to f5076ba482 2024-09-01 20:02:06 +02:00 Compare
real_tabasco_sauce added 2 commits 2024-09-02 01:11:00 +02:00
adjust placement options stronghold and groupedLines behavior, add groupedLines to mainland tentatively as it should be more playable.
All checks were successful
checkrefs / checkrefs (pull_request) Successful in 45s
0ad-freebsd/pipeline/pr-main This commit looks good
pre-commit / build (pull_request) Successful in 52s
0ad-windows/pipeline/pr-main This commit looks good
0ad-linux/pipeline/pr-main This commit looks good
0ad-macos/pipeline/pr-main This commit looks good
a4f13e0dd7
real_tabasco_sauce added 1 commit 2024-09-02 02:27:43 +02:00
increase team spacing in stronghold placement, account for teams in groupedLine
All checks were successful
checkrefs / checkrefs (pull_request) Successful in 42s
0ad-freebsd/pipeline/pr-main This commit looks good
pre-commit / build (pull_request) Successful in 52s
0ad-windows/pipeline/pr-main This commit looks good
0ad-linux/pipeline/pr-main This commit looks good
0ad-macos/pipeline/pr-main This commit looks good
559989ba86
Author
Contributor

ok @phosit I've adjusted groupedLines so it is more playable in all the different configurations. (less sandwiched together, teams separated enough).
Also, I slightly increased the intra and inter-team placement on stronghold so that teammates have a bit more breathing room, and so that nobody is squished up against the map edge. Also, I tested a lot of maps with only belgian uplands having a presumably unrelated error.

ok @phosit I've adjusted groupedLines so it is more playable in all the different configurations. (less sandwiched together, teams separated enough). Also, I slightly increased the intra and inter-team placement on stronghold so that teammates have a bit more breathing room, and so that nobody is squished up against the map edge. Also, I tested a lot of maps with only belgian uplands having a presumably unrelated error.
real_tabasco_sauce force-pushed placementOptions from 86159838ae to efce19a984 2024-09-02 06:33:27 +02:00 Compare
Member

Good work
In b0de384609

  • There are also changes team placement -> player placement
  • { should be on seperate lines

Actually I don't know why g_PlayerbaseTypes[pattern].walls is changed to undefined in a0cf4c1c62.

Good work In b0de384609 - There are also changes team placement -> player placement - `{` should be on seperate lines Actually I don't know why `g_PlayerbaseTypes[pattern].walls` is changed to `undefined` in a0cf4c1c62.
Author
Contributor

Good work
In b0de384609

  • There are also changes team placement -> player placement
  • { should be on seperate lines

Actually I don't know why g_PlayerbaseTypes[pattern].walls is changed to undefined in a0cf4c1c62.

Ah it seems the first one was mixed up when splitting everything up. And I forgot to undo the auto-formatting wrt {
g_PlayerbaseTypes[pattern].walls -> undefined was in marder's original patches. Was that because wall placement was broken and is now fixed? I could add them back and see if it works. The walls are placing even when things are pretty cramped, so maybe thats it.

> Good work > In b0de384609 > - There are also changes team placement -> player placement > - `{` should be on seperate lines > > Actually I don't know why `g_PlayerbaseTypes[pattern].walls` is changed to `undefined` in a0cf4c1c62. Ah it seems the first one was mixed up when splitting everything up. And I forgot to undo the auto-formatting wrt { `g_PlayerbaseTypes[pattern].walls` -> `undefined` was in marder's original patches. Was that because wall placement was broken and is now fixed? I could add them back and see if it works. The walls are placing even when things are pretty cramped, so maybe thats it.
real_tabasco_sauce force-pushed placementOptions from efce19a984 to f766a26a30 2024-09-02 21:30:57 +02:00 Compare
Author
Contributor

I think we shouldn't squash these commits since they individually describe the changes.

I think we shouldn't squash these commits since they individually describe the changes.
Member

3d7c4ce05b adds river without describing that in the commit message and without using it (if i'm correct) so it's not testable on it's own.

About frontier: In 3d7c4ce05b "radial", "line" is changed to "circle", "groupedLines" but in 94c8a248a4 it's changed from "line", "radial" to "groupedLines", "circle"

3d7c4ce05b adds river without describing that in the commit message and without using it (if i'm correct) so it's not testable on it's own. About frontier: In 3d7c4ce05b `"radial", "line"` is changed to `"circle", "groupedLines"` but in 94c8a248a4 it's changed from `"line", "radial"` to `"groupedLines", "circle"`
Author
Contributor

3d7c4ce05b adds river without describing that in the commit message and without using it (if i'm correct) so it's not testable on it's own.

About frontier: In 3d7c4ce05b "radial", "line" is changed to "circle", "groupedLines" but in 94c8a248a4 it's changed from "line", "radial" to "groupedLines", "circle"

On the first part, yeah I can change this for sure.

For the second part, it makes no difference for the order to be different in the script. This is just used for atlas according to the comment. I decided to just keep the original order.

> 3d7c4ce05b adds river without describing that in the commit message and without using it (if i'm correct) so it's not testable on it's own. > > About frontier: In 3d7c4ce05b `"radial", "line"` is changed to `"circle", "groupedLines"` but in 94c8a248a4 it's changed from `"line", "radial"` to `"groupedLines", "circle"` On the first part, yeah I can change this for sure. For the second part, it makes no difference for the order to be different in the script. This is just used for atlas according to the comment. I decided to just keep the original order.
real_tabasco_sauce force-pushed placementOptions from f766a26a30 to 26a68b56c2 2024-09-14 20:31:07 +02:00 Compare
real_tabasco_sauce force-pushed placementOptions from 26a68b56c2 to 68de737d1d 2024-09-14 20:33:16 +02:00 Compare
Member

it makes no difference for the order to be different in the script.

My comment wasn't about the order. I was confused why it's done two times. It looks good now.

I think "Radial Lines" is a better name then "Grouped Lines".
When using "Grouped Lines" on a tiny map 4v4 most of the times not all resources can be placed.

I'm still woried that removing walls removes a uniqueness of a civ (and weekens it (i'm not a balancer)). With circle, river and random groups there is space for walls. Since in stronghold (and grouped lines) one starts close to the team walls are not that usefull or even a hurdle.
What I want to say: When circle, river or random groups is used iberians should have walls. When stronghold or grouped lines is used iberians should have no walls. The (ostensible) reason is that walls would be a hurdle.
In a future commit: When using stronghold the iberian wall could go around the whole stronghold.

> it makes no difference for the order to be different in the script. My comment wasn't about the order. I was confused why it's done two times. It looks good now. I think "Radial Lines" is a better name then "Grouped Lines". When using "Grouped Lines" on a tiny map 4v4 most of the times not all resources can be placed. I'm still woried that removing walls removes a uniqueness of a civ (and weekens it (i'm not a balancer)). With circle, river and random groups there is space for walls. Since in stronghold (and grouped lines) one starts close to the team walls are not that usefull or even a hurdle. What I want to say: When circle, river or random groups is used iberians should have walls. When stronghold or grouped lines is used iberians should have no walls. The (ostensible) reason is that walls would be a hurdle. In a future commit: When using stronghold the iberian wall could go around the whole stronghold.
Author
Contributor

I think undefined results in the walls always being placed.
I kind of like grouped lines to be honest.

I think undefined results in the walls always being placed. I kind of like grouped lines to be honest.
phosit approved these changes 2024-09-19 21:17:07 +02:00
Dismissed
phosit left a comment
Member

I think undefined results in the walls always being placed.

You are right i got confused about the last argument passed to playerPlacementByPattern and the last argument passed to createBases.

I kind of like grouped lines to be honest.

Then I'm ok with it :)

> I think undefined results in the walls always being placed. You are right i got confused about the last argument passed to `playerPlacementByPattern` and the last argument passed to `createBases`. > I kind of like grouped lines to be honest. Then I'm ok with it :)
@ -8,2 +8,3 @@
"Preview" : "neareastern_badlands.png",
"CircularMap" : true
"CircularMap" : true,
"PlayerPlacements": [
Member

Only one placement can be "selected".

Only one placement can be "selected".
phosit requested changes 2024-09-20 18:09:44 +02:00
phosit left a comment
Member

The maps can't be generated in atlas. (I have a patch for that)

If there are no teams but Grouped Lines is selected, all CCs are crammed in the middle.

The maps can't be generated in atlas. (I have a patch for that) If there are no teams but Grouped Lines is selected, all CCs are crammed in the middle.
Some checks reported warnings
checkrefs / checkrefs (pull_request) Successful in 1m0s
Required
Details
pre-commit / build (pull_request) Successful in 1m8s
Required
Details
0ad-freebsd/pipeline/pr-main This commit is unstable
0ad-windows/pipeline/pr-main This commit looks good
0ad-linux/pipeline/pr-main This commit looks good
Required
Details
0ad-macos/pipeline/pr-main This commit looks good
This pull request has changes requested by an official reviewer.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u placementOptions:real_tabasco_sauce-placementOptions
git checkout real_tabasco_sauce-placementOptions
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: 0ad/0ad#7005
No description provided.