Поиск пути в Стелларисе и не только - Страница 3 - Stellaris / Стелларис - Strategium.ru Перейти к содержимому

Поиск пути в Стелларисе и не только

Рекомендованные сообщения

nekitosh
27 минут назад, Mars-2030 сказал:

Да, вероятно считает. И потом юзает для специальных обьектов которые могут игнорить всё  (напр, "загадочный контейнер" или как там его).

Стелларис полностью учитывает туман войны, так что при рассчёте движения кораблей эти 500к значений не помогут - нужно всё просчитывать заново для каждой флотилии каждый раз как она или любая друга способная ей помешать флотилия изменяет маршрут.

Пути учитывают защиту от пиратов присутствием кораблей, их тоже нужно пересчитывать как только какой-то кораблик куда-то перелетит.

Вряд-ли они сложнее чем пути флотиилий, скорее всего баг просто исправят и игра станет быстрее.

 

А в чем проблема в эти 500к значений заранее записать варианты с недоступной системой? Там же даже вручную можно эти системы вырубать. Табличка с этими значениями один фиг просто табличка с условиями. Цикл с перерасчетом можно запускать по отдельности как только флотилия вышла из системы, а не дергать каждую секунду как походу игра делает. Т.е не трогать значения сектора если там ничего не изменилось.

 

У меня вообще есть одно неприятное подозрение связное с двиглом. Я насколько понял оно делает расчеты каждую секунду не параллельно. Т.е постоянно ощущение, что игра проходит весь код с самого начала до конца и начинает это делать снова. Ну просто глядя как фпс проседает когда меню планет открываешь. При этом использует максимум переменных не экономя память. Надо глянуть на таблицу cheat engine на бесконечные ресы и тд. Если там будет целая стена кода вместо 2-3 строчек, то беда бедовая. нормальной оптимизации мы не увидим.

 

_________
добавлено 0 минут спустя
13 минуты назад, Дон Андрон сказал:
!

Поскольку спор плавно переходит в клинч, то прошу всех участников его завершить. Все активные стороны данного диспута получают устные предупреждения по статье "Провокация".

 

@had - за грубость с префектом раздела @Mars-2030

@MishaRass - за домыслы о качестве работы и знаний префекта @Mars-2030

@Mars-2030 - за активное участие в конфликте и неумение его самостоятельно погасить.

А я?

 

i

Обсуждать тут санкции запрещено. Это можно делать в других темах, например в "Вопросы и обращения к Администрации" подфорума "Приёмная Администрации";  Устное предупреждение. Мars-2030.

 

Изменено пользователем Mars-2030
Ссылка на комментарий

Дон Андрон
56 минут назад, nekitosh сказал:

А я?

 

i

В ваших сообщениях чрезмерных личных обращений и выпадов не обнаружено. Для списка нарушителей вы не годитесь...

С интересом просмотрел ваши технические выкладки. Даже если там и есть нарушения/ошибки, то по форумным законам это не наказуемо. :)

Изменено пользователем Дон Андрон
Ссылка на комментарий

Mars-2030
9 минут назад, nekitosh сказал:

А в чем проблема в эти 500к значений заранее записать варианты с недоступной системой?

500к -  это если все системы доступны.  Это 1000 (выбираем систему) * 999 (выбираем любую другую) / 2 (т.к мы почитали каждый путь 2 раза).

Если что-либо нетак (например, одна или несколько недоступны) - это уже другие пути, допольнительные варианты.

Их нельзя записать в эти 500к, они вообще другие. Вместе с ними получается не 500к,а очень дофига.

Эта дисскусиия о путях, несомнено, любопытна, но у меня появились срочные дела в Приемной Администрации, так что продлжайте пока без меня.

Ссылка на комментарий

2 часа назад, Mars-2030 сказал:

Вы ошибаетесь и недооцениваете сложность Стеллариса. Например, в Стелларисе есть такая маленькая часть как генерация карты.  Попробуйте тридцать секунд (полминуты) подумать над вопросом:  чем именно алгоритм создания кольцевой галактики отличается от алгоритма создания спиральной? Затем вспомните, что пользователь в настройках спокойно может регулировать плотность гиперкоридоров и империй, что нужно туда ещё расставить нейтралов и т. д. Затем вспомните. что всё это - это даже не сама игра, а только фаза подготовки. 

Да, серьезно. Со врёмен палеозоя эта математика не стала проще. Как была сложной, так и осталась, и при програмной реализации чуть что готова пожрать немерянно ресурсов.  В упомянутых вами "всех играх" граф путей обычно на много порядков проще, чем в Стелларисе.

Друг, как же ты далёк от программирования, вот ей-богу.

Генерация карты в Стелларисе проста аки пробка и сделается средним студентом ВУЗа за неделю. Он почитает немного о диаграмме Вороного для расположения звёзд, а также попросит дизайнера заштриховать маску гексов, для того чтобы сделать карту в 2,4,6,200 рукавов.

Плотность переходов - элементарно. Даже кластеризация делается элементарно - по тем самым диаграммам вороного.

 

Вот сделать генерацию границ как было в Стелларисе 1.0 (от размера планет с давлением влияния) - да, тут надо месяца два сидеть думать о граничных условиях, прикручивать библиотеки по построению этих самых шейпов (которые страдают кривизной даже в boost c++).

 

Настоящая сложность у пароходов была раньше. Например, когда они научили ИИ ХоИ 3 выходить из котлов - вот там сложно, согласен. А то что ты пишешь выше - это уровень плинтуса. Когда речь зашла о navmesh, я аж под столом валялся.

Ссылка на комментарий

nekitosh

На самом деле то деле такая таблица не о чем. Т.е это тупо текст. Там можно хоть 9999999999 вариантов вбить. Когда флотилии надо добраться до точки, то просто отправлять ее на проверку условий в ячейку в зависимости от местоположения и цели. Там в этой ячейки произвести выполнение условий т.е проверить состояние ячеек по которым она может добраться. Если не получается по одной, то отправлять к другой. Расчеты физики пуль в моде на фаллаут нв (который добавлял в нее эту самую физику) откровенно больше и сложнее. Повесить табличку в оперативку для быстрого обращения и будет она там 1 метр занимать.... при ограничении в 3.5 гб у двигла... Йохансон. Я надеюсь тебе там весело на праздниках. Ты то наверное о таком сейчас не думаешь.

Ссылка на комментарий

nekitosh
24 минуты назад, Saby сказал:

Друг, как же ты далёк от программирования, вот ей-богу.

Генерация карты в Стелларисе проста аки пробка и сделается средним студентом ВУЗа за неделю. Он почитает немного о диаграмме Вороного для расположения звёзд, а также попросит дизайнера заштриховать маску гексов, для того чтобы сделать карту в 2,4,6,200 рукавов.

Плотность переходов - элементарно. Даже кластеризация делается элементарно - по тем самым диаграммам вороного.

 

Вот сделать генерацию границ как было в Стелларисе 1.0 (от размера планет с давлением влияния) - да, тут надо месяца два сидеть думать о граничных условиях, прикручивать библиотеки по построению этих самых шейпов (которые страдают кривизной даже в boost c++).

 

Настоящая сложность у пароходов была раньше. Например, когда они научили ИИ ХоИ 3 выходить из котлов - вот там сложно, согласен. А то что ты пишешь выше - это уровень плинтуса. Когда речь зашла о navmesh, я аж под столом валялся.

"сделать генерацию границ как было в Стелларисе 1.0 (от размера планет с давлением влияния)" разве это нельзя решить обычной проверкой значения параметра формулы "влияние = количество народа * перки * еще что то"  и на основе этого считать радиус границ и выбирать какой слой будет отображаться + проверка если слой отображается твой и попадает в пределы радиуса, то получает статус "действующая планета такого то игрока" ?

Ссылка на комментарий

MishaRass

Был в воркшопе один интересный мод, который изменял торговые пути, удаляя все сборники ценности и давая эту возможность форпостам. Многие писали, что это облегчило лаги после 140-150 годов. На него есть ссылка на 1 странице. Это если кому интересно.

 

Так вот, о чем это я. Кто-нибудь опробовал его уже? Помогает?

Изменено пользователем MishaRass
Ссылка на комментарий

Mars-2030
1 час назад, Saby сказал:

Друг, как же ты далёк от программирования, вот ей-богу.

Раз о Вороном вперые слышу - наверное, очень далёк )))

1 час назад, Saby сказал:

Генерация карты в Стелларисе проста аки пробка и сделается средним студентом ВУЗа за неделю. Он почитает немного о диаграмме Вороного

Даже если так как вы говорите - это не "генерация простая", это "есть готовое решение".  Основную часть работы выполнил Вороной, а не студент.

 

О генерации карты начался разговор в контексте "сложен ли Стелларис как проэкт в целом". Надеюсь, вы с этим утверждением спорить не стали бы, верно?

 

 

 

 

Ссылка на комментарий

Nigmat
10 часов назад, nekitosh сказал:

Я вообще не удивлюсь если там опять кривая дичь как лаги интерфейса когда планеты открываешь.

И я не удивлюсь. Они только в 2.2.0. сделали, что бы режим карты, показывающий модификаторы отношения, не тормозил.

Ссылка на комментарий

Москаль
17 часов назад, Mars-2030 сказал:

Вы ошибаетесь и недооцениваете сложность Стеллариса. Например, в Стелларисе есть такая маленькая часть как генерация карты.  Попробуйте тридцать секунд (полминуты) подумать над вопросом:  чем именно алгоритм создания кольцевой галактики отличается от алгоритма создания спиральной? Затем вспомните, что пользователь в настройках спокойно может регулировать плотность гиперкоридоров и империй, что нужно туда ещё расставить нейтралов и т. д. Затем вспомните. что всё это - это даже не сама игра, а только фаза подготовки. 

А ещё мы недооцениваем однопоточность Стеллариса.

Компьютеры - от слова "compute", т.е. "вычислять". В СССР, для понятности, их называли электронно-вычислительными машинами. Всего один гигагерц на одном ядре - это миллиард простейших операций в секунду. Простейших, конечно, но миллиард. 60+ лет развития компьютеров окончились лагами от операций типа "очень сложной" генерации галактики?

Сейчас много тормозов идёт от преждевременных родов логистики. Не ИИ, не боёв - одной-единственной логистики.

17 часов назад, Mars-2030 сказал:

Да, серьезно. Со врёмен палеозоя эта математика не стала проще.

Зато компы со времён палеозоя сильно заматерели.

Гении программирования и гении-заказчики, впрочем, ведут бесконечный крестовый поход за нивелирование технического прогресса.

17 часов назад, had сказал:

Чтоооооооооооооооооооооооооооооооо

 

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

Я не в курсе деталей, но такое вполне может быть. 99,(9)% Скайрима не висит в оперативной памяти - по-настоящему в игре существуют, условно, сто-двести метров вокруг игрока. В Стелларисе всегда существует вся галактика. Объектов в радиусе ста метров несравнимо меньше, чем в галактике Стеллариса.

В Стелларисе любой чих в сторону попов или поиска путей приводит к отказу процессора.

16 часов назад, had сказал:

Как же тогда нпс останавливается на середине лестницы?

Ты если не понимаешь что такое граф, то просто слушай тех, кто понимает.

Не в курсе по Скайриму, но в Готике 1-2 неписи часто перемещаются по графу - там он именуется вейпойнтами.

16 часов назад, nekitosh сказал:

Как же мы играли тотал коммандер, анно, ред алерт, поселенцев, ворлд ин конфликт с миллионом деталей в кадре которые летают по физике.

Про какие еще расчеты? Сейчас не 1960 год и компы не занимают 3 комнаты.

Пора реально археологию устраивать на старые процы.

 

По поводу "тумана войны".

Я вот такую игру знаю сталкер называется. Там есть такая штука алайф. Если ее врубить на полную у нее количество расчетов превышает весь объем инфы стеллариса раза в 2.

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

16 часов назад, Nigmat сказал:

Однако, как по мне, торговые пути в EУ 4 ИМХО куда более сложны и требовательны к железу

Торговые пути в ЕУ4 статические. Торговля идёт из Константинополя в Венецию, даже если мои восстановившиеся ромеи сожгли к ядрёне фене мерзких островитян в отместку за 1204 год.

Торговые пути в Стелларисе динамические. Торговля просчитывается с учётом, как минимум, врат.

Может, пути ЕУ4 и сложнее (там ценность варьируется), но пути Стеллариса Парадоксы банально не научились рассчитывать.

16 часов назад, Nikkirche сказал:

А тупые параходы всё одновременно считают.

В том-то и дело, что тупые параходы всё считают последовательно, ВМЕСТО более одновременной параллельности.

16 часов назад, nekitosh сказал:

"Здесь должна быть шутка про подземелья скайрима" которые на 90% сгенерировали как и глобальную карту, деревья и местоположение снега с сосульками.

"Здесь ещё должна быть шутка про вдохновившую Скайрим генерацию Даггерфолла"

16 часов назад, had сказал:

Ага, то есть оказывается, у нас есть миллион точек по всей длине лестницы?

Теоретически, их бесконечно много. Точка-то - бесконечно малый объект.

Практически, память компов не идеальна, так что точек просто невообразимо много.

16 часов назад, nekitosh сказал:

И да заметь для майнкрафт почему то не нужно I7 с 8.5 ГГц

и7 не нужно, но Ява и криворукость Нотча делали мой прежний процессор (2008 года рождения) грустным и печальным. Это с тамошними-то графой и безжизненностью.

15 часов назад, nekitosh сказал:

разрабы тес двинули открытые миры

Мой внутренний готоман в ярости. Сравни миры ТЕСа и Готики 1-2 - первые пусты, вторые кишат деталями. Первая Готика во многих аспектах в своё время была революцией.

15 часов назад, nekitosh сказал:

Парадокс... ну парадокс у пародокс игра запускается. Не всегда конечно, но вроде даже работает. Первые 20 минут.... Я рад, что они двигаются вперед.

Не знаю, как в масштабах всего игростроя, но в жанре глобальных стратегий они намного круче нынешних Фираксисов. Если бы Фираксисы после четвёртой Цивы не ушли в деградацию, а продолжили логичное развитие, то у Парадоксов сейчас был бы опаснейший конкурент.

Парадоксы берут проработанностью своих игровых миров (кроме как в ЕУ4, спасибо за неё Йохану и Джейку).

Фираксисы берут масштабом - у них весь мир от каменного века до будущего.

 

После описания Стеллариса 2.2 захотел расписать свои прикидки по логистике, но обнаружил, что для неё как раз выделили тему :D

 

Когда вышел 2.1, я был резко против кластеров - ибо Стелларис стал рельсовым, как никогда прежде. Но теперь, посмотрев на 2.2, считаю, что на их основе можно сделать очень много толковых фич.

Что такое кластер? В дальнейшем будем считать, что вся галактика поделена на скопления звёздных систем - внутри скопления перемещаться быстро и весело, между ними - дольше и тяжелее. Кластер - одно такое скопление и аналог де-юре герцогства из Крестоносцев.

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

Звёздные базы не хиккуют в своих системах, а являются базами. На них базируется местная космомилиция (модификатор систем, не настоящие корабли). И пиратам, в общем, плевать, в какой именно системе грабить корованы - космомилиция с баз летает везде. Поэтому любая система, принадлежащая родной империи, одинаково хороша для торгового пути. Чуть хуже системы соседей с открытыми границами, ещё хуже - с закрытыми (но таможенная коррупция неистребима), полный атас - системы с космофауной, в том числе и левиафанами.

Это значит, что в большой империи существенным для логистики остаётся ровно один фактор: количество преодолённых кластеров. Не так важен их размер (на самом деле, важен, но мы же не хотим лагов?), не важны 100500 врат - важно то, сколько межкластерных переходов совершат наши корованы. И вся галактика превращается... превращается галактика... в простейший граф на 100-150 точек-кластеров! Вместо тысячи!

И не надо перерывать все врата в поисках оптимального пути - нужны врата в как можно более близком к источнику "торговли" кластере и врата, аналогично поближе к столице. Нашли - всё, никаких перерасчётов, пока в империи не поменялся набор врат - тогда при каждом изменении 1 (один) раз всё перерассчитывается.

Профит! Лагов нет! Логистика есть! На неё можно пересаживать всю экономику (вернув лаги обратно)!

 

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

Что думаете? Может, кто что может прокомментировать/добавить?

 

Добавил: Ай, чёрт, забыл написать, что космомилиция должна летать в пределах своего сектора, а не всей империи.

Изменено пользователем Москаль
Ссылка на комментарий

nekitosh
1 минуту назад, Москаль сказал:

Я не в курсе деталей, но такое вполне может быть. 99,(9)% Скайрима не висит в оперативной памяти - по-настоящему в игре существуют, условно, сто-двести метров вокруг игрока. В Стелларисе всегда существует вся галактика. Объектов в радиусе ста метров несравнимо меньше, чем в галактике Стеллариса.

В Стелларисе любой чих в сторону попов или поиска путей приводит к отказу процессора. 

 

В тес у ии все размечено в плане передвижения + там есть генератор который позволяет сделать локу доступной для ИИ.

В добавок ко всему там много расчетов и скриптов которые обрабатывают события на карте. Там если глянуть мир очень даже динамичный.

Я не просто так вспомнил про сталкач особенно его фриплейный вариант на переработанном движке open xray Stalker call of chernobyl (coc).

Там можно включить полный алайф на всех локаций. Там просто дикое количество переменных. Сталкеры, монстры, их конфликты, перемещение по локе, захват постов, выбросы, спавн и тд. Ничем не отличается от тех же секторов в стелларисе. Опять же они по факту просто катают на плоскости и никаких "архисложных" рассчетов там не происходит. Когда называют стелларис эксель симулятором, то это не далеко от истины. Про попов и поиск путей не проц отказывает, а какой то вечный генератор ошибок расчетов. Т.е это не сами расчеты сложные даже если это все в разы увеличить это реально какой то набор действий который проходит через ошибки и при этом не работает отдельно на уровне кода я уж не говорю про ядра. Если руки дойдут попробую накатать трейнер на ресы. Я не удивлюсь если там будет 50 действий с разными адресами вместо 2-3 строчек.

 

11 минуту назад, Москаль сказал:

и7 не нужно, но Ява и криворукость Нотча делали мой прежний процессор (2008 года рождения) грустным и печальным. Это с тамошними-то графой и безжизненностью.

 

Ну дык он тогда вообще учился делать. При чем ява мягко говоря не самый подходящий вариант для такой задачи ибо надстройка над надстройкой. Я конечно не призываю писать на ассемблере, но мне как человеку учившегося на системщика печально такую дичь видеть.

Нам препод говорил мол "если у вас больше 3 переменных в 30 последовательных расчетах, то у вас говнокод". Тут же походу 150 переменных на 2 функции и в 1 функции ошибка и вообще она от прошлой игры осталась и никак не используется.

 

14 минуты назад, Москаль сказал:

Мой внутренний готоман в ярости. Сравни миры ТЕСа и Готики 1-2 - первые пусты, вторые кишат деталями. Первая Готика во многих аспектах в своё время была революцией.

 

Дык готика, то крута была тем, что там все руками делали, но там и вычислений внешний был минимум. Вот там действительно "все что за экраном не существует". Хотя блин даже там все, что за стенкой дома не загружается в память видяхи.

 

16 минут назад, Москаль сказал:

Не знаю, как в масштабах всего игростроя, но в жанре глобальных стратегий они намного круче нынешних Фираксисов. Если бы Фираксисы после четвёртой Цивы не ушли в деградацию, а продолжили логичное развитие, то у Парадоксов сейчас был бы опаснейший конкурент. 

 

ну это если говорить про геймплей элементы. Я вот про это тоже упоминал. Скорее всего там действительно есть 2-3 человека которые этим живут, но чаще всего все остальные просто делают свою работу и лишний раз вкалывать за что не платили не будут. Это наверное правильно, но вместе с таким издателем ну это такое. Поэтому я и говорю, что тут только денежное влияние может дать результат.

Цива не столько в деградацию укатила сколько в смену жанра. Хотя у них все части сильно отличаются. Сложно сказать хорошо это или нет, но я мне приятно увидеть ее на планшете полностью рабочей. Я же блин в пятерку на s5 mini samsung через тим вьюер запущенный на пк играл. Домашние облачные технологии))) Кстати на удивление зашибись работала. Такое ощущение, что управление тимвьюера под нее адаптировали)

Ну и по поводу конкуренции. Ну 2.5 игры на рынке такая себе конкуренция. Скорее они просто поделили на сегменты. Чуть хардовее параходы, среднее эндлесс спэйс, аркадный вариант от цивы.

Только вот пока единственный кто реально старается это разрабы эндлесс. Им бы редактор модов чуть более продвинутый.

Кстати забавно, что после последних длс от стеллариса у них продажи подскочили и количество положительных отзывов взлетело. Так, что ждем новый фин отчет. Тогда все точно станет понятно куда они двигаются. Если строка "внутренние" траты, а не вложения станут больше, то есть надежда. Если вклады в другие проекты вырастут, а внутренние уменьшат.. ну я ждать обнов от них уже точно не буду.

Ссылка на комментарий

Nigmat
10 минут назад, nekitosh сказал:

Чуть хардовее параходы, среднее эндлесс спэйс, аркадный вариант от цивы.


Это уже как посмотреть после 2.2. В ES 2 рыночек поинтереснее будет.

Ссылка на комментарий

Flamme
28 минут назад, Nigmat сказал:

Это уже как посмотреть после 2.2. В ES 2 рыночек поинтереснее будет.

Пока ещё не знаю, как с этим в Стелларисе (всё думаю, пробовать мне 2.2 или забить, поскольку чувствуется мне, что эта версия моего старичка не то на лопатки положит, а сразу за канвас вышвырнет), но ES2 он (и не только он, но и торговые компании и биржа) не только интересен, но и интуитивно понятен и приятен, а так же весьма удачно реализован в плане наполнения (большую часть товаров на рынок сами империи и выкидывают). Так что при всём интересе я бы не назвал их систему сложной. Она именно что в меру простая и при этом вполне интересная.

Ссылка на комментарий

В 31.12.2018 в 00:36, nekitosh сказал:

"сделать генерацию границ как было в Стелларисе 1.0 (от размера планет с давлением влияния)" разве это нельзя решить обычной проверкой значения параметра формулы "влияние = количество народа * перки * еще что то"  и на основе этого считать радиус границ и выбирать какой слой будет отображаться + проверка если слой отображается твой и попадает в пределы радиуса, то получает статус "действующая планета такого то игрока" ?

Полигоны попробуйте построить, когда объектов много и в полигонах есть дыры - я про это. Я пробовал в 2016 году, когда искал очередной проект и был перерыв - у меня не получилось сделать это за две недели.

Если по теме говорить, то обычно граф с чанками (chunk - это когда внутри одного графа есть входные и выходные точки и там все заранее предрасчитано, с какой точки в какую попасть быстрее). Вот хороший пример от создателей RimWorld - 
youtube.com/watch?v=RMBQn_sg7DA

Изменено пользователем Saby
Ссылка на комментарий

3 часа назад, Saby сказал:

Полигоны попробуйте построить, когда объектов много и в полигонах есть дыры - я про это. Я пробовал в 2016 году, когда искал очередной проект и был перерыв - у меня не получилось сделать это за две недели.

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

В 31.12.2018 в 14:09, nekitosh сказал:

Нам препод говорил мол "если у вас больше 3 переменных в 30 последовательных расчетах, то у вас говнокод". Тут же походу 150 переменных на 2 функции и в 1 функции ошибка и вообще она от прошлой игры осталась и никак не используется.

Я периодически провожу мат расчеты со средними объемами(десятки массивов 10к х10к пересчитываются десятки раз) и и формулы с десятками переменных и зависимостями между ними и хочу сказать, это выполняется довольно быстро(по пару часов) на среднем железе 10 летней давности.

 

Я думаю что проблема в высокоуровневом программировании. Ошибки в библиотечных функциях накладываются на ошибки программистов, приправляем щепоткой костылей и вуаля имеем тормоза стеляриса. Например, расчет торгового пути: не лучшим образом юзаем библиотеку с графами, добавляем костыли для перерасчета в случае наличия врат и получаем адские лаги при игре с вратами(больше врат -> больше костылей -> больше лагов). А я бы для сгенирированой галактики вообще использовал бы матрицу смежности, ведь новых точек не добавляется, и путь считается мгновенно. Хотя тут есть и свои недостатки.

Изменено пользователем ASip13
Ссылка на комментарий

Mars-2030
В 31.12.2018 в 13:09, nekitosh сказал:

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

На чём умел - на том и написал, вероятно.

В 31.12.2018 в 13:09, nekitosh сказал:

Нам препод говорил мол "если у вас больше 3 переменных в 30 последовательных расчетах, то у вас говнокод".

Это, несомненно, красивая фраза, но в ней не особо много  смысла, и она скорее вредна чем полезна.  Возможно, ваш преподаватель имеет не очень много опыта практической коммерческой разработки в 2010+ годах.  Если речь не идет о чём-то вроде каких-то микроконтроллеров, то куча кода из 3х переменных была бы малочитабельной и неудобной для модификации, так не следует делать.

 

4 часа назад, ASip13 сказал:

Я думаю что проблема в высокоуровневом программировании. Ошибки в библиотечных функциях накладываются на ошибки программистов, приправляем щепоткой костылей и вуаля имеем тормоза стеляриса

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

Изменено пользователем Mars-2030
Ссылка на комментарий

В 31.12.2018 в 01:37, Mars-2030 сказал:

Раз о Вороном вперые слышу - наверное, очень далёк )))

Даже если так как вы говорите - это не "генерация простая", это "есть готовое решение".  Основную часть работы выполнил Вороной, а не студент.

Собсно всегда всю работу делает какой то чувак, который давно придумал алгоритм.

В геймдеве нет ничего научно ценного, они не придумывают новых алгоритмов.

 

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

Есть алгоритмы поиска путей с предрассчетами, судя по всему парадоксы юзают один из них.

Почему я так думаю?

До патча 2.0 спавн новой системы посреди игры был обычным делом и не вызывал лагов.

В своем моде я спавнил системы на старте игры, в 2.0 из-за этого игра начала подвисать на пол минут, пока что то там считала для новых гиперлиний.

В 2.1 когда разрабам самим понадобилось спавнить много систем за раз, они добавили прекрасный костыль: специальная команда выключает какие то там рассчеты, системы спавнятся, потом специальной командой рассчеты включаются обратно. Что снизило лаг от спавна систем в моем моде примерно в 30 раз.

Изменено пользователем had
Ссылка на комментарий

18 часов назад, Mars-2030 сказал:

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

Это беда большинства современных программистов - нежелание знать как работает изнутри то что ты используешь. Я не спорю, все знать невозможно, но понимать используемые тобой библиотеки и понять не сложно+ вместо того чтобы делать какую то хрень с костылями лучше хорошо продумать алгоритм. Хотя зачем думать ведь и так работает))

Изменено пользователем ASip13
Ссылка на комментарий

Diplomate
В 30.12.2018 в 20:22, had сказал:

Ну серьезно, лаги из-за вычисления путей? Той штуки, которую вычисляют в вообще всех играх? О да, оч сложно, невыполнимая задача, терзающая все человечество. Найти путь на графе. Ох вейт, это же математика палеозоя.

Наверное, там не только путь в графе считается, но еще и учитывается длительность полета внутри системы. Если же это не так, то это задача проще простого. Хотя, если ИИ лихорадочно перепрокладывает пути, то всякое может быть.

Ссылка на комментарий

1 минуту назад, Diplomate сказал:

еще и учитывается длительность полета внутри системы.

Слишком умно для них.

Например научный корабль при угрозе летит к ближайшей границе системы, очень часто прет прямо на флот, от которого хочет сбежать.

_________
добавлено 0 минут спустя
17 минут назад, ASip13 сказал:

понимать используемые тобой библиотеки

Ой, ну это рили не очень нужно.

Ссылка на комментарий

Присоединиться к обсуждению

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Ваша ссылка автоматически преображена.   Отображать как простую ссылку

×   Предыдущее содержимое было восстановлено..   Очистить текст в редакторе

×   You cannot paste images directly. Upload or insert images from URL.

  • Ответы 68
  • Создано
  • Последний ответ
  • Просмотры 7063

Лучшие авторы в этой теме

  • had

    16

  • nekitosh

    16

  • Mars-2030

    8

  • Diplomate

    5

  • MishaRass

    5

  • Nikkirche

    5

  • Nigmat

    4

  • Saby

    2

  • ASip13

    2

  • Razer98K

    2

  • Дон Андрон

    2

  • Flamme

    1

  • Москаль

    1

Лучшие авторы в этой теме

Популярные сообщения

ASip13

Ну первый раз это действительно сложно, если нет понятия за что браться. Но если разобраться, то задача не такая большая. Я периодически провожу мат расчеты со средними объемами(десятки массиво

Москаль

А ещё мы недооцениваем однопоточность Стеллариса. Компьютеры - от слова "compute", т.е. "вычислять". В СССР, для понятности, их называли электронно-вычислительными машинами. Всего один гигагерц н

had

Это единственный способ заставить их шевелиться. Помните, как кто-то умный у парадоксов придумал повысить цены в не евродолларовых регионах? Ради более равных цен между регионами или как они

nekitosh

Да ты издеваешься что ли?  Ты понимаешь, что это просто запись в матрицу с координатами ячеек с добавлением параметров условий их наполнения? Я могу пойти потрошить эти конфиги, но что это даст? Что о

nekitosh

"загружать в память меши, которые ты никогда не увидишь, потому что у тебя например длс нету."   Вот это реально что то новенькое лол)) Я реально недооценивал всю ситуацию. Я думал это остал

Saby

Друг, как же ты далёк от программирования, вот ей-богу. Генерация карты в Стелларисе проста аки пробка и сделается средним студентом ВУЗа за неделю. Он почитает немного о диаграмме Вороного для р

Mars-2030

На чём умел - на том и написал, вероятно. Это, несомненно, красивая фраза, но в ней не особо много  смысла, и она скорее вредна чем полезна.  Возможно, ваш преподаватель имеет не очень много оп

Nigmat

Эт не шутка, в игре реально у многих есть лаги из-за торговых путей. Во всяком случае на 2.2.0. были чуть ли не у ВСЕХ. Есть даже мод рихтующий торговые пути, и он вроде как многим помогает. Советую с

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу


Copyright © 2008-2024 Strategium.ru Powered by Invision Community

×
×
  • Создать...