Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#4954 closed enhancement (fixed)

Map-specific biomes

Reported by: elexis Owned by: elexis
Priority: Nice to Have Milestone: Alpha 23
Component: Maps Keywords:
Cc: Patch:

Description (last modified by elexis)

Some random maps hardcode multiple custom biomes and pick one of the variants at random:

  • alpine_lakes
  • alpine_valley
  • gulf_of_bothnia
  • persian highlands

The data is structured almost exactly like the JSON files already. Having that data in the JSON file means the gamesetup can parse it and the player can select the biome.

Abstracting further, the other maps that don't already use the random bioem system define exactly one biome that they always use (guadalquivir river, volcanic lands).

So every map could have its templatenames, terraintextures and environment settings moved to JSON files.

The random-biome system would become a biome-system that eventually one might think about supporting it in skirmish/scenario maps too. (However biome definitions can include JS, so either these would have to be dropped for skirmish/scenario maps, or we need scripted map generation code on scenario and skirmish maps after loading the PMP file.)

Change History (17)

comment:1 by elexis, 6 years ago

Description: modified (diff)

comment:2 by elexis, 6 years ago

In 20889:

Move map specific biome constants to the scope setting that biome in that map, refs #4954.
Only Gulf of Bothnia didn't have it grouped yet.

comment:3 by elexis, 6 years ago

refs #4973

comment:4 by elexis, 6 years ago

Milestone: BacklogAlpha 23
Owner: set to elexis
Summary: Move map-specific biomes to biome filesMap-specific biomes

comment:5 by elexis, 6 years ago

Resolution: fixed
Status: newclosed

In 21010:

Extend random biome systme to support map specific biomes, fixes #4954, refs D852 / rP20115.

comment:6 by hannibal, 6 years ago

Possible descriptions:

Gulf of Bothnia

  • A late spring breeze ripples through the conifer forests of the Gulf of Bothnia. Herds of deer dot the landscape and playful rabbits frolick in the undergrowth.
  • Winter has set in, carpeting the land with its first snow. The still unfrozen gulf offers great fishing opportunities.
  • Solidifying it's grip, the harsh cold has succeeded in freezing up the gulf. The thick ice formed is capable of withstanding any weight.

Persian Highlands

  • Spring in the highlands, yet the heat has already begun making itself felt. The short-lived green grasses are on the retreat, paving the way for scorching summer.
  • An arid, hostile land. The blistering heat has baked the ground to a sickly brown and the remaining trees struggle for survival.

Alpine Lakes

  • A chill gray atmosphere dominates, the majestic pines stand in silence, adding to the gloom. Although already late spring, summer seems farther away than ever.
  • Snow-covered high Alpine mountains surrounding deep valleys strung with mountain streams and finger-like lakes.

(last one is rewrite of current)

comment:7 by Stan, 6 years ago

Small question, can a trigger script change terrain texture using biomes ? (Would work for stuff like winder for example). Frozen lakes would need terrain change so that cannot work, but I think we could just change textures.

comment:8 by elexis, 6 years ago

At least the pathfinder supports ingame terrain changes since Extinct Volcano. But we don't have ways to change both terrain elevation nor textures currently. It would be exciting however (earthquake, exploding volcanoes,...).

comment:9 by Stan, 6 years ago

I thought terrain was not serialized ? #2264 #2147

Last edited 6 years ago by Stan (previous) (diff)

comment:10 by elexis, 6 years ago

Both terrain textures and elevation are in graphics/Terrain.cpp, so by design not simulation data, hence not changeable by design by the simulation.

But on the other hand we have CCmpTerrain.cpp which just forwards the graphics Terrain data. So it could be done in theory, but simulation data ought to be stored in the simulation. So things should likely be moved over. (All of that has zero relation to biomes however which is just one simulation setting that can be read by rmgen and possibly simulation. On the other hand I think you made me curious.)

comment:11 by elexis, 6 years ago

In 21020:

Fix hardcoded biome references following the new directory in rP21010, refs #4954.
Sorry for the noise.

comment:12 by elexis, 6 years ago

In 21089:

Fix obligatorily broken translation of the new map-specific biome directory structure in rP21010, refs #4954.

comment:13 by elexis, 6 years ago

In 21090:

On Persian Highlands, allow players to chose the summer or spring variant in the gamesetup, refs #4954.
Add Hannibal_Barca's biome descriptions on Gulf Of Bothnia and Persian Highlands.

comment:14 by elexis, 6 years ago

In 21098:

Fix wrong biome JS function name following rP21010, refs #4954.

Based on patch by: (-_-)

comment:15 by elexis, 6 years ago

In 21333:

Fix bloom on Persian Highlands following rP21090, refs #4766, #4954.

comment:16 by elexis, 6 years ago

In 21506:

Biome specific mappreview support and previews for Aethiopia and Gulf Of Bothnia, fixes #4962, refs #4954.

comment:17 by elexis, 6 years ago

In 21512:

Allow biome JSON files to contain null values, refs #4954.

Needed by the dry biome on Aethiopia, refs rP21504 / D1359.
Reported By: Angen

Note: See TracTickets for help on using tickets.