Page MenuHomeWildfire Games

Polar Sea Random Map
ClosedPublic

Authored by elexis on Feb 23 2017, 3:07 AM.

Details

Summary

Players start in a cold polar region barren of vegetation.
In the sea fish and whales abound, while the fragile icy land teems with huntable walruses and deadly wolves.
These wolves, made ravenous by the harsh and forbidding climate, drawn by the scent of prey, have started appearing in terrifying numbers.
A wise and strong ruler will not only achieve victory over his enemies, but also keep the number of these beasts at bay, lest they undermine his economy and cause his downfall.
Warning: It is inadvisable to disable treasures, since there is no gatherable wood.


Players start with a market.

Unfortunately we can't send commands to wolves and they only attack when not roaming while having bad eye sight. Could be changed by removing the this.IsAnimal() && !this.IsDomestic() cheks from UnitAI which don't appear necessary.

Polar bears could be added by changing the texture of the existing one, even though bears don't have animations yet (there is a snow fox model, but also without animations, nor eyes).
Map by Hannibal Barca, added trigger scripts and polishing.

Test Plan

Press F9, type Engine.SetSimRate(20); to see how many wolves are spawned.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

elexis created this revision.Feb 23 2017, 3:07 AM
elexis edited the summary of this revision. (Show Details)Feb 23 2017, 3:12 AM
elexis added reviewers: Hannibal_Barca, FeXoR.
elexis updated the Trac tickets for this revision.
elexis edited the summary of this revision. (Show Details)
Vulcan added a subscriber: Vulcan.Feb 23 2017, 3:51 AM

Build is green

Updating workspaces.
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK!

http://jw:8080/job/phabricator/390/ for more details.

The map has an interesting concept, but the wolves really don't do much other than roam around occasionally (because of their UnitAI as mentioned in the summary).
So it seems that UnitAI will have to be modified (somewhat related tickets: #3783, #3919).
Also, maybe the waveTime could be randomized a bit.

elexis updated this revision to Diff 584.Feb 23 2017, 5:40 PM
  • Change UnitAI so that we can send orders not only to domestic animals but to all animals.
  • Use that to send attack orders to the closest 3 organic units of the wolves, thus making them effective killers instead of letting them ignore units most of the time that bump into them. Attack-walk is not implemented.
  • Make wolves violent instead of aggressive, not a significant impact though.
  • Spawn points can be much closer to the civic center and water, so that it works with tiny maps too and is more uniformly distributed.
  • Adjust distances so that we can have hills on tiny maps too.
  • Increase muskox and walrus count slightly.
  • Discovered a RangeManager bug that unfortunately I don't have time to debug.
elexis added a subscriber: niektb.
Hannibal_Barca accepted this revision.Feb 23 2017, 5:50 PM
This revision is now accepted and ready to land.Feb 23 2017, 5:50 PM

Build is green

Updating workspaces.
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK!

http://jw:8080/job/phabricator/392/ for more details.

Sandarac requested changes to this revision.Feb 24 2017, 7:39 AM

The map lives up to its description now - those wolves don't mess around.
But now the wolves strike very soon at the start of the game, and they are aggressive, and there are many of them when players don't have many units. There should maybe be a delay before the wolves spawn for the first time, or maybe their numbers could slowly increase over time (while still being randomized slightly).
That bug in the RangeManager will need to be addressed at some point (not in this diff though, of course).

This will be an interesting map to have!

This revision now requires changes to proceed.Feb 24 2017, 7:39 AM
elexis updated this revision to Diff 607.Feb 25 2017, 4:31 AM
elexis edited edge metadata.
  • Add starting animals (muskox, because neither berries nor chicken fit and having no initial food made the gamestart really slow to impossible)
  • More muskox and walrus, as the initial map seemed so empty
  • Disable wooden techs, since there is no wood
  • First wave spawns after 3 min, not 0 min
  • Likely fixed performance issues (5 second freeze each wave), by not repeating the GetNonGaiaEntities call for each attacker
  • Documented weird RangeManager bug at #4495
  • Fixed sun elevation (thanks to wowgetoffyourcellphone and niektb), adjusted skysets, fog and terrain ambient color.

Had a playtest with maxticatrix and siole.
Received valuable feedback at https://wildfiregames.com/forum/index.php?/topic/21519-new-maps-for-a22/

Build is green

Updating workspaces.
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK!

http://jw:8080/job/phabricator/404/ for more details.

Sandarac accepted this revision.Feb 26 2017, 3:27 AM

The trigger script and UnitAI seem good from my point of view (although I'm not sure if the print statement really needs to be committed).

This revision is now accepted and ready to land.Feb 26 2017, 3:27 AM
FeXoR accepted this revision.Feb 28 2017, 10:14 AM

Reviewed the map generation code mainly.
(Some functions still use hard coded tile class names for their defaults and don't use the now available alternative argument syntax - but that's not this map's fault.)

In D156#6618, @FeXoR wrote:

(Some functions still use hard coded tile class names for their defaults and don't use the now available alternative argument syntax - but that's not this map's fault.)

(14:53:39) elexis: FeXoR: which "now available alternative argument syntax"?
(14:59:52) FeXoR: elexis: function(argument = default) Just that syntax. In rmgen utilityfunctions.js createFood() it still uses "tileclass = (tileclass !== undefined ? tileclass : clFood);".

(So its a critique of rmlib1 not using the default argument syntax, not a critique of the map)

elexis updated this revision to Diff 644.Feb 28 2017, 3:53 PM
  • Add minimum distance 15 between wolf spawn points, so that two spawn points can't end up right besides each other, making it unfair for one player.
  • With a chance of 1/3, use exactly niektb's environment settings (besides a random sun angle and a random sun elevation that casts a significant shadow) suggested in https://wildfiregames.com/forum/index.php?/topic/21519-new-maps-for-a22/#comment-327610
  • With a chance of 2/3 use a more randomized daylight environment setting (with a sun elevation that casts a significant shadow, but not as deep as we expect it on a sunrise/sunset time)
  • Use niektb's screenshot from the forum thread as a map preview
elexis added inline comments.Feb 28 2017, 4:32 PM
binaries/data/mods/public/maps/random/polar_sea.js
320 ↗(On Diff #644)

(Going to remove that debug 999 when committing)

Build is green

Updating workspaces.
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK!

http://jw:8080/job/phabricator/432/ for more details.

This revision was automatically updated to reflect the committed changes.

That UnitAI change seems unfortunate, I guess one could have solved this using some other ticket, but I guess others do understand the workings of UnitAI and game design well enough to grasp the implications of this.

  • We (hannibal, echotangoecho in the lobby and niektb on irc) also discussed "arctic sea" as a name, as that is a greek name and also closer to the geographical regions. On the other hand we have 2 more arctic map candidates and the arctic region has potential for vegetation, while this map has literally none
  • Petra AI supports disabled templates but not disabled techologies. Yes people are not fond of me disabling the techs here, but it's not the fault of the map, disabled techs are a player component feature and hence the bot should support it -> #4500
  • Added 1000 spawn points for wolves as long as they are 20 meters distanced. Thus uniformly distributing the wolves. Playtest incoming!

Thanks for the map, even if it's yet another map outside of the region of our historical / geographical timeframe. We might add a mapfilter for these maps.

In D156#6745, @leper wrote:

That UnitAI change seems unfortunate, I guess one could have solved this using some other ticket, but I guess others do understand the workings of UnitAI and game design well enough to grasp the implications of this.

If you're not supposed to control non-domestic animals, you shouldn't own them.

fatherbushido added a subscriber: fatherbushido.EditedFeb 28 2017, 10:21 PM
In D156#6748, @elexis wrote:
In D156#6745, @leper wrote:

That UnitAI change seems unfortunate, I guess one could have solved this using some other ticket, but I guess others do understand the workings of UnitAI and game design well enough to grasp the implications of this.

If you're not supposed to control non-domestic animals, you shouldn't own them.

(It's not about design, it's about checking if it didn't break it (ANIMAL -> INDIVIDUAL).)
(I don't say it was not checked.)

fatherbushido added a comment.EditedFeb 28 2017, 10:42 PM

I don't want to meh^2 but at least it should have been in a separated diff as it's all but an harmless change.
Just for example, the FSM is at broken for patrolling domestic sheep (just looking at the 40 next lines in context).

Just for example, the FSM is at broken for patrolling domestic sheep (just looking at the 40 next lines in context).

Indeed, someone who is able to should raise a concern. Also forgot to remove the TODO following D164

I don't want to meh^2

I don't mind people posting tons of meh as long as it's constructive, pointing out the actual mistakes. Are there known issues with the UnitAI change other than the patrol change?

Concern raised in rP19254 and patch proposed by Sandarac in D176

refs BuildingAI

elexis added a comment.Mar 1 2017, 6:56 PM

refs BuildingAI

You mean me not considering the capture attack of units in rP17784 or anything otherwise related to this diff?

In D156#6861, @elexis wrote:

refs BuildingAI

You mean me not considering the capture attack of units in rP17784 or anything otherwise related to this diff?

No I meant those unitAI changes can (but again, I havn't checked anything) leads to similar situation.
Ones the things are well thought (perhaps they are here), we have good ground to continue.
But you know all that ;-)