Kamrad.ru

Kamrad.ru (https://kamrad.ru/index.php)
-   S.T.A.L.K.E.R: Shadow of Chernobyl (https://kamrad.ru/forumdisplay.php?f=108)
-   -   Зачем исчезают дырки :) (https://kamrad.ru/showthread.php?t=65353)

Laeron 08-11-2004 22:29

WARLORDstrateg спасибо тчо еще сказть есть разумные люди.
Для остальных как вы опустились? А? Такоен чувство что сидят 14 летние дети у которых гармоны разыгрались.
Так теперь что хочу сказать. Я вроде нормально описал ситуацию. Что дело не в памяти для дырок. Прочитайте выше я прошу, если кому то непонятно конкретно задавайте вопросы.Maverickaust дело не в памяти куда кто стрельнул. Тут совокупность всего поймите. ЧТО тебе еще сказать? Ну не знаю, я это описывал как это примерно выглядет.
Насчет демосцены да согласен. Все наверено видели 3дшутер в 54 килобайта. С красотищей офигенной. Правда тормозит маленько но это мелочи. Но учитывая что они пишет либо на ассембле либо со вставками ассемблера, это титанический труд :( . А эффект ленивого програминга все же есть ну тут други причины.
Гропен форева!!!!!!!! ;)

pbs 08-11-2004 22:49

The_Smerch Насчет "ленивого" программирования ты совершенно прав. Ситуация с оптимизациями в программировании катастрофическая. Со времен Элиты, когда в 48 кб запихнули бесконечное количество вселенных, идет сплошной регресс. Игровая индустрия вышла на прочную коммерческую дорогу, и каждый новый продкут разрабатывается не с "нуля", а с оглядкой на конкурентов. То есть строго соблюдается цель: сделать конкурентоспособный продкут при минимальных затратах. И компаниям, поделившим рынок, невыгодно поднимать планку качества для своей продукции, так как это будет влечь за собой такие же последствия что и при демпинге (при неизменной цене увеличатся расходы), либо даже произойдет смена сегмента рынка, если увеличение расходов компенсировать увеличеним цены.

Таким образом мы получаем то имеем: 99% проектов - делаются с качеством "не хуже чем у других". И до тех пор пока не появится ЛИЧНОСТЬ, качество не повысится. Пример - любимый всеми Ил-2. Пришел человек и сделал с нуля игру, не оглядываясь ни на кого. Или Макс Пейн 2001 года. Тоже очень профессиональная работа была. Очень надеюсь что Сталкер поднимет планку, но очень много ошибок было сделано в процессе создания. Лично я сразу сказал что с системой симуляции жизни они перемудрили - сейчас разработчики это признали. Если бы я был дизайнером игры, она была бы стопроцентным хитом.

pbs 08-11-2004 22:55

Laeron
Дык что, так и не раскритикуешь нормально мой метод? Хоть один труднореализуемый/ресурсоемкий пункт найди? Или кишка тонка, программист?

ZLLL 09-11-2004 06:55

прошу меньше личных придирок

Laeron 09-11-2004 17:24

Ну, скажу свое мнение. Допустим, ты противоречишь уже по 1 пункту и всему замыслу в целом. Так что уже, поэтому твой вариант критиковать бесполезно. НО все же если ты просил.
Вы ставили вопрос о том, что деколей будет бесконечное количество. И вопрос так ставился! Теперь ты что заявляешь? В ограниченном количестве. Вы сами себе противоречите, а что это показывает? Я думаю, все поняли, и все могут прочитать ваши посты :.
2 пункт ну что же согласен можно.
3 пункт. А вот насчет этого вам уже писали, если ты не помнишь. Движок не 3DMAX. Это раз. Движок не рендерит текстуры он ими пользуется. Отрисовывает их твое железо :. Потом допустим, что разрабы сделали из своего движка 3 дмакс :, тебе вроде говорили, что переход между локациями будет "слегка" долгий. Так и представляю, что разрабы над полосочкой загрузки напишут типа "А пока мы грузимся, вы можете сходить выпить чаю, постирать свои вещи или накормить ребенка". Я думаю, ты понял к чему я виду.
Дизайнер ты наш, не побоюсь этого слова гений! Как тебя такого не нашли? Где же ты был? Просим ПБС, покажи нам свои работы, (честно я серьезно). Особенно, интересны, будут твои работы на тему сталкера. Раз уж начал кричать об этом. А кстати ты "Пикник на обочине" читал? Это тоже в тему дизайнерства. Кто знает, тот поймет.
Извините за маленький оффтоп.

Greader 09-11-2004 17:35

Ребята я вот чего не пойму. Я сам ставил у себя на Doom3 мод, который оставлял в игре и кровь и декали и трупы монстров. fps я не замерял, но на моей не самой крутой R9600XT изменений я ВООБЩЕ не заметил.

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

Возможно Сталкеровцы и сделают нечто подобное, когда у них за плечами будет такой же опыт как у ID. ;)

The_Smerch 09-11-2004 21:08

Laeron, а вот тут мы вас, батенька, и поправим! :gigi:
На самом деле никто /даже pbs/ не ставил вопрос о безконечных дырках. Это раз.
/тебе бы самому не мешало-бы внимательнее читать посты/

Второе.
Что движок делает и то чего он не делает зависит исключительно от того алгоритма который в нем реализован. И если будет нужно он будет "восстанавливать" текстуры из векторной фомы /ибо так они меньше места на винте занимают/.

И последнее.
2 All /и особенно Laeron и pbs/ если вам так интересно поносить друг друга создайте себе ветку и развлекайтесь там на здоровье. Здесь я хочу видеть только здоровый диалог. Есть предложения, есть критика. НЕТ РЕБЯЧЕСТВА. /сколько раз еще повторить что-бы дошло?/

Laeron 09-11-2004 22:21

Хм вообщем вопрос этот был поднят в другой теме. И вопрос стоял в том что деколи были бы бесконечны. А как стоит вопрос тогда? Напиши по человечески. ЗАЧЕМ МЫ ТУТ ТОГДА СПОРИМ?
Здесь нет ребячества просто столкнулись интересы :). Предложения есть, и идет критика. Правда некоторые переходят на личности.
Значит вопрост теперь стоит в ограниченном колличестве дырок которые остаются навсегда в одной локации? Типа 20 дырок там 10 там? БРРРРР.

pbs 09-11-2004 22:51

То all: мне АБСОЛЮТНО неинтересно поносить Лаерона. Но тем не менее до тех пор пока он не признает свою полную несостоятельность, придется это делать.

Laeron
1. Я не противоречу в первом пункте ничему. Тебе уже сказали что ты не читаешь что пишут другие, ты просто влез в дискуссию даже не поняв о чем идет речь. Имей уважение к оппонентам, ЧИТАЙ что они пишут прежде чем отвечать.

2. Насчет возможности движка к рендерингу я уже отвечал, и насчет времени говорил тоже. ЧИТАЙ ЧТО ПИШУТ ДРУГИЕ ПРЕЖДЕ ЧЕМ ОТВЕЧАТЬ.

3. Я смею думать что из меня получился бы неплохой концепт-дизайнер игр. Возможно, даже гениальный. Но какие работы ты просишь меня показать? Тем более на тему сталкера? Я игру Сталкер не делаю, и к ее дизайну не приложил никаких усилий. Как и к дизайну дргуих игр. Так что какие работы ты просишь меня показать?

Из моих работ вообще у меня есть: рисунки десятилетней давности (в школе неплохо рисовал, в универе забросил), только начатый фантастический роман про киборгов и разных пришельцев (жутко интересно, но времени всерьез занятся нету...). Были где-то сцены созданные в 3D максе, но там нет ничего впечетляющего - в основном делал оформление к кассетам с записью свадеб-юбилеев и прочее. Я там уже давно не работаю. Сейчас Макс для меня просто хобби, как для других игра в Квейк. Моделированием не занимаюсь, зато обожаю анимацию. Выложил бы ролик а-ля Звездные войны, но сижу на диал-апе.

P.S. Пикник на обочине читал. Вот только совершенно не понял к чему ты это. Если хотел бы показатся сильно умным - лучше помянул бы что-нить из репертуара Ивлина Во или на худой конец Д.Д. Сэлинджера. Гы-гы-гы... Упадок и разложение...

Don Reba 09-11-2004 23:34

The_Smerch
2 All /и особенно Laeron и pbs/ если вам так интересно поносить друг друга создайте себе ветку и развлекайтесь там на здоровье. Здесь я хочу видеть только здоровый диалог. Есть предложения, есть критика. НЕТ РЕБЯЧЕСТВА. /сколько раз еще повторить что-бы дошло?/
поддерживаю

KHEXT 09-11-2004 23:49

pbs да че вы в самом деле!!!!

Как маленькие...

Прекратите этот дурацкий спор.
С перерисовкой текстур идея плоха до безобразия.
Ты хочешь програмно перерисовывать текстурку (если я правильно понял). Никто не мешает, но только время подгрузки увеличится в разы.
Мы хотим менять в текстуре (програмно!!! что не маловажно) цвет кое-каких пикселей. Хорошо!!! На перерисовку одной текстуры размером 40х40 пикселей будет уходить пол секунды (даже треть, если процедура на АСМе). Ты предлагаешь огромное количество текстур перерисовывать динамически во время подгрузок.
Метод нехорош тем что тебе придется помимо самой перерисовки обращаться к массивам, в которых хранятся координаты дырок, потом делать ДЛЯ КАЖДОЙ!!!! текстуры выборку мест которые должны перерисоваться.
Не стоит забывать, что помимо перерисовки, тебе нужно подготовить следующую локацию.
В среднем подгрузка локаций обещает занимать где-то минут пять, а то и больше.
pbs нам оно надо... :)
Laeron побольше конструктив, а то голыми фразами человека не убедить !

KHEXT 09-11-2004 23:51

Don Reba согласен.

pbs и Laeron, обменяйтесь номерами icq и общайтесь на здоровье. ФОРУМ НЕ ДЛЯ ЭТОГО !

Real Scorp 10-11-2004 04:22

2Don Reba
Тц-тц-тц-тц... Кажется, разрабы говорили о 3 млн. треугольников как о малодостижимом пределе. Наверное, для этого нужна очень сложная сцена и минимальное упрощение моделей. И никто не говорил, что при 3 млн.треугольников будет приемлемый фреймрейт даже на топовых машинах. Хотя, может, я чего и пропустил :)


2alexnn
Грамотно выстроенные рассуждениz. ЗдОрово.
Кажется, есть одно узкое место:
3. Сообщить о дырках в данной плоскости
3д движок вызывает эту функцию когда рисует поверхность. Наш компонент делает поиск с своем списке дырок и возвращает
движку список дырок лежащих на этой поверхности.

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


2pbs
Какой-то лох (кажется КНЕХТ) в ответ на мою идею запоминать дырки в логах и отрендеривать их на текстуры в промежутки между загрузками сказал гениальные по глупости вещи - что мол используются на разные обьекты одни и те же текстуры, и тормозить это будет немерянно.

Если вы имеете ввиду постинг в теме вопросов разработчикам, то про тормоза и много текстур говорил я. Но в ответ на идею именно перендеривать текстуры и складировать их на винт. Узкое место будет в распаковке-наложении-ЗАПАКОВКЕ. Создавать архивы, даже самые несложные в условиях занятой игрушкой оперативной паямяти из нескольких десятков мегабайт не очень быстрое занятие.

А про дырки, воссоздаваемые из логов я НИЧЕГО не говорил.

К слову, захочется еще раз кого-то так обозвать - делайте это с глазу-на-глаз при личной встрече. Адрес могу дать :)

ТО что вы описали - это поддержка EAX
Не совсем. То, что я описал - это все-таки то, что я описал. Для данного конкретного эффекта EAX совсем не нужен. То есть и при отсутствии EAX-карточки эффект может воссоздаваться элементарными софтверными методами. Меня именно интересует, будет ли он в Сталкере. В других играх я вроде бы ничего такого не замечал.:(

Со времен Элиты, когда в 48 кб запихнули бесконечное количество вселенных
Гм. Насколько я помню, там было всего 7 галактик и несколько сотен систем в общем. Это НЕ много. И почему тогда регресс? Например, Diablo 2 - каждое начало игры все локации пересоздаются динамически, случайным образом. Это намного сложнее.

ZLLL 10-11-2004 06:08

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

alexnn 10-11-2004 12:25

Real Scorp
Для каждого треугольника вызывать процедуру поиска? Боюсь, вот здесь-то и будет весь кашель.
Так это только идея. Первое приближение.
Показать что, в принципе, задача решаема (памяти хватит :))
Как уже конкретно извлекать инфу о дырках - это второй вопрос.
И он будет сильно зависеть от того как работает 3д движок. Я не спец в этом вопросе. Не имею даже начальных знаний.
Но думаю, что наверняка можно распараллелить доставание инфы о дырках с другими этапами рисования (например рассчет теней?)
Да и информацию о дырках можно хранить в другом виде. Например, в двумерных координатах в системе отсчета привязанной к поверхности объекта, + хранить идентификатор объекта.
Да много чего можно придумать

Eiken 10-11-2004 13:28

ИМХО причем здесь оперативка? Пример: в том же максе запросто сделаю полмегабайтную сцену (а таких в оперативке скока можно хранить?), а кадр рисоваться день будет на любом железе, причем все, что комп посчитает мы увидим на картинке.
Взять те же динамические тени: координат источников света в оперативке можно хоть миллион хранить, так почему мы не видим такого количества источников света с трассируемыми тенями в реальном времени? Сделали бы на небе типа полусферу со 100000 (допустим) точечными источниками в узлах сетки, эффект GL был бы типа :) Оперативки-то хватает.

The_Smerch 10-11-2004 14:44

2 Laeron, ты ведь читал мои посты на первой странице?
Там четко написано:
[цитата]
требования к алгоритму:
1. высокое /максимально возможное/ быстродействие
2. достаточно большое /очень большое/ количество запоминаемых дырок
3. минимальная прожорливость по ресурсам.
[/цитата]
Видишь, про безконечные дырки речь не идет.
Далее:
[цитата]
А насчет реализации... Знаете, я тут подумал... Нам же не требуется объять не объятное?
Взять хотя-бы те дырки что остаются от пуль на стенах.
Так вот
если стрелять из автоматического оружия с расстояния десятка метров в одну точку, то через некоторое время следы/декали/ будут лежать друг на дружке в несколько слоев.
Теперь вопрос:
А зачем нам помнить их все если полезной информации на см площади они не несут?
[/цитата]
И потом мы в каком веке живем? Правильно в 21. Что мешает нам грамотно исполнить объектную модель?
Типа есть объект стена_дома_моего_1 я беру и выплняю пистолет_ака_макоров>стрелять&патрон.пуля
естественно возникает объект пуля.лететь, управляется физикой и в момент взаимодействия стена_дома_моего_1 и пуля.лететь возникает новый объект стена_дома_моего_1.дырка_1 с какими хош свойствами. А объект пуля.лететь освобождается. При этом можно сразу делать проверку "а есть ли еще дырки по-близости" и соотв. либо не добавлять новую либо обновить уже имеющиеся.
Главное здесь реализовать механизм прорисовки всего этого только тогда когда я это имею 75%~100% шанс увидеть.
ИМХО зачем сразу грузить в память то, что я имею очень незначительный шанс увидеть?
Есть вещи витальные, а есть не совсем и совсем не. Имеет смысл сразу и напрочь грузить только витальное, а остальное в зависимости от настроек и мере надобности.

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

Laeron 10-11-2004 19:45

The_SmerchСогласен если стрелять в одну точку то легкая проверка и деколи отрисовыватся не будут.Вопрос: Но если ты стрельнул отклонился всего лишь на пару сантиметров, так что центр новой дырки будет попадать в радиус старой? Как в твоем методе это отразится?
Я читаю хорошо. Просто все начиналось в другой теме из за этого. Ну ладно проехали. Теперь вопрос стоит в том чтобы ЗАПОМИНАЛОСЬ ну, например, последние 500 дырок? Так? Но, мое личное ИМХО что это будет слегка некрасиво.
А еще примерик. Вообще если ставить вопрос о деколях, то на сегоднешнем уровне реализации графики бесконечные деколи(Ну к примеру смогли реализовать) выгледели бы некрасиво. Ну представьте идете вдоль забора в котором 10000000 дырок, а рядом дом весь в черных пятнах от взрывов и дырках от пуль. Будет выглядеть все это не эстетично(на егодняшнем уровне). НО если бы реализация лежала уже не просто прилепили тестурку к текстурке, а при выстреле отлитал кусочек стены(МУХАХА) вот тогда бы это было красиво :). Но это так мечты.

alexnn 10-11-2004 20:01

The_Smerch

>И потом мы в каком веке живем? Правильно в 21. Что мешает нам грамотно исполнить объектную модель?
На таком уровне абстракции даже не надо упоминать про ООП :-) Может так окажется что для эффективной имплементации нам нужен будет просто С ?

KHEXT 11-11-2004 22:40

Laeron это не мечты, а суровые реали...
Воксельные движки ни кто не отменял =))

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

pbs 12-11-2004 04:12

Еще одно хамство - и забаню нафик. Alexvn

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

KHEXT Laeron это не мечты, а суровые реали...
Воксельные движки ни кто не отменял =))



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

Laeron 12-11-2004 09:32

Оффтоп: Я вообщето другое имел ввиду, и вообще это было сказано не в тему :) и просто так. Нда странно реагируют.

The_Smerch 15-11-2004 13:25

Гы... притихли... /ZLLL респект :)/
2 Laeron, хорошо раз тебе хочется "по полной" тогда давай прикинем какие задачи нам прийдется решить для реализации "осколков" от стен. /плюс мона и остающиеся пули как нить заварганить/.

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

KHEXT 18-11-2004 20:05

Я тоже хочу реализЪма !!!!!!!!!

Теперь послушайте, че я хочу....

Я хочу, чтобы от пуль оставались дырки в стене, чтобы можно было в эту дырку наблюдать пейзаж или соседствующих монстров. Я хочу рыть СТАЛКЕРАМ могилы - убил конкурента, и чтобы никто не догадался, выкопал ему могилу, причем я хочу наблюдать и участвовать в процессе возникновения ямки (котлована... у кого на что терпния хватит..=)).
Я хочу делать ловушки для монстров. (рыть ямы, а внутри вбивать деревянные колья, которы затачивал сам, наблюдая за процессом).

Наконец, хочу чтобы СТАЛКЕР был умным и в один прекрасный момент, он развернул ко мне свое лицо и сказал:"Слышь ты, мы уже в десятый раз вычищаем эту местность, я устал, а ты видимо нет... Я туда больше не пойду" или "ты ламер, играть не умеешь... десять раз уже загрузился, а пройти не можешь... Я туды больше не пойду.. Умирать неохота..."

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

Don Reba 18-11-2004 22:47

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


All times are GMT +3. The time now is 02:16.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Любое использование материалов сайта
возможно только с разрешения его администрации.