При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > GameDev
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.04.2017, 18:16  #1
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 11,921


По умолчанию Игровые движки: стереотипы и заблуждения

Под спойлером развернутое объяснение для чего нужна эта тема.
Оффтоп

BSP плохо работает с открытыми пространствами
BSP - это алгоритм индексации пространства. Ему абсолютно наплевать коридоры у вас или лужайка до горизонта. Главным отличием BSP от QuadTree или Octree является невозможность построения дерева "налету", поскольку это занимает достаточно много времени, т.к. BSP действительно режет полигоны, там где это необходимо, чего не делают ни QuadTree ни Octree. Отсюда же вытекает ответ, полагаю, на мучающий многих вопрос, почему формат map так странно устроен, вместо вертексов - какие-то плоскости. Подобная структура гораздо более удобна при разрезании не только на полигоны, но и на сложные геометрические фигуры, как в редакторе, так и при построении дерева.

BSP требует замкнутого пространства для правильной работы
Не требует. Вы наверняка видели в кваке аптечки и ящики патронов, эти модели по сути представляют собой крохотные уровни, где такая аптечка просто висит в пустоте. А сама Квака без проблем позволяет собирать уровни с дыркой и даже просчитывать им освещение. Замкнутое пространство необходимо для правильной работы порталов, которые в свою очередь необходимы для ускорения работы VIS. Вы наверное обращали внимание, что VIS вообще работает крайне неспешно? Так вот, если считать видимость без порталов, подобная операция может вообще растянуться на недели, если считать видимость каким-нибудь рей-трейсингом из каждой точки. Таким образом требование замкнутого пространства это одна из оптимизаций, постепенно превратившаяся в абсолютное требование.

GoldSource создан на базе движка Quake 2
На момент передачи исходников конторе Гейба, никакого Quake2 в природе еще не существовало, а с учётом модификаций движка Quake1, сделанных Valve, что-либо добавлять из Quake2 на тот момент стало просто безсмысленным - ID и Valve уже разошлись в своём подходе. Поэтому GoldSource сделан на базе NQ (NormalQuake). Однако, с появлением CS остро встал вопрос о внедрении нормальной поддержке сети с предиктингом движений игрока и Valve использовала исходники QuakeWorld (который является веткой от NQ и часть наработок из которого вошла в Quake2), взяв правда не всё, в частности был выброшен предиктинг нелокальных игроков, но зато введена компенсация лагов. Однако, как я понимаю, между Valve и ID был достаточно долгосрочный контракт по тех-поддержке, поэтому наработки из Quake2 попали в Source. Правда в очень ограниченном кол-ве. Фактически туда попал только формат уровней из Quake2 и компиляторы карт, поверх которых вальвовцы накрутили дисплейсементы и делюкс-мапы. Сам же Source представляет собой сильно переписанную версию GoldSource с двумя ключевыми моментами - движок был переписан с чистого Си на С++ и графическая под-система переделана с OpenGL на DirectX, однако в целом архитектура почти не поменялась. Т.е. революции там не было, только эволюция, к тому же достаточно спорная в некоторых местах. Но для 2004-го года это было вполне актуально.

тема будет обновляться по мере поступления новых вопросов и предложений о чём еще написать
Дядя Миша вне форума Ответить с цитированием
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 11:01.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2017 by CS-Mapping.com.ua Community