[Сначала несколько слов благодарности команде RWG-team.
Даже спустя надцать лет Протива остаётся лучшей, а ваша команда создала лучший мод для неё.
В игре - главное играбельность и атмосфера. 3D и прочая нужны тому, кто без фантазии.
Всё зависит от играющего. Кто видит только передвижение нелепых спрайтов,
а кто воссоздаёт в голове обстановку и переживает в себе людские чувства.
Вижу, что для многих здесь игра - тяжёлая и увлекательная работа)
А что посетителей мало - так истинных ценителей много не бывает.
Уж поверьте старому игроману. П3 - единственная игра, которую я купил за деньги, как жест признания.
Для человека, внедрявшего первые ПК и осваивавшего ассемблер без доков, покупать проги - жёсткое нарушение принципов.
Так что, можете представить, каких мук мне стоил тот жест)
В инете стараюсь общаться мало, это мой первый пост за надцать лет в форумы Противы.
Все эти годы боялся касаться темы разработки, т.к. "в мои годы должно быть стыдно"
+ может сожрать кучу времени. Но не уберёгся и накрыло. Загорелось сделать карту, а там, глядишь, и миссию.
Тем более, что картография, в т.ч. электронная - тоже мои увлечения и работа некоторой части жизни.]
Ближе к теме. Есть хорошие карты, но мало больших. Почему хочется большой?
Там может незамеченным проскочить противник. Иначе примитивный AI не даёт контуперу шанса.
А какой интерес играть со слабым противником?
Понятно, почему так мало больших карт. Карты - это искусство.
Даже для игровой карты нужно быть знатоком как минимум географии и математики.
Плюс колоссальный труд. Поэтому ставим задачу так: облегчить создание большой, но в то же время
не "пустой" карты, второстепенные области которой заполнены правдоподобно.
Первые варианты - нарезать кусков у коллег. Да, хорошо учиться на примерах
лучших участков, но проблемы не решает.
Тогда приходит на ум воспользоваться существующими картами.
Скажем, взять лист топографической карты и засунуть в игру, а потом гордо заявить о достоверности)
Здесь - другая проблема. Даже при понятной несоразмерности деталей игры
и масштаба карты - в игре так и должно быть - возможности Противы ограничены.
Самая крупная 512x512 подходит максимум для карты-полукилометровки.
Т.е., можно попробовать впихнуть в игровое поле лист карты масштаба
1:25 000, 1:50 000. А порой хочется разыграть армейскую операцию
в пространстве 100x100 км. Но игровое поле не вместит.
Что остаётся? Как всегда, делать ручками, или?
Потратив вечер, проверил практически.
Применил научный метод тыка (доков по форматам не нашёл - буду признателен, если кто предоставит).
Карта, скажем так, подстилающей поверхности, хранится в файле RHOMBS (ромбики - понятно, почему).
Каждый робик игрового поля кодируется 8-ю байтами.
Нужный байт находится быстро, что в остальных - пока неинтересно.
Нужный - в смысле тот, который в редакторе определяет класс "земля": трава, песок, вода...
После этого наскоро набросал прогу, чтобы картинку в простейшем графическом формате BMP перекодировать в RHOMBS. (Давно отошёл от серьёзного
программирования, но частенько для себя клепаю подсобные примочки. При этом пользуюсь убогим бейсиком, из-за "шаговой доступности". Если
пользуетесь мс-офисом - excel или word - значит, это УГ всегда под рукой).
Результатов три: 1 плохой и 2 хороших.
1. Плохо - подтвердились соображения насчёт масштаба.
Пытаться впихнуть листы 1:100 000 (2-х километровки) - напрасный труд, детализация не соответствует, а многочисленные надписи "размывают" контуры.
В то же время, масштабы крупнее - более-менее рабочие (можно пользоваться современными от ГИС - там по минимуму надписей). Старые карты
военного времени идут тяжко - обилие ручной работы, узкая палитра цветов. В любом случае, получаем только контуры, которые всё равно придётся
дорабатывать.
2. Хорошо - можно легко и очень быстро перенести любой рисунок в игровое поле. Например, самому нарисовать линии рельефа, либо взять за основу ту
же топографическую карту, разумно её упростив.
3. Хорошо - открылось как побочный эффект.
Заглянув в файл OBJECTS (объекты), видим, что он крайне прост.
Текстовые строки с указанием класса объекта, координат на игровом поле, номера объекта в классе, степени "целости" и некого стандартного для класса
атрибута.
Заполнять этот файл можно одновременно с заполнением игрового поля. И если расстановка зданий - ручной труд, то, скажем, засеять обширные участки
деревьями (а для карты 512x512 это многие тысячи деревьев) можно в доли секунды. Можно даже заготовить рисунки карт с зелеными зонами разных
оттенков, а затем каждый оттенок засеять деревьями из разных наборов ("пород"). Даже при простейшем генераторе случайного расположения объектов
результат намного лучше и реальней, чем при их массовом "намазывании" мышкой вручную.
Сказанное верно и для прочих объектов - камней и т.д. Главное - чувство меры.
Надеюсь, что частичная автоматизация рутинных работ при создании карты ясна.
Если мой пост описывает известные вещи, либо, наоборот, кому-то интересен, сообщите прямо здесь.
Пояснения, картинки и пример проги могу выложить.
__________
Что такое координаты на игровом поле?
Поле имеет форму ромба со стороной до 512, кратной 128.
Каждый ромб имеет внутренние координаты 32 x 32.
Т.е., теоресиськи можно в каждый ромб высадить 1024 дерева, или всадить 1024 воронки.
Кроме того, ромб разбит на 4 части (по 8x8) - целый ромб вмещает крупную единицу/юнит, например, танк, а четвертинка - малую единицу/юнит типа
пехотинца (это видно в редакторе при нажатии F3).
Автоматическое создание основы карты из любого изображения
Модераторы: zarathustra, kit
-
- Красноармеец
- Сообщения: 3
- Зарегистрирован: 24 июн 2017, 21:30
-
- Лейтенант
- Сообщения: 2285
- Зарегистрирован: 12 янв 2012, 05:22
- Откуда: МВО
- Контактная информация:
Re: Автоматическое создание основы карты из любого изображен
Идея, безусловно, интересная.
Припоминаю, было что-то подобное (правда, я не пользовался), скорее всего есть в архивах, попробую найти.
РС Возможно, еще тут найдется что-то полезное.
Припоминаю, было что-то подобное (правда, я не пользовался), скорее всего есть в архивах, попробую найти.
РС Возможно, еще тут найдется что-то полезное.
-
- Лейтенант
- Сообщения: 2285
- Зарегистрирован: 12 янв 2012, 05:22
- Откуда: МВО
- Контактная информация:
Re: Автоматическое создание основы карты из любого изображен
В своё время товарищ занимался вопросом правки уже откомпиленных карт, есть такой документик по структуре, думаю, будет полезен.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Красноармеец
- Сообщения: 3
- Зарегистрирован: 24 июн 2017, 21:30
Re: Автоматическое создание основы карты из любого изображен
Благодарю. Именно то, exactly.zarathustra писал(а):В своё время товарищ занимался вопросом правки уже откомпиленных карт...
Попутно подтверждается сходство полит.убеждений/интересов при сходстве других "узких вкусов"

Нового мало, но хорошо упорядочивает и подтверждает найденное. Т.е. полезно и показывает, что ничего сложного в формате карты нет (в формате миссии также). Поковыряю ещё "новый" формат файлов ssm/smm ...
Будет ли боец, который рисует единичные карты, заполнять их частично "автоматом" - не уверен.
А вот для массовой "корректуры карт" вижу большую пользу. Скажем, после очередного существенного изменения набора объектов - составить таблицу соответствия новых старым и быстренько всё заменить. Тем самым можно поддерживать (update-ить) старые карты/миссии.
-
- Лейтенант
- Сообщения: 2285
- Зарегистрирован: 12 янв 2012, 05:22
- Откуда: МВО
- Контактная информация:
Re: Автоматическое создание основы карты из любого изображен
Программа для создания исходника из гугл-карты
MapImageToolForSSII
Работает так:
На maps.google выбираем местность.
Делаем скрин (Printscreen).
В любом графическом редакторе меняем на черно-белый, правим контраст/яркость и сохраняем в формате *.bmp
В редакторе Sudden Strike создаем новую карту и сохраняем.
В программе MapImageTool выбираем свой имедж-файл и портируем его в редакторе Sudden Strike:
MAP FOLDER => "карта" => TRANSFER
Запустаем редактор Sudden Strike, загружаем карту редактируем.
Есть еще такая программка:
Mapshtab
Лично никогда ей не пользовался, поэтому ничего конкретного сказать не могу.
MapImageToolForSSII
Работает так:
На maps.google выбираем местность.
Делаем скрин (Printscreen).
В любом графическом редакторе меняем на черно-белый, правим контраст/яркость и сохраняем в формате *.bmp
В редакторе Sudden Strike создаем новую карту и сохраняем.
В программе MapImageTool выбираем свой имедж-файл и портируем его в редакторе Sudden Strike:
MAP FOLDER => "карта" => TRANSFER
Запустаем редактор Sudden Strike, загружаем карту редактируем.
Есть еще такая программка:
Mapshtab
Лично никогда ей не пользовался, поэтому ничего конкретного сказать не могу.
-
- Ефрейтор
- Сообщения: 32
- Зарегистрирован: 25 апр 2017, 16:27
- Откуда: Петербург
Re: Автоматическое создание основы карты из любого изображен
Мысля хорошая! И спасибо большое за пояснение к файлику objects, раньше его никогда не замечал, но он открывает широкие перспективы! 
Только вот хоть убей, не понимаю, где здесь положение, где id, а где повреждения: tree 5800 12056 56 0 179.
Всё, разобрался. Первые два числа - положение, но как мы помним, в каждом квадратике есть 32 точечки, так что оба числа делим на 32, если будет дробная часть - то она будет либо .25, либо .75. Это потому, что по сути, в каждом квадратике 4 части. Если .75, то дальний, а если .25, то ближний маленький квадратик в большом квадрате.

Только вот хоть убей, не понимаю, где здесь положение, где id, а где повреждения: tree 5800 12056 56 0 179.
Всё, разобрался. Первые два числа - положение, но как мы помним, в каждом квадратике есть 32 точечки, так что оба числа делим на 32, если будет дробная часть - то она будет либо .25, либо .75. Это потому, что по сути, в каждом квадратике 4 части. Если .75, то дальний, а если .25, то ближний маленький квадратик в большом квадрате.
Помогите слонику (т.е. мне) разобраться в сложных тонкостях мира (т.е. в РВГ).
-
- Лейтенант
- Сообщения: 2285
- Зарегистрирован: 12 янв 2012, 05:22
- Откуда: МВО
- Контактная информация:
Re: Автоматическое создание основы карты из любого изображен
Третье значение - ID объекта
Четвёртое - здоровье.
Четвёртое - здоровье.
- NASHRIPPER
- Сержант
- Сообщения: 112
- Зарегистрирован: 21 фев 2012, 19:15
- Контактная информация:
Re: Автоматическое создание основы карты из любого изображен
дорогой товарищ я с тобой потом свяжусь мне надо будет пообщаться насчет карт! Ты тоже вижу мого чего достиг в этом деле надо будет поделиться опытом между собой особено интересна раскодировка файла rhombs