map_rivers.json 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574
  1. {
  2. "name": "River Crossroads",
  3. "description": "Strategic river crossings with bridges and neutral barracks to capture",
  4. "coordSystem": "grid",
  5. "maxTroopsPerPlayer": 2000,
  6. "grid": {
  7. "width": 120,
  8. "height": 120,
  9. "tileSize": 1.0
  10. },
  11. "biome": {
  12. "groundType": "soil_fertile",
  13. "seed": 42,
  14. "patchDensity": 3.5,
  15. "patchJitter": 0.9,
  16. "bladeHeight": [
  17. 0.6,
  18. 1.4
  19. ],
  20. "bladeWidth": [
  21. 0.03,
  22. 0.06
  23. ],
  24. "swayStrength": 0.3,
  25. "swaySpeed": 1.4,
  26. "heightNoise": [
  27. 0.2,
  28. 0.06
  29. ],
  30. "grassPrimary": [
  31. 0.3,
  32. 0.6,
  33. 0.28
  34. ],
  35. "grassSecondary": [
  36. 0.44,
  37. 0.7,
  38. 0.32
  39. ],
  40. "grassDry": [
  41. 0.6,
  42. 0.52,
  43. 0.38
  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.5,
  61. "groundIrregularityEnabled": true,
  62. "irregularityScale": 0.15,
  63. "irregularityAmplitude": 0.07
  64. },
  65. "camera": {
  66. "center": [
  67. 60,
  68. 0,
  69. 60
  70. ],
  71. "distance": 25.0,
  72. "tiltDeg": 45.0,
  73. "yaw": 225.0,
  74. "fovY": 45.0,
  75. "near": 1.0,
  76. "far": 300.0
  77. },
  78. "spawns": [
  79. {
  80. "type": "barracks",
  81. "x": 30,
  82. "z": 30,
  83. "playerId": 1,
  84. "maxPopulation": 150,
  85. "nation": "carthage"
  86. },
  87. {
  88. "type": "archer",
  89. "x": 28,
  90. "z": 32,
  91. "playerId": 1
  92. },
  93. {
  94. "type": "swordsman",
  95. "x": 32,
  96. "z": 28,
  97. "playerId": 1
  98. },
  99. {
  100. "type": "horse_swordsman",
  101. "x": 30,
  102. "z": 35,
  103. "playerId": 1
  104. },
  105. {
  106. "type": "horse_archer",
  107. "x": 30,
  108. "z": 35,
  109. "playerId": 1
  110. },
  111. {
  112. "type": "horse_spearman",
  113. "x": 30,
  114. "z": 35,
  115. "playerId": 1
  116. },
  117. {
  118. "type": "spearman",
  119. "x": 35,
  120. "z": 30,
  121. "playerId": 1
  122. },
  123. {
  124. "type": "healer",
  125. "x": 33,
  126. "z": 27,
  127. "playerId": 1
  128. },
  129. {
  130. "type": "catapult",
  131. "x": 30,
  132. "z": 42,
  133. "playerId": 1
  134. },
  135. {
  136. "type": "archer",
  137. "x": 44,
  138. "z": 29,
  139. "playerId": 2
  140. },
  141. {
  142. "type": "spearman",
  143. "x": 44,
  144. "z": 31,
  145. "playerId": 2
  146. },
  147. {
  148. "type": "spearman",
  149. "x": 44,
  150. "z": 32,
  151. "playerId": 2
  152. },
  153. {
  154. "type": "swordsman",
  155. "x": 46,
  156. "z": 30,
  157. "playerId": 2
  158. },
  159. {
  160. "type": "swordsman",
  161. "x": 46,
  162. "z": 31,
  163. "playerId": 2
  164. },
  165. {
  166. "type": "barracks",
  167. "x": 90,
  168. "z": 90,
  169. "playerId": 2,
  170. "maxPopulation": 150,
  171. "nation": "carthage"
  172. },
  173. {
  174. "type": "archer",
  175. "x": 88,
  176. "z": 92,
  177. "playerId": 2
  178. },
  179. {
  180. "type": "archer",
  181. "x": 92,
  182. "z": 88,
  183. "playerId": 2
  184. },
  185. {
  186. "type": "horse_swordsman",
  187. "x": 90,
  188. "z": 85,
  189. "playerId": 2
  190. },
  191. {
  192. "type": "spearman",
  193. "x": 85,
  194. "z": 90,
  195. "playerId": 2
  196. },
  197. {
  198. "type": "healer",
  199. "x": 87,
  200. "z": 93,
  201. "playerId": 2
  202. },
  203. {
  204. "type": "catapult",
  205. "x": 93,
  206. "z": 86,
  207. "playerId": 2
  208. },
  209. {
  210. "type": "barracks",
  211. "x": 60,
  212. "z": 60,
  213. "maxPopulation": 180,
  214. "nation": "carthage"
  215. },
  216. {
  217. "type": "barracks",
  218. "x": 30,
  219. "z": 90,
  220. "maxPopulation": 150,
  221. "nation": "carthage"
  222. },
  223. {
  224. "type": "barracks",
  225. "x": 90,
  226. "z": 30,
  227. "maxPopulation": 150,
  228. "nation": "carthage"
  229. }
  230. ],
  231. "firecamps": [
  232. {
  233. "x": 23,
  234. "z": 28,
  235. "intensity": 1.0,
  236. "radius": 3.0
  237. },
  238. {
  239. "x": 37,
  240. "z": 23,
  241. "intensity": 1.1,
  242. "radius": 3.2
  243. },
  244. {
  245. "x": 83,
  246. "z": 97,
  247. "intensity": 0.9,
  248. "radius": 2.8
  249. },
  250. {
  251. "x": 97,
  252. "z": 83,
  253. "intensity": 1.0,
  254. "radius": 3.0
  255. },
  256. {
  257. "x": 23,
  258. "z": 97,
  259. "intensity": 1.0,
  260. "radius": 3.0
  261. },
  262. {
  263. "x": 97,
  264. "z": 23,
  265. "intensity": 1.05,
  266. "radius": 3.2
  267. },
  268. {
  269. "x": 50,
  270. "z": 50,
  271. "intensity": 0.85,
  272. "radius": 2.5
  273. },
  274. {
  275. "x": 70,
  276. "z": 70,
  277. "intensity": 0.9,
  278. "radius": 2.7
  279. }
  280. ],
  281. "terrain": [
  282. {
  283. "type": "hill",
  284. "x": 30,
  285. "z": 60,
  286. "width": 12,
  287. "depth": 8,
  288. "height": 3.0,
  289. "rotation": 0,
  290. "entrances": [
  291. {
  292. "x": 30,
  293. "z": 52
  294. },
  295. {
  296. "x": 30,
  297. "z": 68
  298. }
  299. ]
  300. },
  301. {
  302. "type": "hill",
  303. "x": 90,
  304. "z": 60,
  305. "width": 12,
  306. "depth": 8,
  307. "height": 3.0,
  308. "rotation": 180,
  309. "entrances": [
  310. {
  311. "x": 90,
  312. "z": 52
  313. },
  314. {
  315. "x": 90,
  316. "z": 68
  317. }
  318. ]
  319. },
  320. {
  321. "type": "hill",
  322. "x": 60,
  323. "z": 30,
  324. "width": 8,
  325. "depth": 12,
  326. "height": 2.8,
  327. "rotation": 90,
  328. "entrances": [
  329. {
  330. "x": 52,
  331. "z": 30
  332. },
  333. {
  334. "x": 68,
  335. "z": 30
  336. }
  337. ]
  338. },
  339. {
  340. "type": "hill",
  341. "x": 60,
  342. "z": 90,
  343. "width": 8,
  344. "depth": 12,
  345. "height": 2.8,
  346. "rotation": 270,
  347. "entrances": [
  348. {
  349. "x": 52,
  350. "z": 90
  351. },
  352. {
  353. "x": 68,
  354. "z": 90
  355. }
  356. ]
  357. }
  358. ],
  359. "rivers": [
  360. {
  361. "start": [
  362. 10,
  363. 10
  364. ],
  365. "end": [
  366. 10,
  367. 110
  368. ],
  369. "width": 3.5
  370. },
  371. {
  372. "start": [
  373. 110,
  374. 10
  375. ],
  376. "end": [
  377. 110,
  378. 110
  379. ],
  380. "width": 3.5
  381. },
  382. {
  383. "start": [
  384. 10,
  385. 60
  386. ],
  387. "end": [
  388. 110,
  389. 60
  390. ],
  391. "width": 3.0
  392. },
  393. {
  394. "start": [
  395. 60,
  396. 10
  397. ],
  398. "end": [
  399. 60,
  400. 110
  401. ],
  402. "width": 3.0
  403. }
  404. ],
  405. "bridges": [
  406. {
  407. "start": [
  408. 8,
  409. 30
  410. ],
  411. "end": [
  412. 12,
  413. 30
  414. ],
  415. "width": 4.0,
  416. "height": 0.5
  417. },
  418. {
  419. "start": [
  420. 8,
  421. 60
  422. ],
  423. "end": [
  424. 12,
  425. 60
  426. ],
  427. "width": 4.5,
  428. "height": 0.5
  429. },
  430. {
  431. "start": [
  432. 8,
  433. 90
  434. ],
  435. "end": [
  436. 12,
  437. 90
  438. ],
  439. "width": 4.0,
  440. "height": 0.5
  441. },
  442. {
  443. "start": [
  444. 58,
  445. 60
  446. ],
  447. "end": [
  448. 62,
  449. 60
  450. ],
  451. "width": 4.5,
  452. "height": 0.5
  453. },
  454. {
  455. "start": [
  456. 108,
  457. 30
  458. ],
  459. "end": [
  460. 112,
  461. 30
  462. ],
  463. "width": 4.0,
  464. "height": 0.5
  465. },
  466. {
  467. "start": [
  468. 108,
  469. 60
  470. ],
  471. "end": [
  472. 112,
  473. 60
  474. ],
  475. "width": 4.5,
  476. "height": 0.5
  477. },
  478. {
  479. "start": [
  480. 108,
  481. 90
  482. ],
  483. "end": [
  484. 112,
  485. 90
  486. ],
  487. "width": 4.0,
  488. "height": 0.5
  489. },
  490. {
  491. "start": [
  492. 30,
  493. 58
  494. ],
  495. "end": [
  496. 30,
  497. 62
  498. ],
  499. "width": 4.0,
  500. "height": 0.5
  501. },
  502. {
  503. "start": [
  504. 60,
  505. 58
  506. ],
  507. "end": [
  508. 60,
  509. 62
  510. ],
  511. "width": 4.5,
  512. "height": 0.5
  513. },
  514. {
  515. "start": [
  516. 90,
  517. 58
  518. ],
  519. "end": [
  520. 90,
  521. 62
  522. ],
  523. "width": 4.0,
  524. "height": 0.5
  525. }
  526. ],
  527. "roads": [
  528. {
  529. "start": [15, 30],
  530. "end": [105, 30],
  531. "width": 3.0,
  532. "style": "default"
  533. },
  534. {
  535. "start": [15, 90],
  536. "end": [105, 90],
  537. "width": 3.0,
  538. "style": "default"
  539. },
  540. {
  541. "start": [30, 15],
  542. "end": [30, 105],
  543. "width": 3.0,
  544. "style": "default"
  545. },
  546. {
  547. "start": [90, 15],
  548. "end": [90, 105],
  549. "width": 3.0,
  550. "style": "default"
  551. },
  552. {
  553. "start": [30, 30],
  554. "end": [90, 90],
  555. "width": 2.5,
  556. "style": "default"
  557. },
  558. {
  559. "start": [30, 90],
  560. "end": [90, 30],
  561. "width": 2.5,
  562. "style": "default"
  563. }
  564. ],
  565. "victory": {
  566. "type": "elimination",
  567. "key_structures": [
  568. "barracks"
  569. ],
  570. "defeat_conditions": [
  571. "no_key_structures"
  572. ]
  573. }
  574. }