#21
25 января 2012 в 10:23
Если никто не против, вклинюсь в бурные дискуссии ::)<br />грязные шаловливые ручки и занимаюсь только ку3берсом.<br />
1) Зафиксировать код на относительно длительный срок <br />2) Отправить берса на кухню пить сердечные капли <br />3) Ломать, много всего ломать <br />4) Творить, параллельно ломая выступающие конструкции<br />1) Целиком и полностью ЗА. Хочу снова вернуться в Ку3, тени там уже много лет всё никак родиться не могут. :-\<br />2) Лучше пойду пивка на кухне попью ;)<br />3) Звуковой код ломай, не жалко, там в принципе ничего не изменено, разве только что фиксы против buffer overflow и sexed sound.<br />4) Твори, ломай )) если что доработай рашпилем. :)<br />Вобщем, на днях тогда выкладываю то что есть, недельку народ активно тестит, и если всё нормально, то я убираю свои
#22
25 января 2012 в 11:54
G-Man, [quote author=G-Man link=topic=3.msg16419#msg16419 date=1327483943]Проект так может сильно пострадать так как много людей именно из за ку2 и следят за ним. То есть если это перерастет в нечто подобное overdose от blur team , то не факт что это будет пользоваться спросом и популярно...[/quote]<br />Да нет) Я не про то)<br />Тут же и не собираются проект выводить за рамки ку2. Ку2 есть - ку2 и остаётся же.<br />[quote author=@tex link=topic=3.msg16421#msg16421 date=1327486078]а тут у нас непочатый край безобразий(D_R_, это к слову что берску2 логично завершен ).[/quote]<br />На сколько я понимаю, внедрение физики существенно повлияет как на серверную часть так и на клиент, а это означает что совместимость полетит в глубокую и тёмную часть тела любого человека... Конечно вопрос решается тем что собственно есть собственный протокол, изначально не совместимый, но как я понимаю там ещё и дел вагоны в дублировании и написании кучи новых кодов опять же и в клиенте и в библиотеке. Так что на физику остаёться только надеяться и делать её вряд ли кто будет)<br />С внедрением интеллекта я думаю дела вроде проще, но не с написанием этого самого интеллекта)<br />Хотя и на то и на то я не перестаю надеяться!)<br />---------<br />Насчёт зон и расстановки точек для звука?<br />Точки то снять не проблема. Декомпилировать бсп в мап. Мап текстовой файл же) Написать простенький парсер (так кажется называется), который выберет и преобразует имеющиеся на карте ентити в нужный вид и запишет всё это в нужный файл, а с зонами потяжелее будет, я так понимаю нам нужны трёхмерные объёмы? Можно опять же декомпилировать карту, в ручную расставлять там "кубы", присваивать им энтити и сохранить в мап, а потом уже по энтити опять же парсерам получать имена, параметры и координаты объёмов.<br />поправьте если что не так понял)<br />п.с. даже со своими хилыми знаниями програминга, я писал подобный парсер чтобы расставялять удобно модели и светильники для файлов декорации q2e)
#23
25 января 2012 в 12:09
Берсеркер<br />Отлично, тогда зафиксируй поинт релиз в единое базовое обновление (на случай если официальное обновление задержится, а я буду периодически бетки выкладывать)<br /><br />Обновление условно говоря будет в два крупных этапа проходить,первый - лишь бы работало и второй - нативный режим.<br /><br />@tex<br />В плане технологических нововведений реальней всего двигать Q2XP. B@Q2 более ретрограден по мышлению, так что это чисто психологическая проблема. Понятно, что Берсеркер перестраховывается, всё крутиться вокруг ретекстура. Исключение релайт, вот за это низкий поклон всем приложившим руку у этому доброму делу. Поэтому максимум что можно сделать с B@Q2 это перенести с Q2XP самый минимум от OpenAL.<br /><br />Чтобы работал доплер нужен вектор ускорения источника звука. Вектор ускорения игрока из клиента выцепить, в принципе, реально. Однако. Все остальные источники - проходят по сетевому протоколу от сервера как сущности с приаттаченными идентификаторами звука. И здесь начинается дичайшая отсталость движка. Единственный аттрибут сущности - его координаты в игровом мире и это всё. Не просто координаты источника, а центр массы, так сказать тела что совсем не одно и тоже. Так, Barnes уже неоднократно жаловался на слишком тихую озвучку мира потому что она заглушается собственными оглушительными звуками самого игрока. И сделать с этим ничего нельзя - всем рулит сервер! А для сервера игрок представлен всего лишь точкой. Звук шагов, выстрелы, всё это как бы локализуется во внутреннем ухе слушателя, и в итоге макрозона не просто порушена, она в полнейшей жопе. На существующей инфраструктуре серверу просто жизненно необходимо создать хотя-бы убогую видимость скелетки для OpenAL, т.е. создать сущность (точку в пространстве) ноги, руки с оружием, головы. Банально разнести их в пространстве, хотя бы очень приблизительно. Но, доплер работать не будет, и это уже другая вопиющая проблема. Требуется вектор ускорения! Для давненько закончивших школу посетителей QG напомню эту базовую физическую величину. Ускорение это производная скорости по времени, т.е. дельта v на дельта t, а V - т.е. скорость в свою очередь равна производной по времени радиус-вектора. Ну это просто совершенно невероятная математика для квейка! Никакими временными характеристиками объект не обладает. Плюс, требуется помнить три последних координаты точки источка звука и время получения этой информации, т.е. расчёт производных это процесс накопления информации о поведении объекта. Ничего подобного в сервере квейка нет и не предусмотрено. Да, это вплотную связано с "физическим" движком игры, про который сам Кармак говорит - "я всего лишь сделал очередного Марио (R)". При этом, даже то, что уже в квейке реализовано с технической точки зрения абсолютно неоптимально. Нагрузку на сетевой протокол реально уменьшить (по звуку) на ~80%. Нагрузку на процессор (по звуку, на картах Creative) возможно уменьшить на ~40% от той весьма оптимальной реализации что есть в Q2XP. Но это будет уже совсем другой протокол и сервер.<br /><br />D_R_<br />Да, нужны трёхмерные коробки комнат, всех помещений. Minimum bounding box. Не обязательно Arbitrarily oriented можно и выровненные по осям - но главное, чтобы не пересекались.<br />Вы абсолютно правы насчёт физики. Физика напрямую влияет на сервер, самым разрушительным образом воздействуя на совместимость. Т.е. квейк уже будет не квейком. Поэтому это и сложно и даже морально невозможно. Поэтому нереально в реальности, и очень многие обновления невозможны по это причине, хотя по ощущениям остался бы абсолютно тот же квейк 2 только "круче". Разумеется, моды бы не шли и на серверах только специальных, т.е. собственных можно было бы играть.
#24
25 января 2012 в 13:26
willow, спасибо, многое стало более понятным. постепенно картина, что из себя представляет движок ку2, проясняется.<br />Похоже, что Берс уже пришел к тому чтобы переступить черту совместимости :) и это хорошо! есть мысль обставить это так, как написал D_R_: все что наработано до этого момента - Berserker@Quake2, дальнейший проект тоже будет базироваться на ку2 контенте, но без оглядки на совместимость - Berserker@IDtech2. с точки зрения популяризации теряется конечно привязка к бренду quake2 (в поисковики попадать не будет), но зато остается бренд Berserker. хотя это конечно необязательно, и является просто моими измышлениями на маркетинговые темы ;) просто достаточно подвести черту и четко это обозначить. т.е. пипл желающий гамать с перцами упорно отсиживающими за quake2 будут иметь такую возможность. плюс на форуме подымался вопрос о собственном сервере КуГейта. экслюзив и совместимость тут могут оказаться кстати.<br />по поводу зон-боксов, идея проста: бсп уровни ку2 открыть в редакторе и поверх сделать боксы, затем сохранить их отдельно и попробовать это как-то использовать.<br />
#25
25 января 2012 в 13:55
@tex, один в один так же мыслю по всем пунктам твоего поста)<br /><br />
#26
25 января 2012 в 14:22
по скольку креатив заныкал игл, можно делать зоны двумя путями<br />1 - встроенный в игру редактор на основе лайт эдитора.<br />2 - декомпил бсп и установка боксов аналогично бмоделям в радианте, а потом парсить их инфу
#27
25 января 2012 в 15:26
@tex<br />Именно так. Уже упомянутый overdose родился не по прихоти разработчиков а по решительному настрою Макрона Технологичного. В определённый момент проект просто перестаёт двигаться. Решения становятся малоэффективны, куча хаков, трудночитаемый исходный текст. Кругом одни компромиссы. Трудночитаемый текст для меня лично является проблемой, ведь если у программы большое число альтернативных веток, то много сил тратится именно на тестирование всех веток а уж если что-то меняется, то модифицируются опять же все ветки. Очень неудобно. Похоже, будто хорошо спроектированную игру насильно ухудшают. Да, на определённом этапе возникают дисбалансы что воспринимается не иначе как ухудшение и хочется вернуться на оригинал потому что присутствует ощущение дисбалансов, нелепое и не к месту применение технологий и т.д.<br /><br />Проект Overdose начал как модификация Q2, но ушёл в сторону. В этом смысле ниша "продвинутого" Q2 пуста. Все модификации что есть в природе исключительно косметические. То, что Berserker@Quake2 близок к завершению я считаю это хорошо. Как проект он удался, да, можно конечно исправлять мелочи, но это будет лишь шлифовка того что есть. А "ухудшать" Berserker@Quake2 далее не имеет никакого смысла. По высказанным мною сомнениям есть даже колебания по поводу необходимости OpenAL. Но Berserker@IDtech2 уже имеет смысл и право на существование, при том что он будет всё тем же Q2. В его рамках можно будет обсуждать более широкий круг вопросов. Пропасть между технологическими поколениями есть, и для её устранения требуются принципиальные решения, в основном волевые. Но при этом браться нужно за реальные задачи, без фантазий и ура-патриотизма. Тот же релайт несовершенен и плач по этому поводу нисколько не улучшает ситуацию.<br /><br />Barnes<br />С технологией в принципе согласен, в игре должен быть собственный редактор и вынесенный наружу эмбиент-скрипт, по аналогии с релайтом. Но сразу оговорюсь, что это не имеет никакого смысла в рамках совместимости. Меняется сервер, потому как это уже новая функциональность. Движок сервера должен сильно поменяться и даже если дикими болтами вкрутить это дело через клиента то такое решение не даст того эффекта, что дала бы просто грамотная реализация базового OpenAL без всяких EAX. Усилия по EAX того не стоят.<br />А вообще, игл по-любому не совсем подходил. Для EAX важны лишь параметры, их подбор. Сам EAX о геометрии не имеет никакого понятия. Поэтому лучше всего параметры подгонять визуально, как и релайт. Интересно лишь, как получить боксы. Здесь отвечу и на вопрос @tex о противнике за стеной. Клиент анализирует прямую до источника звука, определяет прохождение через границу бокса и корректирует параметры EAX реверберации. Никакого волшебства, от добавления OpenAL автоматически ничего не появится, это принципиально новая функциональность игры - которая, кстати говоря ещё не реализована ни в одной GPL игре (кроме Doom 3 8)).<br />
#28
25 января 2012 в 15:40
Тут скорее уже не ЕАХ а EFX как все эффекты сделаны в д3. Номера зон и их параметры. Как я понял всем рулит клиент сайд, без сервака. Я хочу хавнуть еах4 часть из д3 и тестово прикрутить к ку2хр, погляжу что получится. А да! у опенал есть расширение al_ext_ogg Ты с ним работал? толк от него есть какой нить?<br /><br />
#29
25 января 2012 в 16:27
al_ext_ogg<br />Это хлам! Декодер во первых софтовый, а во-вторых не обязательный. Будет у тебя работать - у всех остальных не будет. Придётся альтернативный декодер прикручивать. Спрашивается, а оно надо было связываться?!<br /><br />не ЕАХ а EFX<br />Ну, может быть, может быть. В драйверах креатив хитрая система трансляции параметров туда-сюда, под конкретное оборудование своё расширение оптимально а после унификации вообще трудно сказать что является более родным. Для X-Fi думаю что родным является EAX4-EAX5. т.е. когда ты включаешь EAX2 на X-Fi на самом деле работает EAX5, ну какой-то внутренний очень похожий формат.
#30
25 января 2012 в 21:24
Вообще где то читал, что EAX5 по умолчанию уже работает и реальной игры с EAX 5 нету.