HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 27 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Нужно ли сохранять совместимость Paranoia 2 c Half-Life? (https://hlfx.ru/forum/showthread.php?threadid=4344)


Отправлено Elber 01-04-2014 в 01:08:

Нужно ли сохранять совместимость Paranoia 2 c Half-Life?

Здравствуйте форумчане! По старой традиции, любые споры и дилеммы - разрешаются благодаря общественному мнению на форуме.

Перейду сразу к теме:
все мы давно знаем что работа на Paranoia 2 перекатила на Xash3D. Сей движок дал неописуемый скачок в прогрессе и преодалении ограничений древнего GoldSource. К сожалению, периодически возникают споры с Дядей Мишей касательно удобства работы с движком (вполне нормальная ситуация для процесса разработки с автором).

Предмет спора: сохранение "компатибильности" с Half-Life. Желание сохранить совместимость на первый взгляд кажется вполне нормальной политикой движка, но не без глупых проблем и ограничений, как в итоге показала практика во время работы.

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

Последний месяц нормалки лежали по адресу: base/textures/studio/....*tga

Тоесть - в руках у нас пулемет Печенег (текстура weapon_pecheneg.bmp в модели) и weapon_pecheneg_norm.tga, weapon_pecheneg_gloss.tga за выше указанным адресом. Тоесть, ВСЕ модели в игре которые имеют этот пулемет - будут запрашивать base/textures/studio/weapon_pecheneg_norm.tga
Эт понятно надеюсь.


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

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

Вместо этого решения, Дядь Миша, представьте себе, не спрашивая меня - сообщил что изменил систему адресов для нормалок и спекулярок для моделей, чтобы избежать коллизии.
Что он сделал: в папке textures вы создаете папку с названием вашей модели (напр. v_aks), забрасываете туда weapon_aks_norm.tga, weapon_aks_gloss.tga, player_hands_gloss.tga, player_hands_norm.tga, player_sleeves_norm.tga.

Теперь представим себе, что у нас например 18 стволов, и у каждого одни и те же руки. Получается: три материала одной и той же руки с рукавом раскладываем по 18-ти папкам, 3 умножить на 18 = 54 дублированных файла *tga. И это всего лишь на примере рук!!! Не хочется думать сколько нужно будет дублировать файлов для моделек труб на картах и других пропсов.

Дядь Миша утверждает - это единственное решение проблемы с коллизией названий текстур в модельках, при этом сохранив совместимость с Half-Life.

Кстати, еще один пример последствий желания сохранить совместимость:
раньше в параное документы строились спрайтами, а сейчас цельным *tga (с ним легче лаботать). Как известно - *tga имеет свойство сохранять альфа-канал. Но на практике, вставив фон документа в *tga - обнаружил что плавного перехода от видимой до невидимой части нету. Переход грубой "лесенкой" попиксельно. Точно как в тестурах с 0 0 255 цветом.

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

Объясняю:
1. Чтобы сделать первую часть на движке второй - достаточно скомпилить карты исходников первой части (которые при желании предоставит BuZZeR) - во вторую.
2. Желание кого-либо портировать первую П на вторую не должно влиять никаким образом на разработку второй.
3. Мы не обязаны во время разработки заботится о желающих сделать первую часть на второй.


Выводы: Параноя 2 - это не Half-Life. Считаю что пытатся сохранять совместимость, это никому не нужное дело. Пытатся сохранить архаично-ностальгические нотки старой игры в проекте в 2014 году - не имеет никакого практического смысла.

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

При всем уважении к Дядь Мише (очень уважаю и стараюсь в основном прислушиватся к этому человеку), прошу Вас, Господа - разсудить нас.

Выразил сугубо свое мнение.
Возможно я не прав в чем-то.


Отправлено KiQ 01-04-2014 в 04:03:

ну а разве из studio перестали нормалки читаться? Мне кажется отличным вариантом система как с обычными hd текстурами, то есть общие для всех - в папке common, остальные по отдельным папкам

__________________
-Brain is dead-


Отправлено ~ X ~ 01-04-2014 в 07:07:

Цитата:
Elber писал:
Вместо этого решения, Дядь Миша, представьте себе, не спрашивая меня - сообщил что изменил систему адресов для нормалок и спекулярок для моделей, чтобы избежать коллизии.
Что он сделал: в папке textures вы создаете папку с названием вашей модели

Вот в этом редком случае ДМ всё правильно сделал. Я бы поступил так же.
А все нормали, лежащие не в модельных папках - общие и второстепенно-приоритетные.

Кстати, концепцию расшаривания ресурсов и доступа к ним (в базовом виде) я предлагал много лет назад на одном интересном форуме - хафлайф.ру. Видать, у кого-то где-то запало

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: half-life@conference.jabber.ru


Отправлено XaeroX 01-04-2014 в 07:19:

Не понимаю сути проблемы.
В волатиле - шейдерные скрипты, т.е. материал и текстура - вещи независимые, можно одну и ту же нормальку хоть к десятку материалов привязать, например.
В ксаше, как ДМ хвастался в теме про новый рендер, тоже есть (или вот-вот будет) система шойдеров.
Для совместимости с халфой остаются вады и вшитые в мдл-файлы текстуры.
В чём проблема-то?

__________________

xaerox on Vivino


Отправлено Elber 01-04-2014 в 09:45:

Цитата:
ну а разве из studio перестали нормалки читаться?KiQ писал:

перестали читаться.
А по новой системе я принципиально нормальки не разбрасываю.


Отправлено tolerance 01-04-2014 в 10:36:

Цитата:
Elber писал:
По старой традиции, любые споры и дилеммы - разрешаются благодаря общественному мнению на форуме.

Опрос бы прикрепить.

Цитата:
Elber писал:
54 дублированных файла *tga. И это всего лишь на примере рук!!!

К черту такую "совместимость". Даже в Source руки — едины для всех оружий. Т.е. игрок вбивает в гугле "перчатки для CS:Source" и скачивает понравившиеся.
Да и для разработчика это лучше. Сменил материал рук в игре (кодом) — у игрока руки в [крови|чем угодно].

Цитата:
Elber писал:
Считаю что пытатся сохранять совместимость, это никому не нужное дело.

И правильно считаешь.

ДМ имеет полное право придерживаться такой политики (которая на мой взгляд слишком фанатична и уже давно пошла в укор движку), но было бы здорово, если бы он отклонится от этого дела в угоду Paranoia 2 (специальный билд и всё такое).


Отправлено Cybermax 01-04-2014 в 12:46:

Цитата:
Elber писал:
Теперь представим себе, что у нас например 18 стволов, и у каждого одни и те же руки. Получается: три материала одной и той же руки с рукавом раскладываем по 18-ти папкам, 3 умножить на 18 = 54 дублированных файла *tga. И это всего лишь на примере рук!!! Не хочется думать сколько нужно будет дублировать файлов для моделек труб на картах и других пропсов.


Не вижу проблемы в этом. Мы не на диалапе сидим вроде.

Добавлено 01-04-2014 в 16:44:

Цитата:
Elber писал:
Дядь Миша утверждает что совместимость нужно сохранять для того, чтобы любой желающий мог пересобрать P2 - под первую часть. Тоесть, наверняка найдется такой энтузиаст.


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

Добавлено 01-04-2014 в 16:46:

Другой вопрос если убрать совместимость с халфой то как лахферы будут делать моды к ней?

__________________


Отправлено XaeroX 01-04-2014 в 12:57:

Цитата:
Cybermax писал:
Не вижу проблемы в этом. Мы не на диалапе сидим вроде.

Угу, а видимопамять резиновая?
Цитата:
Cybermax писал:
Вопрос только в том почему нельзя убрать совместимость с халфой и выпустить обе части стендэлон?

А смысл? Ретрибушен вон был стандалон, хотя и на халфе сделан.

__________________

xaerox on Vivino


Отправлено marikcool 01-04-2014 в 13:09:

ну как ДМ сделал это правильно для двига, долепите спец кварс(специально для P2) для переключения в старую систему чтобы не тратить время на перекидку по новой системе.
для конфилкта legs.bmp сделайте текстовый файл, который оверрайдит пути и все.

не вижу смысла совместимости с HL, тем более это стим и хл с sdl уже пропатчился достаточно.

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

__________________
vk.com/skullcapstudios


Отправлено XaeroX 01-04-2014 в 13:11:

Цитата:
marikcool писал:
если не будете гринлитить проект отказывайтесь от HL

А если будут - то заявить во всеуслышанье о совместимости? Чтобы вальва заинтересовалась правовыми вопросами?

__________________

xaerox on Vivino


Отправлено Дядя Миша 01-04-2014 в 13:52:

А теперь послушаем начальника транспортного цеха

Как опытный разработчик, я вижу проблемы уже на этапе их зарождения и стараюсь решать радикальными методами, пока это не затрагивает никаких важных аспектов. К тому же я чётко разделяю границы действия кодера и остальных участников. Если кодер может облегчить жизнь остальным - это надо сделать. Почему? Потому что кодеру это не будет стоить ровно ничего - написать один раз немного кода. А если этого не сделать, остальные будут терять время на идиотские ограничения, пытаясь угодить программе.
Есть конечно такие люди, которым доставляет удовольствие писать максимально неудобные и некомфортные программы - такие, например, работают в госучереждениях. Теперь рассмотрим суть вопроса более подробно. Итак:
Проблема заключается в том, что согласно халфовской концепции, каждая модель имеет свой набор текстур. В рамках первокваковской концепии, не только модель, но еще и каждая карта имела таковой набор. В Half-Life ввели общие вады, чтобы сэкономить немного памяти. Технически это выглядит таким образом, что движок грузит текстуры, хоть и в общий массив, но персонально для каждой модели - свои. И по смене карты точно так же выгружает все текстуры, принадлежащие данной модели. Механизм, который мог бы обеспечить независимую выгрузку текстур крайне хрупкий, я вовсе не собираюсь вводить его в движок на финальном этапе разработки, хоть с кваром, хоть без квара.
В XashNT такой безусловно будет, здесь - не будет никогда. Не стоит думать, что я не пытался его ввести. Пытался. В новом рендерере для XashXT. Разом огрёб столько проблем, что моментально всё это вычистил и забыл. Значит этот вариант отпадает в корне, и совместимость здесь вовсе не при чём. Мною был предложен традиционный вариант - распихать текстуры моделей по разным папкам. Это хорошо зарекомендовавшая себя практика, которая не имеет недостатков.
Кроме одного (условного). Некоторые личности, а таких у нас на форуме человек пять, не написавшие за свою жизнь ни одного движка, вдруг озаботились оптмизацией памяти. Видимо потому, что это единственная. доступная их пониманию вещь, как можно оптимизировать память.
В связи с этим имеем крайне забавную ситуацию - меня, разработчика этот небольшой перерасход памяти совершенно не волнует (поскольку я знаю, что он действительно небольшой), а их, людей, не имеющих к кодингу вообще никакого отношения - волнует. Но каковы практические мотивы всего этого? Может быть перерасход памяти приводит к незапуску приложения на видеокартах с ограниченным кол-вом видеопамяти? Нет, не приводит. Может быть большой расход видеопамяти влияет на скорость отрисовки? Нет, тоже не влияет. Так чего же они спрашиваются лезут со своей оптимизацией? А я вам скажу.
ЧСВ и желание показать себя компетентным в вопросах, в которых они ничего не понимают, но очень хотят понимать. Первые вопли про эти текстуры я услышал еще в 2010 году от Кутузова. Он же предлагал мне переименовать папку sound в папку audio. Я думал, что это еденичный, известный медицине случай. Но теперь я вижу что это ТЕН-ДЕН-ЦИ-Я.
Теперь, товарищи, рассмотрим, как именно топик-стартер предлагал разрешить данную проблему. Когда он впервые об этом рассказал, я аж глаза протёр. Мне показалось, что я просто сплю и это дурной сон.
Он мне сказал - это ничего, что имена в 664 моделях паранои пересекаются между собой. Я просто возьму, найду все пересекающиеся имена в 664 моделях паранои, поменяю их на непересекающиеся и всё будет просто замечательно. Т.е. человек, сознательно, хочет взвалить на себя рутинную, абсолютно бесполезную работу, которую можно было бы вообще не делать, а вместо этого заняться, например детализацией уровней. На мой вопрос, представляет ли он, сколько это займет времени. ответил, что к маю уже всё будет готово. Вдумайтесь только, человек хочет отдать целый месяц на бесполезную работу, которой могло бы не быть, а народ тем временем будет спрашивать "скоро релиз?".
Ну ладно. В конце концов, каждый угорает по хардкору как может и если бы параноя-2 была вещью в себе, то я вообщем-то и не возражал против такого времяпрепровождения. Ну нравится человеку текстуры переименовывать и что с того? Но в том-то и дело, что параноя задумывалась как фундаментальная база для новых модов, она несёт в себе массу интересных возможностей, часть из которых скорее всего не будет использована в оригинальной игре, но пригодится мододелам.
И тут - такая подляна с колизией имён. Вы думаете кто-то еще будет сидеть и переименовывать текстуры? Да просто объявят параною "бажным движком" и забудут. Ну и зачем и главное кому такое надо?
Вот так создаются проблемы на ровном месте.

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 01-04-2014 в 14:05:

Цитата:
Дядя Миша писал:
Может быть большой расход видеопамяти влияет на скорость отрисовки? Нет, тоже не влияет.

Ну как бы текстурный кэш...
Цитата:
Дядя Миша писал:
Но в том-то и дело, что параноя задумывалась как фундаментальная база для новых модов, она несёт в себе массу интересных возможностей, часть из которых скорее всего не будет использована в оригинальной игре, но пригодится мододелам.

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

__________________

xaerox on Vivino


Отправлено Дядя Миша 01-04-2014 в 14:09:

Цитата:
XaeroX писал:
Ну как бы текстурный кэш...

Даже у самой говённой видимокарты сейчас менее 256 мегабайт памяти не бывает. Этого за глаза хватает. Т.е. через шину подкачки там нету.
Цитата:
XaeroX писал:
Хлфх тоже таким задумывался, там даже управляемые машинки были

Нет, сравнение некорректное. Я не вставлял ничего специально, просто в процессе разработки, какие-то фичи не пригождались, я мог бы их вырезать, но оставлял для мододелов

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 01-04-2014 в 14:12:

Цитата:
Дядя Миша писал:
Даже у самой говённой видимокарты сейчас менее 256 мегабайт памяти не бывает.

На ноутбуках эта память зачастую разделяемая системная, и она очень медленная.

__________________

xaerox on Vivino


Отправлено Cybermax 01-04-2014 в 14:16:

Дядя Миша вот и мне кажется что эта мысль об экономии видеопамяти сильно надуманная. В конечном же счете как ты сделаешь так и будет.

__________________


Временная зона GMT. Текущее время 14:26. Страницы (2): [1] 2 »
Показать все 27 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024