Я давно задумывался, что хорошо бы играть на картах, отображающих реальные участки местности и выбирать эти места самому. В итоге, я научился это делать из-за своей природной лени, которая, как известно, двигатель прогресса
Дело в том, что привык делать большие карты для игры вручную и сегодня, успешно закончив свою сборку с интересующими меня патчами и загрузив её графикой, я было приступил к кропотливому многодневному картостроению, когда вспомнил, что на тт-форуме я вроде видел интересующую меня тему.
How To: Generate Superb Heightmaps - вот она. Искренний респект автору (MGSteve) за подробные объяснения, позволившие мне разобраться и добавившие интереса к игре (теперь буду маньячить с картой Земли, отыскивая игровые участки
) В принципе, на этом можно было бы и закончить, но зная, что в нашем коммюнити у многих нелады с английским, я решил попробовать объяснить то что понял, здесь. Зуб даю, многие подумывали " - а хорошо бы сыграть на этой местности, или на этой". Выйдет наверное длинно (а сочинять мне еще дольше), но сам с нуля я не спеша построил карту часа за полтора, еще и сёрфя по инету в это время. Ну, сначала я замахнулся на Австралию, но быстро понял, что для первого раза это будет уж очень долго и взял что попроще из двух кусков - Тасманию. Готовую карту 2048х2048 запощу ниже (а классно получилось кстати), а пока...
Сразу скажу, вам надо будет иметь довольно много места на диске, если вы захотите создать карту из множества кусков ну и инет более-менее приличный. Для того, что я сделал (2 куска), мне траффика почти не понадобилось (метров 15 и 50 на прогу одну), но распаковываются они обалдеть как, так что выбирайте для программы диск, где у вас места побольше.
Вам надо:
1.
Google Earth - ну, это у меня было.
2.
MicroDem - собственно, программа для конвертации, редактирования, склейки Гугловских участков.
3.
SRTM Overlay for GoogleEarth - вот на эту кнопку вы должны нажать уже после установки Google Earth и лучше не сохранять, а запустить сразу.
4. Какой либо графический редактор, для конвертации TIF в PNG файл (до лампочки какой, их хренова тьма (я использовал CompuPic Pro, автор не мудрствуя лукаво предлагает Photoshop
) - это сами. Ну не настолько ж вы тормоза, чтоб у вас в этом месте затык был.
5. Наверное, машинка более менее приличная. "Наверное" - потому что автор об этом упоминает, а на моём 9450 с 4 гигами памяти всё занимало секунды буквально.
Итак. Когда вы установите GoogleEarth, нажмите на ссылку 3 и вам откроет программу с небольшими прибамбасами - слева на панели будет отмечено галкой SRTM3, чего нам и надо. Вы заметите, что карта разбита на квадраты с зелеными точками посередине. Это собственно участки местности, которые надо будет загрузить и переделать. Но для начала установите MicroDem на диск, где места поболее (просто букву диска поменяйте), потом на всякий случай проапдейтите её, запустите - скорее всего поругается на отсутствие необходимых библиотек - загрузите библиотеки и запустите программу еще раз. Можно приступать непосредственно к картостроению.
В GoogleEarth выберите местность, которая вам нужна и загрузите информацию о стольких квадратах, сколько охватывают интересующий вас участок (я на пробу взял Тасманию - 2 участка, но фотки буду приводить из оригинального поста, ибо в лом скриншотить и заливать свое, думаю не принципиально).
Для этого, нажмите на зеленую пимпочку посередине квадрата. Вам откроет дополнительное окно со списком серверов, откудо можно загружать инфу (ниже надписи
Download the data for tile : srtm_66_21 к примеру). Я прямо в первый UK ftp тыкал и оттуда с приличной скоростью всё скачивалось. Заливать архивы нужно сюда: D:\mapdata\DEMs\tasmania - в моем случае, т.е. вместо папки "\tasmania" сделайте там свою, какую хотите. Архивы типа srtm_66_21.zip содержат необходимые участки местности в формате .asc, которые надо извлечь в ту-же папку. Тут был сюрприз - при размере архива в 10 мегабайт из него вылезло файло размером аж 200 мег
и из второго примерно так же (для этого место и нужно).
После загрузки и распаковки открывайте MicroDem. File -> Open - > Open DEM и открываете первый (если у вас несколько) ASC файл в той папке, куда загружали. Прога откроет окно с файлом и вам надо сделать на первый раз пару манипуляций, она их запомнит, повторять с каждым участком не нужно. На карте правый клик мыши > 'Legends / Marginalia' и снимите галки со 'Scale Bar' и 'Elevations'. Нажмите ОК (вот не надо на redraw map соглашаться). Далее на верхней панели Raster GIS->Thin DEM (Decimate) и меняете значение с 2 на 3 (вот это вроде надо на каждой карте делать). Когда переделает малость, File->Save DEM->ASCII Arc Grid. Сохраняйте в том-же месте, где исходные asc., так удобнее (кликните на файл, который вы открыли, добавьте что нибудь и уберите расширение в строке имени файла. Например, Z_65_21.ASC исходный я сохранил, как Z_65_21_test.ASC - размер сохраненного файла уменьшается раз в 10, не пугайтесь).
Сохранили? Атлична, теперь закройте оба окна с фрагментами и повторите этот-же процесс со следующим нужным вам участком карты, ну, сколько вам надо там. А потом, само собой, сохраненные файлы надо объединить.
File->Data Manipulation - откроется новое окно - > Merge->DEMs->DEMs -- pick multiple - > и выбираете ВСЕ сохраненные вами файлы (_test.ASC в моем случае), Ctrl зажимаете и тыкаете по порядку - > Открыть - > ждете, пока прога прочитает все отмеченные вами файлы - > выскочит окно, где будет предложено ввести имя сохраняемого объединенного файла, сочиняете и сохраняете в формате .DEM,
после чего закрываете окно Data Manipulation.
File -> Open - > Open DEM и открываете не знаю как обозванный вами объединенный файл в формате .DEM, будет что-то навроде этого:
Желаем наверняка обкорнать, не так ли? 8-я кнопка слева (subset & zoom), рамкой обводите интересующий вас участок (впрочем, если не хотите, можете и не обрезать ничего, я лично вырезал по форме как можно ближе к квадрату).
Обращаю ваше внимание, что вырезать участок можно ТОЛЬКО начиная с верхнего левого угла изображения, т.е. прикидывайте, как плясать сразу. С других углов будет ошибку выдавать. Но, если ошибетесь, не беда - справа от нашей кнопки кнопка отмены, а слева возврат изображения в полный формат после этой самой отмены.
Вырезав, как хочется, надо перевести изображение в черно-белый формат, грубо говоря. Правый клик - > 'Display Parameter' - > 'Elevation' -> 'Gray scale' -> жмете кнопку "z Range". Я оставил цифры по дефолту, наверное, так и надо на первый раз. Это параметры отображения высот, как я понимаю. Т.е. если результатом будет чрезмерное "утопление" готовой карты или наоборот, то следует потыркать эти цифры.
<
Update: по поводу перевода в двухцветную шкалу.
Совершенно точно уже, что по дефолтным настройкам "z Range" изображение выходит таким, что с трудом отличаются уровень 1 земли и море, в результате большие участки могут оказаться затопленными в игре. Тут два пути: во первых, можно просто минимальное значение "z Range" выставить -200 и также поднять максимум - уже изображение будет восприниматься игрой почти нормально. Но я нашел в оригинальной ветке
пост, где все инструкции и важные дополнения выложены в
Creating heightmaps.doc Поясню, что там особенно важно.
В OpenTTD 15 высот и каждой высоте соответствует свое значение цвета (R, G, B). Для цветов по высотам оно одинаковое:
LVL R G B
1 30 ||30 ||30
2 40 ||40 ||40
3 50 ||50 ||50
4 70 ||70 ||70
5 90 ||90 ||90
6 110 ||110||110
7 120 ||120||120
8 140 ||140||140
9 150 ||150||150
10 170 ||170||170
11 190 ||190||190
12 200 ||200||200
13 220 ||220||220
14 230 ||230||230
15 250 ||250||250
Надо просто перевести карту в черно-белое изображение в соответствии с этой таблицей. Правый клик - > 'Display Parameter' - > 'Elevation' и выбираете “Automatic chloropleth palette” -> "Green to Magenta, 16 steps" -> Define. Справа откроется таблица, в которой и нужно ввести значения для каждого цвета сверху вниз, т.е. 30 самая верхняя строка. Обратите внимание, что все строки не отображаются, 2 скрыты - отматывайте колесом мыши просто. Введите в таблицу для каждого цвета 16 значений, т.е. повторите 15-ю дважды (250 две строки будет). Когда заполните всё, жмите ОК и карта будет отрисована для масштабирования и сохранения в наиболее правильном варианте для игры.
Теперь немного отсебятины, которой нет в доках. Дело в том, что введенные вами настройки таблицы MicroDem сохраняет во временной папке и они испаряются при выходе из программы, т.е. каждый раз после запуска надо колупаться заново. Ага, ща, делать больше нечего. Как перекрасит карту, тут-же откройте -> C:\Documents and Settings\ZLZ\Local Settings\Temp\petmar_trilobites (в моем случае), копируйте куда нибудь colors1.dbf и при желании переименовываете. Я обозвал colorsOttd.dbf, забросил в D:\mapdata\colorsmap и теперь при перекрашиании карты просто тыкаю "Colors from table -> Elevation table - > выбираю свой файл - > OK" и все как надо.
>
Но на первый раз, если хотите, попробуйте по дефолту (вы всегда сможете переделать, если не понравится), жмите ОК два раза и будет так:
И теперь жмем кнопку 12 слева (No zoom (1:1 view)), а потом сохраняем почти готовую карту в TIF формате: File->Save Map as Image->GeoTIFF, screen scale (grayscale) в папку D:\mapdata\IMAGES
С новой прогой всё.
Собственно далее необходимо переконвертить TIF файл в PNG графическим редактором, но сначало обязательно подгоните размер к используемым OpenTTD (2048x2048, 1024x512 и т.д) Чтобы никаких там 2048х1999 или 1021х512 не было! Результатом должен стать файл, четко по размерам, которые можно выставить в игре! (да оно без проблем все делается вопщем-то). Как вырезали, сохраняете в .png формате ну и готовую уже карту запихиваете в игру (\scenario\heightmap):
И всё, загружаете её в редакторе, контролируя правильные размеры наверное или сразу "играть карту высот".
Готово
Уф. Вы не пугайтесь, реально сделал всё в первый раз за час с небольшим, вручную хрен бы такую мапу сделал, очень долго. Я больше замонался этот талмуд строчить. Так что дерзайте и будет вам счасте, если кто сподобится все-таки, делиться не забывайте
Ну и для примера, вот вам
Тасмания в размере 2048 х 2048, очень даже ничего получилось.
Скрин (не забывайте, что карта здоровенная)
p.s. Пара замечаний.
Во первых, все-таки мне кажется, что по дефолту местность чуть утоплена. Оно может даже и интереснее (рек побольше), просто я заметил сейчас, когда лепил Испанию, что Майорку залило немного (острова меньше стали).
Во вторых надо учитывать, что можно как из нескольких кусков слепить карту, так и увеличить фрагмент квадрата (к примеру, группу мелких островов) до нужного игрового размера.
p.p.s. Нашел, как привести реальные высоты карты к высотам OTTD. Выше см. исправления.