Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 30 Января 2015 Это популярное сообщение. Поделиться Опубликовано 30 Января 2015 (изменено) Судя по регулярно происходящему в других темах - таки нужна.Вот здесь как раз можете спросить про "зачем создали эту тему ?" А также про ООП, про как заниматься моддингом и его устарелости неустарелости, кто как его себе представляет и т.д. В общем, для много слов "обо всем". Что в более специализированные темы не лезет, но поговорить давно хотелось и хочется. Но таки да, пп 2.0, 2.1 и даже 2.5 правил здесь вполне таки действуют. Изменено 30 Января 2015 пользователем Dennis_Chikin 5 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
НаноБот 737 Опубликовано 17 Июня 2018 Поделиться Опубликовано 17 Июня 2018 В 09.06.2018 в 20:41, Malandrinus сказал: Препроцессор (а ты говоришь о макросе препроцессора) Для меня макросы это прежде всего инлайн функции, макрос должен срабатывать по ходу следствия, иначе это баг. Да, МАСМ сильно забагованый ассемблер. Правда полностью отказываться от него, я не намерен, т.к. компилирует более компактный код по сравнению с UASM. Кстати код calc.cpp переделанный на чисто С, компилируется правильно только M$, Peles C это делает не правильно. ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Malandrinus 615 Опубликовано 18 Июня 2018 Поделиться Опубликовано 18 Июня 2018 On 6/9/2018 at 1:56 PM, abramcumner said: Ну я бы так не сказал...Каждая минорная версия что-нибудь ломает Ну не знаю. По мне так баги в минорных версиях (т.е. уже пофиксенные) на конечный результат не влияют. А конечный результат, что включает поддержку стандартов, качество оптимизации, скорость компиляции, улучшается с каждой версией. On 6/9/2018 at 4:16 PM, buffy said: неприятно, что программа, которая выводит какую-то надпись, весит 60кб. Скорее всего это не написанный код столько весит, а вся программа со всяким балластом типа стандартного пролога/эпилога, стандартных секций, недооптимизированных стандартных библиотек и т.п. Если же залезть внутрь и сравнить собственно размер скомпилированного кода, то разница не будет так уж велика. А по поводу балласта. Во-первых, часть балласта можно урезать при некотором старании. Во-вторых, этот балласт останется ровно таким же при размере программы в пару кб и пару десятков Мб. Ну и наконец. 60 кб - серьёзно?! ЭТО повод для переживаний?! On 6/9/2018 at 4:43 PM, Dennis_Chikin said: РЕДАКТОР с поддержкой формул был написан. А также поддержкой сетевой работы, станков с ЧПУ, и со сжатием. В одном флаконе. ...Полтора кило размером, Ну и что? А вот дизассемблер для Zilog Z80 занимает примерно 1 кб. Какое это отношение имеет к современным реалиям? Нынче вообще важнее время написания программы, а не размер кода. Просто потому, что при нынешней сложности программ стародавние подходы к их написанию приведут к бесконечным срокам разработки. Т.е. просто не закончить проект, ну скажем сталкира, ни в какие разумные сроки, пытаясь писать его так, как это делали вы с этим редактором. 7 hours ago, НаноБот said: Весит 7.5 кб если использовать VS2010, с VS2017 весит 9.5 кб и не работает на ХР. Так что к чёрту std cout и другую хрень. Научись пользоваться компилятором и не перекладывай с больной головы на здоровую.. 7 hours ago, НаноБот said: есть только х86 и х64 Жесть! Ты серьёзно думаешь, что сможешь запустить современную программу, скажем, на 286? 7 hours ago, НаноБот said: макрос должен срабатывать по ходу следствия Я попробую ещё раз, последний. Макрос - это элемент препроцессора. Препроцессор - это средство обработки исходного текста. Препроцессор берёт один текст и превращает его в другой. Это происходит ДО компиляции. Таким образом макрос препроцессора ПРИНЦИПИАЛЬНО НЕ МОЖЕТ работать во время выполнения. 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
НаноБот 737 Опубликовано 18 Июня 2018 Поделиться Опубликовано 18 Июня 2018 (изменено) 12 часов назад, Malandrinus сказал: Скорее всего это не написанный код столько весит, а вся программа со всяким балластом типа стандартного пролога/эпилога, стандартных секций, недооптимизированных стандартных библиотек и т.п. Если же залезть внутрь и сравнить собственно размер скомпилированного кода, то разница не будет так уж велика. А по поводу балласта. Во-первых, часть балласта можно урезать при некотором старании. Во-вторых, этот балласт останется ровно таким же при размере программы в пару кб и пару десятков Мб. Ну и наконец. 60 кб - серьёзно?! ЭТО повод для переживаний?! M$ VS C++ умеет хорошо уменьшать размер кода, стало быть вес такой, из-за библиотек std, дурацкого стека и так далее, код конечно более медленный по сравнению с моим, вес main значительно больше, плюс ещё до кучи всяких попутных методов, это данные IDA Pro. Так что лучше по возможности отказываться от всяких левых библиотек и фреймворков, и если надо, быстро реализовать свои, оптимальный код делается ручками, мозгами, помните об этом. ФРЕЙМВОРКИ это зло, про портирования можно забыть, либо это становится слишком накладным. Да, я не собираюсь прекращать поддержку WinXP, и стараюсь не портить поддержку более старых ОС вплоть до Win95. Делается как раз не использованием всяких новомодных идиотских редакций С++ и фреймворков. И во обще, лучше всего это ассемблер и WinAPI, или С и С++ в стиле С и WinAPI. Получаем компактное и быстрое приложение, которое если надо, может работать и на старых ПК. Я попробую ещё раз, последний. Макрос - это элемент препроцессора. Препроцессор - это средство обработки исходного текста. Препроцессор берёт один текст и превращает его в другой. Это происходит ДО компиляции. Таким образом макрос препроцессора ПРИНЦИПИАЛЬНО НЕ МОЖЕТ работать во время выполнения. Тем не менее в UASM это работает, как раз что мне нужно. Изменено 18 Июня 2018 пользователем НаноБот 1 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
AndreySol 215 Опубликовано 22 Июня 2018 Поделиться Опубликовано 22 Июня 2018 Сразу извиняюсь, но не искал куда более подходяще написать то, что я предложу, но собственно: с учетом кол-ва сообщений-во(по)прошаек типа "напишите за меня вот такое", может уже пора сделать что-то типа "Стол заказов"? Ну, по аналогии с "Напарниками по модострою". Обернуть все как положено, в строгие условия не обсуждения в открытую финансовых вопросов и бла-бла-бла... Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 22 Июня 2018 Поделиться Опубликовано 22 Июня 2018 Так кто делать-то будет ? Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndreySol 215 Опубликовано 23 Июня 2018 Поделиться Опубликовано 23 Июня 2018 13 часов назад, Dennis_Chikin сказал: Так кто делать-то будет ? Да уж найдутся я думаю "этузизисты".... Ссылка на комментарий
DoK74rus 19 Опубликовано 10 Августа 2018 Поделиться Опубликовано 10 Августа 2018 (изменено) Привет всем, в общем решил спросить почему движок игры не тянет огромные локации? Я как то делал карту где соединял 8 локаций от кордона до бара (все кроме подземелий) и в целом все работало прекрасно за исключением кордона, в нем начинала пропадать геометрия возле деревни новичков как будто рядом с ним поставили HOM объект, при удалении HOM ситуация не поменялась, и как раз по этому появился вопрос, что ограничивает движок ведь большую часть мира он спокойно обрабатывал кроме той что была ближе всего к нулевой точки координат. Надеюсь кто нибудь ответит на этот нубский вопрос)) Изменено 10 Августа 2018 пользователем DoK74rus Ссылка на комментарий
Malandrinus 615 Опубликовано 11 Августа 2018 Поделиться Опубликовано 11 Августа 2018 @DoK74rus, Есть ограничения на размеры AI сетки. Я это подробно объяснял в этом посте. За исключением этого, размер уровня ограничен только возможностями компьютера. Проблемы на Кордоне - это ты скорее всего что-то не так сделал. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
НаноБот 737 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 На счёт AI-сетки, НПСы бегают именно по ней, я считаю что надо переделать, чтобы бегали по геометрии и дин. объектам, а сетку использовали только для навигации, полностью от неё отказываться не стоит. В общем, при перемещении НПС проверяет проходимость своих габаритов, и если не проходит, то корректирует маршрут. А то на кордоне собачки часто забегают в камни, и кое где погружаются в геометрию. 1 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
AndreySol 215 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 3 часа назад, НаноБот сказал: надо переделать, чтобы бегали по геометрии и дин. объектам Тут надо-бы спросить сначала у знающих, а как ходют мобы в других движках ? А то, даже при простом обдумывании твоей похотелки, представляется просто неимоверное кол-во проблем и полная переделка AI-части движка... Ссылка на комментарий
Expropriator 2 118 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 @AndreySol, вот это баг сейчас был. написал в эту тему, а сообщение появилось в другой. Я там про вертолёт с колизией вспомнил. Если переделать этот класс под нпс? Ссылка на комментарий
Змея 240 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 5 часов назад, НаноБот сказал: собачки часто забегают в камни, и кое где погружаются в геометрию Так это не проблемы аи-движка. Сетка криво проложена. Положи её аккуратно насколько можно по камням и проблема будет решена... Ссылка на комментарий
НаноБот 737 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 @Змея, Я не ковыряю уровни, просто не умею, но НПС могут например, сидеть на динамических объектах, есть скрин где солдат сидит на табуретки в южном блокпосте. Так что можно подшаманить движок что НПС ходили именно по геометрии и динамическим объектам, а АИ-сетку использовали для навигации. Так что ковырять, а вылизывать уровень, не обязательно, где нибудь да будет косяк. Плюс ещё, как НПСом обходить например, танк, или машину. ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Змея 240 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 (изменено) Если есть сидячие анимации, то почему-бы солдатику и не посидеть на табуретке? Или скажем - на пеньке)) Ага...Только вот табурет отнюдь не динамический. Представляешь, что будет с табуретом - если сталкер с него встанет, чтобы с тобой поговорить? Вообще мне кажется - проблема не стоит выеденного яйца. 1. Слишком глубоко придется ковырять движок как я думаю...И кстати действительно, а как боты в других движках ходют...и нет ли там подобия сетки? 2. Вот тебе хочется ковырнуть движок, чтобы решить простейшую проблему сидения непися))) Ну это грубо говоря...Потому-что не умеешь локи ковырять. А другие умеют ковырять локи, но ни бум-бум в движке. Может лучше как-то кооперироваться и ковырять то что умеешь в нужном и полезном для всех месте? Изменено 13 Августа 2018 пользователем Змея Ссылка на комментарий
НаноБот 737 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 (изменено) Вот сидит солдатик, ТЧ. https://cdn1.savepice.ru/uploads/2018/8/13/436e1f2ac93a9bf406fa623d240bd2af-full.jpg Так что это не специально, значит заставить ходить НПС по геометрии не сложно, сложней заставить обходить препятствия. Изменено 13 Августа 2018 пользователем НаноБот ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Змея 240 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 39 минут назад, НаноБот сказал: Вот сидит солдатик О боже!!! Ссылка на комментарий
Malandrinus 615 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 7 hours ago, НаноБот said: На счёт AI-сетки, НПСы бегают именно по ней, я считаю что надо переделать, чтобы бегали по геометрии и дин. объектам, а сетку использовали только для навигации, полностью от неё отказываться не стоит. В общем, при перемещении НПС проверяет проходимость своих габаритов, и если не проходит, то корректирует маршрут. А то на кордоне собачки часто забегают в камни, и кое где погружаются в геометрию. Spoiler даже невооружённым взглядом видно, что произвольная навигация намного сложнее, нежели навигация по сетке. Сетка - это на самом деле граф, а навигация по графу - задача давно решённая и незатратная. Наверное можно написать алгоритм навигации в произвольном окружении, но как представить себе затраты... Здесь даже навигация в пределах пары метров будет сопряжена с колоссальными вычислительными затратами на анализ бесчисленного количества конфигураций пространства. Хотя бы просто решить куда можно сделать шаг, а куда нельзя. Трассировкой лучей определять? Сканировать всё пространство вокруг да ещё с учётом габаритов персонажа? Теоретически можно, практически же даже одиночный запрос на трассировку лучей - весьма тяжёлая операция, и в движке используется в микроскопических дозах. Представим себе теперь, что этим занимается каждый непись, да на каждом шаге, да при этом по много-много раз. И это просто для того, чтобы решить, можно ли сделать шаг в сторону. Теперь можно помедитировать на тему, как построить путь из таких шагов в произвольном окружении, ну хотя бы на пару десятков метров. Кроме того, к сетке же привязана информация об укрытиях. В СДК вроде как немалая часть времени просчёта сетки уходит как раз на просчёт укрытий: надо из каждого узла сетки просканировать пространство вокруг на предмет его закрытости. Представим себе теперь, что этим надо заниматься в каждый момент боёвки. Spoiler было бы разумнее пофиксить ограничения движка на размер AI сетки. Это уж всяко более реалистично, чем пытаться сделать "как в реале". Можно даже попытаться сделать навигацию максимально близкой к имеющейся. Ну например: Пусть имеется суперлокация, покрытая узлами глобального графа. На этой суперлокации мы располагаем много локальных сеток уровня таким образом, чтобы они накладывались друг на друга частично таким образом, что в месте "перехлёста" сеток их узлы совпадали. Таким образом, мы ходим по одной из этих сеток, а когда попадаем в зону наложения двух сеток, то незаметно переходим с одной на другую, если наша навигация ведёт нас к узлу глобального графа, который находится в другой подсетке. Например: Бар - одна сетка, дорога между Баром и Кордоном, другая сетка с зоной наложения где-то в районе блокпостов. Непись идёт по сетке из Бара на Кордон, проходит через блокпост и попадает в переходную зону. Поскольку отсюда путь ведёт в другую сетку, то он перейдёт на сетку дороги и пойдёт уже по ней, и т.д. Такой подход позволил бы оставить львиную долю имеющегося кода. Это так, в качестве изобретения велосипеда. Я уверен, что на эту тему уже понапридумано весьма немало. 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Змея 240 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 Вообще, что на мой взгляд требует фикса относительно именно аи-сетки...Дополнительно к размерам самой сетки естественно. Ужасающие зависы неписей в проходах - имеющих двунаправленные ноды. Ссылка на комментарий
НаноБот 737 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 @Malandrinus, Нет, проверять проходимость габарита НПС надо, хотя бы чтобы непыси не упирались в вдруг друга, как бараны. ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Змея 240 Опубликовано 13 Августа 2018 Поделиться Опубликовано 13 Августа 2018 А причем тут проходимость? Неписи посреди Красной площади вполне могут упереться друг в друга... Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти