map_forest.json 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  1. {
  2. "name": "Forest Battlefield",
  3. "description": "A diverse forest battlefield with varied unit types and strategic terrain features",
  4. "coordSystem": "grid",
  5. "maxTroopsPerPlayer": 2000,
  6. "grid": {
  7. "width": 250,
  8. "height": 250,
  9. "tileSize": 1.0
  10. },
  11. "biome": {
  12. "groundType": "forest_mud",
  13. "seed": 12345,
  14. "patchDensity": 3.2,
  15. "patchJitter": 0.85,
  16. "bladeHeight": [
  17. 0.6,
  18. 1.45
  19. ],
  20. "bladeWidth": [
  21. 0.028,
  22. 0.058
  23. ],
  24. "swayStrength": 0.28,
  25. "swaySpeed": 1.35,
  26. "heightNoise": [
  27. 0.22,
  28. 0.07
  29. ],
  30. "grassPrimary": [
  31. 0.28,
  32. 0.6,
  33. 0.32
  34. ],
  35. "grassSecondary": [
  36. 0.42,
  37. 0.72,
  38. 0.34
  39. ],
  40. "grassDry": [
  41. 0.58,
  42. 0.5,
  43. 0.36
  44. ],
  45. "soilColor": [
  46. 0.28,
  47. 0.24,
  48. 0.18
  49. ],
  50. "rockLow": [
  51. 0.5,
  52. 0.48,
  53. 0.46
  54. ],
  55. "rockHigh": [
  56. 0.68,
  57. 0.69,
  58. 0.73
  59. ],
  60. "plantDensity": 0.65,
  61. "groundIrregularityEnabled": true,
  62. "irregularityScale": 0.12,
  63. "irregularityAmplitude": 0.06
  64. },
  65. "camera": {
  66. "center": [
  67. 125,
  68. 0,
  69. 125
  70. ],
  71. "distance": 35.0,
  72. "tiltDeg": 45.0,
  73. "yaw": 225.0,
  74. "fovY": 45.0,
  75. "near": 1.0,
  76. "far": 500.0
  77. },
  78. "spawns": [
  79. {
  80. "type": "barracks",
  81. "x": 60,
  82. "z": 60,
  83. "playerId": 1,
  84. "maxPopulation": 200,
  85. "nation": "roman_republic"
  86. },
  87. {
  88. "type": "archer",
  89. "x": 58,
  90. "z": 62,
  91. "playerId": 1
  92. },
  93. {
  94. "type": "archer",
  95. "x": 62,
  96. "z": 58,
  97. "playerId": 1
  98. },
  99. {
  100. "type": "swordsman",
  101. "x": 55,
  102. "z": 60,
  103. "playerId": 1
  104. },
  105. {
  106. "type": "swordsman",
  107. "x": 60,
  108. "z": 55,
  109. "playerId": 1
  110. },
  111. {
  112. "type": "spearman",
  113. "x": 58,
  114. "z": 58,
  115. "playerId": 1
  116. },
  117. {
  118. "type": "spearman",
  119. "x": 62,
  120. "z": 62,
  121. "playerId": 1
  122. },
  123. {
  124. "type": "barracks",
  125. "x": 190,
  126. "z": 190,
  127. "playerId": 2,
  128. "maxPopulation": 200,
  129. "nation": "roman_republic"
  130. },
  131. {
  132. "type": "archer",
  133. "x": 188,
  134. "z": 192,
  135. "playerId": 2
  136. },
  137. {
  138. "type": "archer",
  139. "x": 192,
  140. "z": 188,
  141. "playerId": 2
  142. },
  143. {
  144. "type": "horse_swordsman",
  145. "x": 185,
  146. "z": 190,
  147. "playerId": 2
  148. },
  149. {
  150. "type": "horse_swordsman",
  151. "x": 190,
  152. "z": 185,
  153. "playerId": 2
  154. },
  155. {
  156. "type": "spearman",
  157. "x": 188,
  158. "z": 188,
  159. "playerId": 2
  160. },
  161. {
  162. "type": "spearman",
  163. "x": 192,
  164. "z": 192,
  165. "playerId": 2
  166. },
  167. {
  168. "type": "barracks",
  169. "x": 125,
  170. "z": 125,
  171. "maxPopulation": 150,
  172. "nation": "roman_republic"
  173. },
  174. {
  175. "type": "barracks",
  176. "x": 60,
  177. "z": 190,
  178. "playerId": 3,
  179. "maxPopulation": 150,
  180. "nation": "roman_republic"
  181. },
  182. {
  183. "type": "swordsman",
  184. "x": 58,
  185. "z": 192,
  186. "playerId": 3
  187. },
  188. {
  189. "type": "swordsman",
  190. "x": 62,
  191. "z": 188,
  192. "playerId": 3
  193. },
  194. {
  195. "type": "archer",
  196. "x": 55,
  197. "z": 190,
  198. "playerId": 3
  199. },
  200. {
  201. "type": "barracks",
  202. "x": 190,
  203. "z": 60,
  204. "playerId": 4,
  205. "maxPopulation": 150,
  206. "nation": "roman_republic"
  207. },
  208. {
  209. "type": "horse_swordsman",
  210. "x": 188,
  211. "z": 62,
  212. "playerId": 4
  213. },
  214. {
  215. "type": "horse_swordsman",
  216. "x": 192,
  217. "z": 58,
  218. "playerId": 4
  219. },
  220. {
  221. "type": "spearman",
  222. "x": 190,
  223. "z": 55,
  224. "playerId": 4
  225. }
  226. ],
  227. "firecamps": [
  228. {
  229. "x": 54,
  230. "z": 65,
  231. "intensity": 1.0,
  232. "radius": 3.0
  233. },
  234. {
  235. "x": 66,
  236. "z": 54,
  237. "intensity": 1.1,
  238. "radius": 3.2
  239. },
  240. {
  241. "x": 184,
  242. "z": 195,
  243. "intensity": 0.9,
  244. "radius": 2.8
  245. },
  246. {
  247. "x": 196,
  248. "z": 184,
  249. "intensity": 1.0,
  250. "radius": 3.0
  251. },
  252. {
  253. "x": 120,
  254. "z": 130,
  255. "intensity": 1.2,
  256. "radius": 3.5
  257. },
  258. {
  259. "x": 54,
  260. "z": 195,
  261. "intensity": 1.0,
  262. "radius": 3.0
  263. },
  264. {
  265. "x": 66,
  266. "z": 184,
  267. "intensity": 0.95,
  268. "radius": 3.1
  269. },
  270. {
  271. "x": 184,
  272. "z": 54,
  273. "intensity": 1.05,
  274. "radius": 3.2
  275. },
  276. {
  277. "x": 196,
  278. "z": 66,
  279. "intensity": 1.0,
  280. "radius": 3.0
  281. },
  282. {
  283. "x": 80,
  284. "z": 80,
  285. "intensity": 0.85,
  286. "radius": 2.5
  287. },
  288. {
  289. "x": 170,
  290. "z": 170,
  291. "intensity": 0.9,
  292. "radius": 2.7
  293. },
  294. {
  295. "x": 80,
  296. "z": 170,
  297. "intensity": 0.88,
  298. "radius": 2.6
  299. },
  300. {
  301. "x": 170,
  302. "z": 80,
  303. "intensity": 0.92,
  304. "radius": 2.8
  305. }
  306. ],
  307. "terrain": [
  308. {
  309. "type": "hill",
  310. "x": 125,
  311. "z": 125,
  312. "radius": 12,
  313. "height": 3.5,
  314. "entrances": [
  315. {
  316. "x": 125,
  317. "z": 113
  318. },
  319. {
  320. "x": 125,
  321. "z": 137
  322. },
  323. {
  324. "x": 113,
  325. "z": 125
  326. },
  327. {
  328. "x": 137,
  329. "z": 125
  330. }
  331. ]
  332. },
  333. {
  334. "type": "hill",
  335. "x": 60,
  336. "z": 125,
  337. "width": 15,
  338. "depth": 10,
  339. "height": 3.0,
  340. "rotation": 0,
  341. "entrances": [
  342. {
  343. "x": 60,
  344. "z": 115
  345. },
  346. {
  347. "x": 60,
  348. "z": 135
  349. }
  350. ]
  351. },
  352. {
  353. "type": "hill",
  354. "x": 190,
  355. "z": 125,
  356. "width": 15,
  357. "depth": 10,
  358. "height": 3.0,
  359. "rotation": 180,
  360. "entrances": [
  361. {
  362. "x": 190,
  363. "z": 115
  364. },
  365. {
  366. "x": 190,
  367. "z": 135
  368. }
  369. ]
  370. },
  371. {
  372. "type": "hill",
  373. "x": 125,
  374. "z": 60,
  375. "width": 10,
  376. "depth": 15,
  377. "height": 2.8,
  378. "rotation": 90,
  379. "entrances": [
  380. {
  381. "x": 115,
  382. "z": 60
  383. },
  384. {
  385. "x": 135,
  386. "z": 60
  387. }
  388. ]
  389. },
  390. {
  391. "type": "hill",
  392. "x": 125,
  393. "z": 190,
  394. "width": 10,
  395. "depth": 15,
  396. "height": 2.8,
  397. "rotation": 270,
  398. "entrances": [
  399. {
  400. "x": 115,
  401. "z": 190
  402. },
  403. {
  404. "x": 135,
  405. "z": 190
  406. }
  407. ]
  408. }
  409. ],
  410. "victory": {
  411. "type": "elimination",
  412. "key_structures": [
  413. "barracks"
  414. ],
  415. "defeat_conditions": [
  416. "no_key_structures"
  417. ]
  418. },
  419. "rain": {
  420. "enabled": true,
  421. "cycleDuration": 300.0,
  422. "activeDuration": 60.0,
  423. "intensity": 0.5,
  424. "fadeDuration": 5.0
  425. }
  426. }