Трёхмерная игра Generation Streets

Как вариант - создавать обычные notes, не все рисуют в josm, и при относительно небольшом числе правок ставить плагин будет мало кто.

Кто-то отделил обсуждение в отдельную тему, спасибо.

Я изначально так и хотел, но подумал, вдруг правок будет слишком много и вся карта будет завалена заметками. Или это ничего страшного?

Если это только заметки, ничего страшного.

Думаю лучше для начала сделать минимум: собирать правки игроков у себя. Дальше уже принимать решения в зависимости от качества и количества правок

Вопрос по поводу отдельного редактора.
Время от времени возникают конфликты правок, т.е. кто-то успел изменить раньше загружаемые данные.
Как этот момент будет решаться в редакторе?

Красная линия в редакторе будет сделана не сразу, либо не будет сделана вообще. А при отправке в мою базу конфликтов не будет, туда данные будут отправляться по одному тегу. Вернее, если вдруг окажется, что двое одновременно отправят - значит, один другого просто перезапишет.

Редактирования геометрии не будет.

а насчет конфликтов Вашей и основной баз? Например, игрок отправил изменения, и маппер в josm сделал изменения.

Как это относится ко мне? Маппер может работать в JOSM и без меня и решать конфликты так, как обычно и делает.

прямо. Например:
(1) текущая версия вея #1
(2) игрок внес правку, локальная версия стала #2. Но правка не залита, версия в OSM всё ещё #1
(3) маппер внес правку в josm и отправил на сервер. Версия в OSM стала #2
(4) попытка залить правку игрока из п. 2. Здесь возникнет конфликт версий.

Будет немного не так. Правки будут не в формате OSM. У меня вообще в тайлах не хранится id объектов, да и сами объекты на этапе нарезки тайлов обрабатываются через ogr2ogr с превращением данных в WKT-подобный формат.

(1) У здания не указан цвет
(2) Игрок внес заметку: цвет здания по адресу с такими-то координатами - желтый.
(3) Заметка лежит в базе со статусом “ещё не внесено в OSM”
(4) маппер внес правку в JOSM, отправил, заметка теперь имеет статус “внесено в OSM, но еще не обновилось в игре”
(5) раз в несколько недель перенарезаю тайлы, результат появляется в игре, в базе всем заметкам с датой не позднее даты дампа planet.osm ставлю статус “готово”.

всё понятно, спасибо.

Незагруженные в OSM заметки, кстати, игра по возможности тоже будет подгружать с моей базы, чтобы результат у игроков появлялся сразу же.

Возможна такая ситуация.
Теги из редактора Generation Streets не успели вовремя внести, до того как здание удалили в базе ОСМ.
В такой ситуации наверно теги просто нужно выбрасывать.

Хотел поддержать проект, но нет версии под Linux :frowning:

Тот, кто решит заняться редактированием на основе заметок из игры, поставит заметке соответствующий статус и она будет считаться решённой.

Плагин для JOSM главное удобный написать, с учетом моего почти полного неумения работать с Явой, это будет проблематично. Но это в основном будет копипаста Notes с кое-какими изменениями. Займусь после внедрения в игру, там и без JOSM’а пока всё сможет работать.

Забавно, что именно в Линуксе я и веду разработку, переключаясь на Винду, чтобы скомпилировать windows-версию. У меня в линуксе проблема сделать сборку, которая не требовала бы ненужных зависимостей (в частности, определенной версии GLIBC, ну и еще всякого). Как только заборю проблему, выпущу.

Переключился на beta-версию Steam и разрешил Steam Play для всего - запустилось.

а если нужный glibc запихнуть в сам пакет приложения, и приписать “костыль, к релизу исправлю” ?? :slight_smile:

Купил игру, так как удалось ее запустить через Proton (Steam Play). Костыль, но работает! По районам полетал.

Тогда получаю массу других ошибок, связанных с SDL, wayland и еще со всяким.

Сейчас работаю над редактором, считаю это более приоритетной задачей.

В свое время тоже собирался сделать что-то подобное, но руки так и не дошли даже до начала. Пунктом преткновения стало создание своего языка разметки дорог, улиц, деревьев и всего остального. В принципе, существующая система тегов ОСМ с этим худо-бедно справляется, но ее сложно парсить, так как стандарта нет. Отсутствие стандарта - это одновременно и хорошо, так как позволяет эволюционировать системе, но и плохо, так как непонятно как это читать.

Можно взять City Engine и слизать с него параметры стилей (я планировал это сделать), но в стили может попасть информация не только о этажности и фасадах, а еще и о количестве полос на дороге и направлении движения односторонних дорог. К примеру, эту инфу можно использовать не только для рендеринга картинки, но и для АИ всяких машинок и тому подобной живности. И с одной стороны, некорректные данные о дорогах можно поправить во благо связи с реальностью, а можно во благо игрового геймплея.

Еще интереснее было бы сделать некий язык стилей, который бы относился только к данным о рендеринге, не затрагивая другую информацию. Но как выше сказано, иногда сложно это разделить: сколько полос рисовать на дороге? И какую разметку на ней рисовать?