Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 30 Января 2015 Это популярное сообщение. Поделиться Опубликовано 30 Января 2015 (изменено) Судя по регулярно происходящему в других темах - таки нужна.Вот здесь как раз можете спросить про "зачем создали эту тему ?" А также про ООП, про как заниматься моддингом и его устарелости неустарелости, кто как его себе представляет и т.д. В общем, для много слов "обо всем". Что в более специализированные темы не лезет, но поговорить давно хотелось и хочется. Но таки да, пп 2.0, 2.1 и даже 2.5 правил здесь вполне таки действуют. Изменено 30 Января 2015 пользователем Dennis_Chikin 5 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Expropriator 2 118 Опубликовано 5 Октября 2016 Поделиться Опубликовано 5 Октября 2016 @abramcumner, да меня в контакте на счет движка спросили, вот я и перебаламутился. Я знаю точно, что http://www.gsc-game.ru/обратная связь не желает сотрудничать. Я год назад писал на почту и тишина. Ссылка на комментарий
НаноБот 737 Опубликовано 5 Октября 2016 Поделиться Опубликовано 5 Октября 2016 (изменено) Хотел спросить. Почему при нажатии Ctrl+F7(скомпилировать) у меня не создаётся исполняемый файл(xrGame.dll), то есть компиляция запускается, а этот файл не обновляется. Просто нажать F5(построить решение) слишком долго собирает, порядка 26 минут, а на Ctrl+F7, быстро, но файл не создаётся. Изменено 6 Октября 2016 пользователем HellRatz ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Malandrinus 615 Опубликовано 6 Октября 2016 Поделиться Опубликовано 6 Октября 2016 лицензии на использование движка x-ray? Мне нужен пункт на коммерческое использование. Почитай ридми к игре, раздел "лицензия". Там всё популярно расписано =) Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Malandrinus 615 Опубликовано 7 Октября 2016 Поделиться Опубликовано 7 Октября 2016 Почему при нажатии Ctrl+F7(скомпилировать) у меня не создаётся исполняемый файл(xrGame.dll), то есть компиляция запускается, а этот файл не обновляется Потому что это компиляция одного выделенного файла. Скомпилировать проект (построить или build) - значит скомпилировать все изменённые файлы, входящие в этот проект, а также слинковать, что тоже занимает время. Да, и ещё конечно надо собрать и подчинённые проекты, если там что-то изменилось, а это почти все остальные проекты в случае xrGame.dll. С другой стороны, если проект уже собирался, то все файлы уже скомпилированы, и если реально изменён всего один файл (и через заголовки не затронуты другие файлы), то сборка должна занять относительно немного: собственно скомпилировать один файл и слинковать. Время линковки - это обычно что-то в районе до минуты. слишком долго собирает, порядка 26 минут Что-то слишком долго. У меня минут 7 собирает с нуля. При оптимальных настройках меньше пяти Это конечно зависит от компьютера, но и у меня далеко не топовая машина (Intel Core i7 970 3.2Ghz). Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
НаноБот 737 Опубликовано 7 Октября 2016 Поделиться Опубликовано 7 Октября 2016 (изменено) Да, долго код создаётся, можно конечно отключить оптимизацию, тогда минут 10 и файл xrGame.dll получается размером 10-12 МБ. Но опять проблемы, получаются не понятные вылеты, пока не разобрался где косяк, возможно скрипты или конфиги накрутил. Ах да, что лучше нажимать, "собрать xrGame.dll", или "собрать только xrGame.dll"? ЗЫ У меня русская версия. Athlon II X4 640 3Ghz, 4-1 GB, WinXP 32 bit. ЗЫЫ В общем, разобрался, если собирать проект без оптимизации, то выскакивает ошибка в скрипте task_manager.script:222 - defend_object = nil. Я закинул себе в папку scripts этот скрипт и подправил код, но закинул не тот, т.е. из патча 1.0004 или 1.0005, в общем, мучился целую ночь. Сейчас всё работает, но этот баг выскакивает если проект собран без оптимизации, т.е. алгоритмически код разный получается. Вот так то. Изменено 7 Октября 2016 пользователем НаноБот ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 12 Октября 2016 Поделиться Опубликовано 12 Октября 2016 (изменено) Господа присяжные заседатели ! А не пора ли у нас уже как-то упорядочить темы, касающиеся движка ? То есть, вот все эти правки "по интересам" расширить, углУбить © и вообще... "Редактирование", "мелкие правки", ТЧ/ЗП, какие-то тематические правки - вот это вот все - во что-то большее ? Какие есть мысли ? Чтобы кто не знает "с чего начать ?" - нашел ответ на свои вопросы, у кого процесс достиг какой-то определенной стадии - на свои ? Изменено 12 Октября 2016 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
abramcumner 1 145 Опубликовано 12 Октября 2016 Поделиться Опубликовано 12 Октября 2016 Так всего 3 темы: "редактирование движка", "xray-extensions" и "мелкие правки" из которых одна активная. "xray-extensions" строго по одному проекту, А мелкие правки ты сам сегодня поднял вопросом, место которому в курилке Остается одна тема "редактирование движка", которая не больно-то и активная. Смысл что-то менять. Ссылка на комментарий
Expropriator 2 118 Опубликовано 15 Октября 2016 Поделиться Опубликовано 15 Октября 2016 (изменено) Я сегодня видел ролики по движку NeoAxis (ред. двиг другой), на котором делается игра Hazescape с моделями из Сталкера. Конечно, графика не фонтан, но автор много смог реализовать там. Там и анимации сталкеровские есть, профессионально сделано, геймплей - старый Doom напоминает.... Видео Так, на каком движке еще сталкера не было? На арме был, крайэгине был, биг ворлде есть... Скачал: оказалось там другой движок GameGuru. Да уж такая муть. Явно мужик не туда свои способности направляет. https://docs.google.com/uc?id=0B8PRi_7_FSasSFhxa3luZW1MUlk&export=downloadМожете посмотреть. Изменено 15 Октября 2016 пользователем Дизель 1 Ссылка на комментарий
mortan 143 Опубликовано 16 Октября 2016 Поделиться Опубликовано 16 Октября 2016 можно задать вопрос по C++? собственно сам вопрос - в неком файле идёт объявление класса допустим class CUIStatic, далее без инклуда этот класс используется во всю. Добавил свой класс - ругается на "неразрешённые символы", приходится прописывать инклуд. Только тапками сильно не кидайтесь) Ссылка на комментарий
Malandrinus 615 Опубликовано 17 Октября 2016 Поделиться Опубликовано 17 Октября 2016 @mortan, без инклюда класс использовать невозможно, поскольку компилятор ничего о нём не знает. Вообще же мало информации, и не вполне понятна проблема. Лень прописать инклюд перед использованием типа? Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
mortan 143 Опубликовано 18 Октября 2016 Поделиться Опубликовано 18 Октября 2016 @Malandrinus, я имел ввиду другое - в заголовочном файле идёт перечисление классов,например UIActorMenu.h: #include "UIDialogWnd.h" #include "UIWndCallback.h" #include "../../xrServerEntities/inventory_space.h" #include "UIHint.h" #include "../ActorBackpack.h" #include "../ActorVest.h" #include "../script_game_object.h" class CUICharacterInfo; class CUIDragDropListEx; class CUIDragDropReferenceList; class CUICellItem; class CUIDragItem; class CUIListBox; class ui_actor_state_wnd; class CUIItemInfo; class CUIFrameLineWnd; class CUIStatic; class CUITextWnd; class CUI3tButton; class CInventoryOwner; class CInventoryBox; class CArtContainer; class CUIInventoryUpgradeWnd; class UIInvUpgradeInfo; class CUIMessageBoxEx; class CUIPropertiesBox; class CTrade; class CUIProgressBar; далее эти классы используются так будто инклуды есть. Мб я чего-то не так понял, но вроде инклудов нету. Ссылка на комментарий
Malandrinus 615 Опубликовано 18 Октября 2016 Поделиться Опубликовано 18 Октября 2016 @mortan, понятно. Это называется опережающее объявление класса. Такого объявления достаточно для объявления в свою очередь указателя или ссылки на переменную такого класса, поскольку в этом случае не надо знать размер класса (и вообще ничего не надо о нём знать, кроме того, что это класс, а не, скажем, имя шаблона или переменной). Т.е. объявив существование класса CTrade таким образом далее можно написать например так: CTrade* ptrade; Но уже разыменование указателя потребует полного объявления, т.е. инклюда. Как правило, опережающее объявление класса используется в заголовках, если в заголовках в свою очередь только объявления прототипов методов классов, где идёт передача по ссылке или указателю. Типа такого: class CTrade; class some_class { CTrade* ptrade; public: void member_fun(CTrade* pt); }; Тогда в заголовке можно ограничиться только вот такой декларацией. Соответственно, в модуле, где будет тело функции-члена, уже потребуется инклюд с полным объявлением класса CTrade. Это всё позволяет не раздувать объём заголовков (реальный, после фазы препроцессора). В ряде случаев это позволяет решить циклические зависимости между заголовками. Это также один из стимулов не злоупотреблять инлайновыми функциями-членами, поскольку они как раз могут заставить включить заголовок вместо простой декларации. 1 2 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
mortan 143 Опубликовано 18 Октября 2016 Поделиться Опубликовано 18 Октября 2016 @Malandrinus, ого, вот этого я не знал, спасибо вам, ибо такое в гугле я бы не нашёл ( не знал что искать) Ссылка на комментарий
mortan 143 Опубликовано 19 Октября 2016 Поделиться Опубликовано 19 Октября 2016 могут ли пакеты microsoft redistributable c++ негативно влиять на процесс сборки проекта, порождая неприятные вылеты? Уже и не знаю что делать с таким логом : 0023:7159F189 MSVCR120.dll [error][ 8] : Недостаточно памяти для обработки команды. Добавлено Malandrinus, 20 Октября 2016 Вряд ли. Ищи косяк у себя. Ссылка на комментарий
НаноБот 737 Опубликовано 19 Октября 2016 Поделиться Опубликовано 19 Октября 2016 Интересная мысль недавно пришла. Вырезать актора, да вырезать собаку, как и тупого Сидора ака CAI_Trader. В место актора делаем класс CCreator, т.е. реанимируем то что было вырезано, он то и подключается к CAI_Stalker под именем актор, так же можем без проблем подключится к любому существу ЗОНЫ, хоть крысы, хоть даже вороны. Вот бы ещё ворон переделать, добавить ума побольше, а то тупая декорация, научить садится на ветки деревьев и на землю, клевать трупы, нападать на других существ, ну и конечно на таком классе можно делать других мутантов, вроде летающих вампиров. В прочим ИИ займусь потом, сейчас оружейку пилю усилено. 3 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Expropriator 2 118 Опубликовано 19 Октября 2016 Поделиться Опубликовано 19 Октября 2016 (изменено) @НаноБот, ты еще вывел бы смещение развёртки для материалов при перемещении объекта, цены бы тебе не было. Глянь на скрин и ты поймёшь, для чего: Изменено 19 Октября 2016 пользователем Дизель Ссылка на комментарий
Malandrinus 615 Опубликовано 20 Октября 2016 Поделиться Опубликовано 20 Октября 2016 Вырезать актора, да вырезать собаку, как и ... CAI_Trader. В место актора делаем класс CCreator, т.е. реанимируем то что было вырезано, он то и подключается к CAI_Stalker под именем актор, так же можем без проблем подключится к любому существу ЗОНЫ, хоть крысы, хоть даже вороны. Откуда эти странные идеи, особенно про что было вырезано? Если же предметно это обсуждать с точки зрения ОО дизайна, то отдельные классы вводят потому, что нужно другое поведение. Каким образом ворона и сталкер могут быть соединены в одном классе? Интересно было бы послушать. Мысль сделать актора на "управляемом" сталкере имеет право на жизнь. Однако надо помнить, что актор с технической точки зрения на самом деле сильно отличается от сталкера. К примеру, управляется физикой, а не навигацией по сетке. Это тянет за собой много мелочей, которые на первый взгляд неочевидны. Сидора, АКА CAI_Trader, на самом деле можно вырезать и заменить специализированным сталкером, особенно в ЗП, где вопрос с анимациями проработан куда лучше. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
НаноБот 737 Опубликовано 20 Октября 2016 Поделиться Опубликовано 20 Октября 2016 А Сидора же делали сталкером в ОП-1 ещё, так что и в ТЧ можно полноценно сделать, анимации скриптом отыгрываем, сидеть на стуле НПС тоже в ТЧ умеют. На счёт актора, просто под управлением CCreator перехватываем управление НПС, т.е. НПС как бы отключается и мы полностью им управляем. ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Malandrinus 615 Опубликовано 20 Октября 2016 Поделиться Опубликовано 20 Октября 2016 (изменено) А Сидора же делали сталкером в ОП-1 Торговец - почти в чистом виде подмножество сталкера: инвентарь, торговля, диалоги, но без навигации и боёвки. Поэтому это и возможно. Вряд ли возможно ещё какое-то обобщение классов существ. просто под управлением CCreator перехватываем управление НПС, т.е. НПС как бы отключается и мы полностью им управляем. Всё-таки наверное CCreature, а не CCreator. Для начала, сейчас и так есть класс CEntityAlive, от которого унаследованы все остальные существа. Это мало что даёт для реализации твоей идеи, поскольку в этом классе, как и положено, только самый общий функционал и данные для живых существ, т.е. практически ничего там нет. А непосредственное управление включает множество деталей, относящихся к конкретному существу. Ну скажем собака ходит не так, как человек, а снорк не так, как собака, и даже актор ходит не так, как сталкер. Атакуют они по-разному. Инвентарь у них разный, если вообще есть, и т.д. и т.п. Для реализации такого управления надо по-сути для каждого существа реализовать свою отдельную схему управления, включая худ, интерфейс и т.д. Само по себе это работать не будет. Так и в чём тут простота? Изменено 20 Октября 2016 пользователем Malandrinus Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Expropriator 2 118 Опубликовано 20 Октября 2016 Поделиться Опубликовано 20 Октября 2016 (изменено) Что то мне подсказывает, что смещение развертки, это не забота движка, а возможность Директа. Это уже давно применяется в играх. Короче, надо копать не двиг, а взять и убить в тесте какой нибудь шейдер, например на руках худа ГГ. Я посмотрел шейдеры в Нео Аксис и там только один, что то напоминает подобное: Это может быть искомым мной шейдером? void main_vp(//uniform float4x4 worldViewProjMatrix,uniform float4x4 worldMatrix,uniform float4x4 viewProjMatrix,uniform float3 cameraPosition,float4 position : POSITION,float4 vertexColor : COLOR0,out float4 oPosition : POSITION,out float4 oVertexColor : TEXCOORD0){const float depthOffset = -.05f;float4 worldPosition = mul(worldMatrix, position);float3 dir = normalize(worldPosition.xyz - cameraPosition);worldPosition.xyz += dir * depthOffset;oPosition = mul(viewProjMatrix, worldPosition);//oPosition = mul(worldViewProjMatrix, position);oVertexColor = vertexColor;}///////////////////////////////////////////////////////////////////////////////////////////////////void main_fp(half4 vertexColor : TEXCOORD0,out half4 oColor : COLOR){oColor = vertexColor;} Еще где то вычитал, что за это отвечает вертексный или пиксельный шейдер...моя память, меня подводит.... Изменено 20 Октября 2016 пользователем Дизель Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти