Fabien Sanglard подготовил (http://fabiensanglard.net/duke3d/index.php) подробный обзор внутреннего устройства игры Duke Nukem 3D, код которой был открыт (https://github.com/fabiensanglard/vanilla_duke3D/) около 10 лет назад. Представленный обзор можно использовать как путеводитель по коду, дающий возможность начать использование технологий Duke Nukem 3D в свободных игровых проектах, без необходимости проведения многомесячного предварительного разбора кода. Материал также является хорошим руководством для людей интересующихся дизайном архитектуры игр.URL: http://fabiensanglard.net/duke3d/index.php
Новость: http://www.opennet.me/opennews/art.shtml?num=36172
Дюк, конечно, веселая игра, но при наличии исходников Дума3, копаться в этом спрайтовом ужасе.....
> Дюк, конечно, веселая игра, но при наличии исходников Дума3, копаться в этом спрайтовом ужасе.....После обычного doom - дюк был прорывом, даже когда quacke вышел в дюк активно продолжали играть. Чего только стоит возможность установки мин.
Дюк конечно был забавной игрушкой, но с тех пор безбожно устарел.
"После обычного doom - дюк был прорывом"Вы не поверите, но Дюк вышел всего на несколько месяцев раньше Quake1. Движок которого просто разрывает движок Дюка.
Атмосфера Дюка к вопросу не относится, т.к. в статье речь идёт об изучении движка, а не атмосферы. Кстати, в Q1 и Doom-ах атмосферы не меньше, просто другая. Фор хум хау, как говорится.
> Вы не поверите, но Дюк вышел всего на несколько месяцев раньше Quake1.
> Движок которого просто разрывает движок Дюка.1. Системные требования. У quake намного выше.
2. Интерактивность: пули на стенах, разрушаемое всё, доступные ночные бабочки
3. Видимость. В quake всё тёмно серое, на тёмно сером фоне, я проходил первый эпизод несколько раз, но я даже представления не имею, с кем я там боролся. Какие-то бесформенные сгустки. А если ещё убрать то, что акселлераторы тогда были чудом, то яркая картинка и различимые объекты duke3d - это просто прелесть. А взрывы - прекрасная анимация duke против КВАДРАТНЫХ взрывов в quake.
4. Итемы - найтвижн, голодюк. Всё из коробки.
5. У шадоуорера был даже глайд. И вообще, что было оригинального на движке quake? А на build сразу же вышли такие разные blood, shadow warrior, redneck rampage, n.a.m., каждый со своими уникальными фишками.
6. Возможность менять кучу фич через .con-файлы, без пересборки и переделки. Не нужно быть программистом с большой дороги.
7. Технология не заменит души. Нигде, никак и никогда.
>5. У шадоуорера был даже глайд. И вообще, что было оригинального на движке quake? А на build сразу же вышли такие разные blood, shadow warrior, redneck rampage, n.a.m., каждый со своими уникальными фишками.А еще 2 части WitchHaven/
> Системные требования. У quake намного выше.ненамного, а движок по сравнению с квейковским... как каменный топор сравнивать с металлическим
>> Системные требования. У quake намного выше.
> ненамного, а движок по сравнению с квейковским...Я выше уже сравнил, в семи пунктах.
Где в quake были горящие люди? Разбиваемые бутылки в баре? Действующий бильярд? Кукла вуду? "Огнемёт" из балончика. Томиган, стреляющий по углам? Снайперская винтовка? Действующие телефонные аппараты? Уменьшители и замораживатели? Сюррикены, торчащие из стен?
Quake о трёх частях вообще, наверное, самая неоригинальная серия - только бегай и стреляй, однообразие поразительное. Говорить о каких-то оригинальных, ярких, использующих оригинальные фишки, играх, и говорить не приходится. В build же можно было делать такие оригинальности. И до сих пор можно. А в ufoai до сих пор стены неразрушаемые, из-за хорошо выбранного движка. Лучше бы он был трижды спрайтовый, но как в оригинальном x-com, где самое интересное строилось именно на "отзывчивости" города на гранаты.
На самом деле и в Duke3D и в Quake 2 стены разрушаются только там, где это предусмотрел дизайнер уровня. В Quake разрушаемых стен не было вообще.По фичастости Duke3D сильно опередил время. В нём даже можно было делать уровни с 3,5-мерной геометрией, когда две разные комнаты находятся одновременно на одном и том же месте, а в какую попадёшь - зависит от того, через какую из дверей заходишь. Это фича движка, основанного на порталах. Во всей серии Quake такое сделать невозможно.
> На самом деле и в Duke3D и в Quake 2 стены разрушаются только там, где это предусмотрел дизайнер уровняНо как они это делают :) Во второй карте первого эпизода целый дом последовательно сносился. Плюс разные тайные пещеры. Плюс всякие решётки. Чего там только не было. И работает (либо портирован) для dos, linux и ещё десятка-другого платформ (я лично смотрел в openbsd и icaros).
Кроме того, все, а особенно самые примитивные, почему-то не понимают основную мысль, на которую я тут усиленно пытался намекать - что производство игр, особенно свободных - это может быть и искусство. И тут есть многие важные нюансы. Смотреть стоит не только со стороны пользователя, но и со стороны разработчика.
Во-первых, интереснее те игры, которые делают не программисты, потому что программистов больше тянет делать технику и математику (кроме того, технофорумы отлично показывают, насколько все эти программисты-админы тупые, однобокие и примитивные), а не искусство. Нужны дешёвые в разработке фичи с минимальными усилиями - и тут у build есть, что предложить.
Вы видели игру judith? Её движок во многом уступает и wolf3d, но по мнению многих эта игра - настоящий шедевр. Потому что это - искусство.
И во-вторых, для свободных проектов не так важен конечный результат, как важен вклад в общую копилку свободных решений. Идея "ориентироваться только на одно", особенно в играх, приведёт к однообразию. В build было всё, от пуль до метро, потому что это была "игра", а не "продукт", потому что хотелось сделать именно так, как было задумано, а не так, как проще и как у всех. И наличие такого движка и документов по нему - это несомненный плюс для свободного сообщества.
... Ну а для группы полудурков, которые не понимают очевидных вещей, и умеют пальцы только до двух зажимать - очевидный минус. У них мир чёрно-белый, они знают только две вещи - то, на что они дрочат, и то, на что они не понимают, как дрочить, и поэтому резко визжат против этого. Говорить с ними об искусстве, о потребности людей к творчеству, о коллективной разработке и о свободе? Смешно.
Сюрприз-сюрприз! Build был закрыт до 2004 года, когда даже Quake 2 уже открыт был. Где открытость, где документация? Из 3 проектов выжил только eduke32, из 12 игр на движке сейчас можно только в 3,5 игры - остальное только через DosBOX. Где же коммуните, на которое вы так уповаете? Почему Build загнулся в 1998 году, а в потомков idTech3 мы играем до сих пор?
> Сюрприз-сюрприз! Build был закрыт до 2004 года, когда даже Quake 2 уже
> открыт был. Где открытость, где документация? Из 3 проектов выжил только
> eduke32, из 12 игр на движке сейчас можно только в 3,5
> игры - остальное только через DosBOX. Где же коммуните, на которое
> вы так уповаете? Почему Build загнулся в 1998 году, а в
> потомков idTech3 мы играем до сих пор?Потому что не читаете ни новость, ни то, что я пишу.
Я вообще смотрю, что 99% местного населения полагается на 90% на стереотипы и на 10% на собственные домыслы, основанные на тех же стереотипах и ощущениях. При таком раскладе чего-то нового в него не может попасть в принципе. Это пустой разговор.
ps. Причём тут существующие игры? Речь в новости вообще не об этом.
Да-да, все тут тупые, один ты Творец. Все кругом ошибаются - один ты светоч знаний. Ты форум часом не перепутал, дружок?
> Да-да, все тут тупые, один ты Творец. Все кругом ошибаются - один ты светоч знаний.Почему ВСЕ?
>> Да-да, все тут тупые, один ты Творец. Все кругом ошибаются - один ты светоч знаний.Да,да. я хоть во времена BUILD-engine игр и предпочилал именно их Quake, и даже код смотрел и немного даже крутил(достало что не весь код открыт, зв.библиотека открыта только в SWarrior, но она там вешает комп... форки както не смотрел, ещё там жуткая система бит-тэгов хоть и конечно разобратся функционально одна из самых крутых, особенно в SW, но блин кодить когда ниодного коммента и даже define для них, + fixedpoint "в уме"... ),
но таки от вашего отношения к людям имеющих всеголишь другую точку зрения читать эту тему что то тошновато. И вообще - на вкус и цвет...
>>> Системные требования. У quake намного выше.
>> ненамного, а движок по сравнению с квейковским...
> Я выше уже сравнил, в семи пунктах.Сударь, у вас проблемы с пониманием русского языка ?
Еще раз: Не Quake - лучшая игра, чем Duke3D, а движек Quake технически в сравнении с движком Duke3D более совершенен. Он является полноценно трехмерным с точки зрения внутренней реализации. В отличии от ...
То, о чем вы говорите, в целом справедливо, но это заслуга художников-дизайнеров-аниматоров Duke3D, а не программистов движка, и к предмету разговора отношения не имеет. В общем игры от ID всегда были прорывными именно с технологической точки зрения, а в плане геймдизайна были весьма посредственными.
Время расставило все по своим местам. Quake стал первой игрой, сетевой режим которой заложил основу для поколений будущих видеоигр и явления киберспорта как такового. В Quake шпилили до момента выхода Quake 3. На базе Quake сделали Team Fortress, и кучу других модов.
Само понятие "игровой движек" принадлежит ID Software.
> Само понятие «игровой движек» принадлежит ID Software.вот это ты мощно завернул, конечно.
>> Само понятие «игровой движек» принадлежит ID Software.
> вот это ты мощно завернул, конечно.Сам же термин «игровой движок» появился в середине 1990-х годов — в это время окончательно установилось доминирование IBM-совместимых компьютеров, а быстрые процессоры и «хитрое» программирование дали 30 и более кадров в секунду в трёхмерных играх. Игры Doom и Quake от id Software оказались настолько популярными, что другие разработчики вместо того, чтобы работать с чистого листа, лицензировали основные части программного обеспечения и создавали свою собственную графику, персонажей, оружие и уровни — «игровой контент» или «игровые ресурсы». Движок Quake был использован в более чем десяти проектах и дал серьёзный толчок развитию middleware-индустрии.
(С) Википедия - Игровой движек.
> © Википедияэто уже само по себе смешно.
я тебе сейчас секрет открою: «движки» были намного раньше. и — СЮРПРИЗ! — вообще до того, как «дум и квак» появились.
впрочем, спорить с человеком, считающим долбопедию авторитетным источником — бессмысленно.
>> © Википедия
> это уже само по себе смешно.
> я тебе сейчас секрет открою: «движки» были намного раньше. и — СЮРПРИЗ!
> — вообще до того, как «дум и квак» появились.
> впрочем, спорить с человеком, считающим долбопедию авторитетным источником — бессмысленно.Ну так и не спорь. Я в то время жил, и в эти самые игры рубился, так что в вопросе разбираюсь. А у тебя, как водится в таких ситуациях, вообще аргументов нет, кроме собственного гипертрофированного самомнения.
в какое «то», дитятко? мне четвёртый десяток, знаешь ли. и я тебе сейчас открою секрет: в эпоху восьмибитных игрушек у игроделов в ходу был термин «engine». угадай, что он означал.
> в какое «то», дитятко? мне четвёртый десяток, знаешь ли. и я тебеСкан паспорта ?
> сейчас открою секрет: в эпоху восьмибитных игрушек у игроделов в ходу
> был термин «engine». угадай, что он означал.Линк ?
> Ну так и не спорь. Я в то время жил, и в
> эти самые игры рубился, так что в вопросе разбираюсь. А у
> тебя, как водится в таких ситуациях, вообще аргументов нет, кроме собственного
> гипертрофированного самомнения.для разбирающегося в вопросе ты пишешь слишком много глупостей. в принципе уже после твоего камента #117 это было очевидно, с цитированием ерунды из википедии мог бы уже и не стараться.
>> Ну так и не спорь. Я в то время жил, и в
>> эти самые игры рубился, так что в вопросе разбираюсь. А у
>> тебя, как водится в таких ситуациях, вообще аргументов нет, кроме собственного
>> гипертрофированного самомнения.
> для разбирающегося в вопросе ты пишешь слишком много глупостей. в принципе уже
> после твоего камента #117 это было очевидно, с цитированием ерунды из
> википедии мог бы уже и не стараться.Приведи ссылку на не ерунду. Я еще русский знаю. Как слово "коммент" пишется.
>>>>> Системные требования. У quake намного выше.
>>>> ненамного, а движок по сравнению с квейковским...
>>> Я выше уже сравнил, в семи пунктах.
>> Еще раз: Не Quake - лучшая игра, чем Duke3D, а движек Quake
>> технически в сравнении с движком Duke3D более совершенен.- Я тоже так когда то считал, до того момента как увидел что (например) для вычисления тригонометрических функций (в отличии хоть от того же IDsoft-r DOOM или тем более Wolf) - LUT(able) позорно не использует, и т.д.во всём, потому и требования были завышенны.
К томуже реаизовать обычный 3D render не так уж и сложно, учитывая что к тому времни большинство технологии и даже с исходними их были уже отработаны в университетах, пусть и не в виде игрового движка, вот только все они жутко тормозили, и в итоге мы получили от IDsoft're Q123-engine с убогими моделями и прочими упрощёниями и всёравно у почти всех тормозило так что все вынужденны были обновлять ПК, а вот в BUILD приложили немало усилий на технологические ухищрения, а касательно спора 3D-модели или Sprite-модели так опятьтаки о вкусах не спорят (я и сейчас считаю что красиво нарисованный спрайт намного лучше квадратной 3D-модели пусть хоть с освещением и 3D-тенью,и потому позже перепроходил порт Hexen'а именно с ними - а, не с 3D-моделями).
+я уже не пишу про то что DN3D&co работал на всех тогда распространённых звуковых картах, а Q1-engine подавай SoundBlaster (явно взятку взяли от Creative или кого то из совместимых), да и завышенные требования(это то при опыте оптимизации в IDsoft'e! поясню - так оптимизировать крод как в BUILD-engine [тогда]могли лишь BUILD-игры и IDsoft-re команда после опыта с DOOM и тем более Wolf)
>>Он является полноценно трехмерным с точки зрения внутренней реализации.- Вообще то, с точки зрения внутренней реализации, - BUILD тоже! Просто в те далёкие времена было принято оптимизировать игры - с целью максимального совместимости с древнми компами (ну да до Q1), более того - даже визуально BUILD-игры это ФАКТИЧЕСКИ 3D игры - даже поворот головы есть, пусть и не на 90 градусов, ну так он и у многих даже совремнных Direct3D/OGL играх нередко значительно меньше - потому что тогда это была пиар-фича от IDsoft-e, с клеветой что это мол 3D(отвлекаясь: к томуже лживая клевета, реальный 3D - это воксель, кстати использованный наряду со спрайтами в ShadowWarrior...) а сейчас нет и надобности её, даже при поддержки движком - искуственно ограничивается для лучшего восприятия учитывая что при угле стремящемся к 90 градусам - визуально немного искажается картинка)
>> То, о чем вы говорите, в целом справедливо, но это заслуга художников-дизайнеров-аниматоров
>> Duke3D, а не программистов движка,- Тоже неверно. Дизайнеры,художники, как и гемдизайнер со сценаристом
- без технологии поддерживающих их идеи, всё же - ноль
(достаточно вспомнить разные патриотические игры, ну хоть вроде почти-оригинальной 2025 - Битва за Родину, только по графической линии обсираемые, правда скорее явно антипатриотами, но и гипер-тормоза на момент выхода - отбили желание играть у всех, максимум спустя несколько лет; конечно и наоборот верно, отвратные текстуры и геймдизайн(и даже туповатый финал как в нашей Предтечи The Precursors) - никто не спорит)
К тому же, ведь в статье обсуждается именно (BUILD-)движок, а не игры на нём.
Но, самое поразительное, просто чудо - как они смогли вообще доделать и ещё и настолько БЕЗГЛЮЧНО под DOS-PM (без нормального отладчика, где любой незначительный баг = зависон всего ПК) как движок, так особенно игры на нём - при отсутвии исходников движка разрабам и крайне нетрадиционной и вообще новаторско-оптимизироанно-неуниверсальной 3D-начинке.
не было в билде ничего «новаторского». и отладчик в ваткоме был, ты просто по молодости лет считаешь, что отладчики в винде придумали. и глюкоталовом билд был весьма и весьма долго (если бы ты почитал файлы с историей — узнал бы много интересного).да, технологически в некоторых аспектах билд превосходил «id Tech 1» — потому что id тогда в полный рост занималась разработкой id Tech 2. Кена просили сделать нечто похожее на id Tech 2, но по многим причинам — не выгорело.
p.s. извиняюсь, «id Tech 1» следует читать как «id Tech 0», а «id Tech 2» как «id Tech 1». да, я в курсе, что это не официальные названия.
>> В общем игры от ID всегда были прорывными именно с технологической точки зрения,- Я смотрел и BUILD и Q движки, win32-порт Q-движка Вы не отличите от ЛЮБОГО другого современно (если раньше не видели и вам не сказать), а вот BUILD весьма запоминается своей оригинальностью, и тем более тем что его (движок,не игры-на нём) полность включая и двугие компоненты написал ...просто студент в свободное время(пока его почти готовый движок не начали лицензировать и он вынужден был прервать временно учёбу из-за частых перелётов), в то время как в IDsoft-r'e на полной ставке работали "бородатые" программисты с нехилым опытом и тем более в 3D-области, и главное - подпихивающим их руководством, я уж и не говорю даже - спокойно - на зарплате.
> его (движок,не игры-на нём) полность включая и двугие
> компоненты написал …просто студент в свободное время(пока его почти готовый движок
> не начали лицензироватьа вот это — случай так называемого вранья.
> а в плане геймдизайна были весьма посредственными.- Не соглашусь - просто пропорционально (таки)слабеньким(тем более сравнительно с современными 3D-accelerated) возможностям Q-движков, например геймдизайн в q3 считаю суперским(не считая позорного отсутствия миссий), да и в Daikatana даже на q2-движке(правда с улучшениями) - вообще просто неповторим(его правда подвела чисто релиз-сыроватость вплоть до непроходимости CD-версии). Тот же HL1(Source-engine) взял за основу тоже Q1-engine и ничего на геймдизайн HL1 вроде не жаловались.
> Время расставило все по своим местам. Quake стал первой игрой, сетевой режим
> которой заложил основу для поколений будущих видеоигр и явления киберспорта как
> такового. В Quake шпилили до момента выхода Quake 3. На базе
> Quake сделали Team Fortress, и кучу других модов.
> Само понятие "игровой движек" принадлежит ID Software.- Да, так. Но, на BUILD ...и ДО СИХ ПОР(а, сейчас 2014, спустя 15+ лет) выпускаются НОВЫЕ моды и даже полноценные игры,напр:
* Metropolitan Mayhem - 15-map mod for DN3D (Atomic Edition)
* Duke Nukem - Forever 2013
* Naferia's Reign - Invasion of the Dark Mistres
* Oblivion Final
* WGSpace episode
* WGRealms
* WGRealms 2
...
(небольшая поправочка: спустя ~20 лет...)
ещё бы до JonoF дошлобы что можно давать и на них ссылки(централлизованно)...
>> Системные требования. У quake намного выше.
> ненамногонамного. без pentium играть в Quake можно было или в микроокне типа 128x128 пикселов, или в режиме «слайдшоу». Build же отлично бегал на четвёрках в 320x240 и даже повыше. одни из сильновлияющих причин — более сложный растеризатор Quake и использование в Quake float'ов.
Например, поклонники XCOM до сих пор недолюбливают ufoai за отсутствие разрушаемых стен. Потому что движок quake (или даже quake2), на котором сделаны бои, не умеет это В ПРИНЦИПЕ, и никак не приделаешь (на офсайте ufoai так прямо и написано).
> Например, поклонники XCOM до сих пор недолюбливают ufoai за отсутствие разрушаемых стен.
> Потому что движок quake (или даже quake2), на котором сделаны бои,
> не умеет это В ПРИНЦИПЕ, и никак не приделаешь (на офсайте
> ufoai так прямо и написано).Никак не приделаешь ?! Это чушь. "Нельзя сделать", и "не смогли/не захотели" - две большие разницы.
Почитайте историю создания Half-Life, движек которого был основан на Quake, к которому дописали все, что захотели реализовать в процессе разработки.
> Никак не приделаешь ?! Это чушь. "Нельзя сделать", и "не смогли/не захотели"
> - две большие разницы.
> Почитайте историю создания Half-Life, движек которого был основан на Quake, к которому
> дописали все, что захотели реализовать в процессе разработки.Каша из топора. Там от оригинального движка остались только лошади в ПТС. У меня, вон, в ПТС тоже было 79 л.с. записано, хотя я даже не представляю, КАК. Это же не значит, что у меня был движок от овощевозки?
ок. покажи, как реализовать geomod на движе, в основе которого лежат BSP и PVS.
> Движок которого просто разрывает движок Дюка.Технически - может быть. В самой же игре Квака смотрелась как УГ - всё какое-то угóльное, текстуры - цвета "мокрое УГ", монстры - и на тех текстуры пожалели! Я с большим удивлением слушал тех, кто писал кипятком от кваки - видимо, "слаще морковки ничего не ели".
> Кстати, в Q1 и Doom-ах атмосферы не меньше, просто другая.
Ну да. Примерно как оказаться запертым в деревенском туалете. "Просто другая"... хаха!
Особенно умиляло, что дюк хоть как-то смог сделать разрушения - стены и стёкла, а квака ВООБЩЕ НИКАК! На уровнях не было вообще ничего, что можно было разломать хотя бы для забавы.
Ну почему же. В QUAKE 2 можно было бить стекла... и стены рушить. Если мап-мэйкеры во время работы задумывали что в каком то месте на мапе должна быть разрушена стена... в нее среляешь и стена рушится. Всё там было, всё рушилось, если это было задумано.
> Ну почему же. В QUAKE 2 можно было бить стекла... и стены
> рушить. Если мап-мэйкеры во время работы задумывали что в каком то
> месте на мапе должна быть разрушена стена... в нее среляешь и
> стена рушится. Всё там было, всё рушилось, если это было задумано.В Quake II - можно. С серьёзными ограничениями. И сравнивать интерактивность build и даже quake ii (но мы говрим о quake, quake ii даже на pentium 133 в 320x200 не шибко активно ворочался, ни на windows ни на linux, а в dos вообще не работал) - смешно. Сравнивать уникальные фишки - тоже смешно. И если в doom (особенно doom2, doom2 evilution, doom2 plutiona) огрехи движка сглаживали действительно оригинальные фишки, благодаря которым doom до сих пор ЛЕГЕНДА, равной которой не будет, то в quake ii всем предлагалось ... на полигоны, пиксели и 3д-ускорители, и оригинальности там было примерно столько же, сколько в опеннетовских виндузятниках или болельщиках омского "Авангарда".
Я первый комп купил вместе с предустановленным quake 1... потом вроде купил диск quake2(или возможно мне этот диск дали в придачу к компу). Это были первые игры на моем компе. После игры в quake1 я просыпался в поту, потому что бегал во сне по уровням quake1. Просто поймите что в quake1 и quake 2 своя атмосфера, а в Duke и Doom своя атмосфера. Я играми особо не увлекался, но quake мне оч понравился тогда. Потом спустя какое то время я нашел и doom и dukenukem и shadow warrior(классная игра с приколами), и NAM(тоже приколола) и Blood(в русской озвучке про Ленина)... Но все равно я много раз переигрывал в quake 2 и нашел к ней много модов, потом с ботами бился, потом по модему... Кароче игра тогда на меня производила сильное впечатление.
> Но все равно я много раз переигрывал в quake 2 и
> нашел к ней много модов, потом с ботами бился, потом по
> модему... Кароче игра тогда на меня производила сильное впечатление.И поэтому все должны играть в quake? Почему никто никогда не помнит, что на свете есть не только он, и не может смотреть со стороны? Лично мне движок build вообще не нужен, а doom мне нравится намного больше, чем duke3d, но польза видится несомненной, а технические достоинства - могут стать для кого-то решающими.
>В Quake II - можно. С серьёзными ограничениями. И сравнивать интерактивность buildОх, это ты в Red Faction не играл
>>В Quake II — можно. С серьёзными ограничениями. И сравнивать интерактивность build
> Ох, это ты в Red Faction не игралда, тут билду нечего противопоставить, в нём проще удавиться, чем CSG сделать. да и в кваке деревья пересчитывать… а вот в д3, кстати, порталы (емнип) — там можно попробовать.
> Ох, это ты в Red Faction не игралДвижок-то открытый?
Каким образом это может отнестись к теме разговора? Речь о том, имеет ли смысл использовать движок, или все должны только на самые мегапиксельные онанировать, даже если собираются писать игру для чего-то совсем немегагерцового и невидеокартового.
Я и перечислил те преимущества, которые может дать движок build. Фанатом duke3d я не являюсь, в него не играю, да и doom мне нравился всегда больше. :)
Речь идёт о создании новых свободных проектов. И это вы ещё не играли в judith. :)
> И это вы ещё не играли в judith. :)и не получится. вайн не интересен, а «родная» хочет fmodex, которым сорить в системе не хочется.
не было такого, дюк не выстрелил. Да и чего там прорывного со своей псевдо3д движком.
> не было такого, дюк не выстрелил. Да и чего там прорывного со
> своей псевдо3д движком.Там прорывного было много, гораздо больше чем два абстрактных символа "3D". Дыры от пуль, разрушаемые стены и стёкла, jetpack, стриптизёрши, камеры видеонаблюдения, уменьшитель и морозильник, поезда, кодовые замки, кинопроекторы. И это только из того, чего не было в Quake и Doom.
Другой игрой-прорывом был Strife. Одна большая локация вместо уровней, ролевая система с нейтральными и дружественными персонажами, учётом репутации, возможностью брать задания и торговать, камеры видеонаблюдения.
> Другой игрой-прорывом был Strife. Одна большая локация вместо уровней, ролевая система
> с нейтральными и дружественными персонажами, учётом репутации, возможностью брать задания
> и торговать, камеры видеонаблюдения.А игрушкой с нормальным и честным действительно 3D был Descent. А уж какой там был мультиплеер! У меня до сих пор висит незакрытая стрелка на 4-м уровне у реактора. :)
Ещё в Duke3D вспомнил зеркала и лазерные мины.
> Ещё в Duke3D вспомнил зеркала и лазерные мины.И туалет...
да не просто, а (если не забыл и приписую тут)облегчился - и полегчало(+Health)
+фонтаны, питьё из которых тоже улучшало здоровье
Ну знаешь, как игра дюк как ни крути на порядок круче дума3. Если в дюке ещё и код вменяемый, я как со стороны разработчика так и геймера, предпочёл бы сделать/играть в игру, написанную именно на нём. Тёплая ламповость в комплекте. И ничего ужасного в спрайтах нет, посмотри, например, 8bit killer от locomalio - там движок по сути проще чем wolf3d, однако кайфа столько сколько нет во всём современном рельсовом шейдерном крапе вместе взятом.
вкусовщина же!
а с технической точки зрения - от дюка ничего прорывного нет
> а с технической точки зрения - от дюка ничего прорывного нетКроме того, что перечислено в этой теме. Он превосходит по многим пунктам, а в остальном, прекрасная маркиза, всё хорошо, всё хорошо.
> Если в дюке ещё и код вменяемыйкод абсолютно невменяемый. не знаю, привели ли его «в чувство» в этом обзоре (лень смотреть), но оригинал невменяем совершенно. несколько огромных си-файлов (поделено на части потому, что в редактор перестало влазить), волшебные числа all over the place, жестокие массивы вместо структур, Pascal'евский принцип «comments are for beginners» (хэйтеры, это не про тот паскаль, про который вы подумали, это про Pascal // Cubic Team).
проще говоря: код вообще не предназначался для чтения никем, кроме Кена.
>> Если в дюке ещё и код вменяемый
> код абсолютно невменяемый. не знаю, привели ли его «в чувство» в этом
> обзоре (лень смотреть), но оригинал невменяем совершенно. несколько огромных си-файлов
> (поделено на части потому, что в редактор перестало влазить), волшебные числа
> all over the place, жестокие массивы вместо структур, Pascal'евский принцип «comments
> are for beginners» (хэйтеры, это не про тот паскаль, про который
> вы подумали, это про Pascal // Cubic Team).
> проще говоря: код вообще не предназначался для чтения никем, кроме Кена.Никто не смеет читать наш код и при этом выжить...
> Никто не смеет читать наш код и при этом выжить…таки да. что, кстати, наглядно демонстрируется тем, что Кен так и не дождался от других OpenGL-порта, и ему пришлось самому быстро нахакать polymost.
Испытываю самые теплые чувства к этой игре. Провел много дней, дуэлясь с ребятами по модему :) . С лазерными минами, голодюками, фразами типа "What are you waiting for, Christmas?" это был не только отличный геймплей, а еще и атмосфера особая - прикольная!По тому, что я знаю, в Дюке до сих пор больше достоинств, чем недостатков. Вот взять бы его, добавить хорошую графику, триксы из Q2 (распрыжку, double jump, rocket jump, "подворот") - и получится the best game ever :)
P. S. А поднимите руки кто редактил скрипты, чтобы, например, самый простой монстр стрелял ракетами, или что-то в этом роде? ;)
зачем в ЭТО что-то добавлять, если можно играть в q2 ?
p.s. играл и в то и в то. каждой игре свое время, DN помер, и квака, говорят, тоже.
даже как-то не знаю, во что сейчас студенты вместо пар рубаются:/ в мое время из FPS то были квейки да UT и никто уже тогда не вспоминал о вулфенштейне, думах и дюке в плане "вспомнить молодость"
Не помню уже - в скриптах или в конфиге надо было ковыряться, чтобы убойность оружия изменить? Но, да, делал, приколу ради, ядерный гранатомет. Один выстрел и пол-зоны без окон, а всех не спрятавшихся монстров - в клочья :) Другое дело, что играть так было неинтересно, ибо установки по умолчанию и так обеспечивали идеальный баланс игры.P.S. Кстати, сейчас обладатель лицензионной копии того самого Duke3d (не путать с вышедшим через надцать лет отстойным ужОсом).
EDuke32. Про триксы не знаю, но графика там улучшена, есть трехмерные модели и текстуры в высоком разрешении (хотя мне в старые игры больше нравится играть с оригинальными ресурсами).
> Испытываю самые теплые чувства к этой игре. Провел много дней, дуэлясь с
> ребятами по модему :) . С лазерными минами, голодюками, фразами типа
> "What are you waiting for, Christmas?" это был не только отличный
> геймплей, а еще и атмосфера особая - прикольная!
> По тому, что я знаю, в Дюке до сих пор больше достоинств,
> чем недостатков. Вот взять бы его, добавить хорошую графику, триксы из
> Q2 (распрыжку, double jump, rocket jump, "подворот") - и получится the
> best game ever :)
> P. S. А поднимите руки кто редактил скрипты, чтобы, например, самый простой
> монстр стрелял ракетами, или что-то в этом роде? ;)Никто не смеет красть наших детей и женщин и при этом выжить.
Ого - три года по исходникам нюкема проходил.
Я уж, начитавшись всяких товарищей, сломавших git, подумал, что там страшную уязвимость нашли.Duke Nukem 3D нам строить и жить помогает. Открыли бы весь контент, было бы вообще замечательно.
Кому сейчас в здравом уме захочется изучать спрайтовый движок Дюка? Сейчас игровые технологии вообще другие. Лучше потратить время на их изучение.
> Кому сейчас в здравом уме захочется изучать спрайтовый движок Дюка? Сейчас игровые
> технологии вообще другие. Лучше потратить время на их изучение.Как можно писать оперы, когда в Африке люди голодают?
Как можно писать о любви, когда в Америке негров линчуют?
Как можно игровые технологии изучать, когда в браузер DRM добавляют?
> Кому сейчас в здравом уме захочется изучать спрайтовый движок Дюка?какой-какой? вообще-то спрайты там в основном для скорости. сам движок вообще не рейкастер (в отличие от дума), а уровни не требуют bsp-обработки (что позволило делать двери, открывающиеся «нормально», а не только уходящие в стены, например). а когда Кен релизнул polymost, дюк волшебно превратился в практически full3d.
вообще, движок весьма интересный. а налепить туда шэйдеров и бампмапинга несложно, только зачем?
А под какой лицензией код? В Википедии написано, что GPL, но BUILD-то несвободен.
> но BUILD-то несвободен.Почему?
https://github.com/fabiensanglard/vanilla_duke3D/blob/master...
Ясно. Обидно.
> Ken Silverman (18 years old at the time) wrote a 3D engine at home...*facepalm*
Дюк, безусловно, работал на ура, но вот какой ценой... не говоря о том, можно ли было ЭТО улучшать без переписывания движка.
" game.c is a beast featuring 11,026 lines of code.
menu.c" features a 3000 lines "switch case".
Most methods have "void" parameters and return "void". Everything goes via global variables.
Methods naming does not use camelCase or NAMESPACE prefix.
Features a neat parser/lexer even though token values are passed via decimal values instead of #define.
"Собсно, этим уже всё сказано: если на уровне элементарной культуры оформления кода - фэйл, чо уж говорить про архитектуру вообще.
> Собсно, этим уже всё сказано: если на уровне элементарной культуры оформления кода
> - фэйл, чо уж говорить про архитектуру вообще.бро, ну ты понятно что прямо из пеленок писал идеальный код, в садике на коде ревью воспитатели на тебя нарадоваться не могли. а тут 18-летний первокур, понятно, что говно же, да.
> Собсно, этим уже всё сказано: если на уровне элементарной культуры оформления кода
> — фэйл, чо уж говорить про архитектуру вообще.этот код вообще не предназначался для чтения никем, кроме Кена. также он не предназначался для «портирования» и прочей всякой «мультиплатформенности». помимо прочего, во многих местах упор делался на скорость работы — откуда глобальные массивы, возврат значений через параметры-указатели и прочие «некрасивые» вещи.
и да: не знаю, как ты, а я помню, как писал лет в 16-18. «кто не может запомнить пару десятков числовых констант и расшифровать простое название переменной xywbu — старпёр! а если ему без комментария не очевидно, что делает и как работает функция wahbooboo() — он ещё и даун.»
забавная новость, что-то вроде"вышло академическое двухтомное издание Колобка с комментариями академика Задротова"
там на самом деле код достаточно понятный, только надо engine.c сразу выкидывать и вместо него полимост ставить. хотя тоже не сахар.
> там на самом деле код достаточно понятный, только надо engine.c сразу выкидывать
> и вместо него полимост ставить.а если я хочу старый ламповый рендер в software?
>> там на самом деле код достаточно понятный, только надо engine.c сразу выкидывать
>> и вместо него полимост ставить.
> а если я хочу старый ламповый рендер в software?Перфокартовый. Делаешь дырочки в перфокарте и играешь в мультиплеер "ой, шеф, а я вас вижу. быщь быщь!"
Весь прикол то как раз - в ламповости...
отношусь с пониманием.но все равно, по воспоминаниям семилетней давности, когда я туда как-то заглянул, engine.c это был, конешно, адик.
> но все равно, по воспоминаниям семилетней давности, когда я туда как-то заглянул,
> engine.c это был, конешно, адик.voxlap не сильно лучше, гыг.
>дающий возможность начать использование технологий Duke Nukem
>начатьШел 2013-й год :)
> Шел 2013-й год :)А некоторые до сих пор для передачи образов пишут книги. Текстом. Изобретённым хрен знает когда.
Хотя, с такими как вы... не удивлюсь, что завтра будет модно только FullHD SMS, а обычный неfullhd текст будет считаться чем-то чуть ли не постыдным... Хотя по сути там будет примерно 0 отличий.
Кароче лично для меня легенда это - Quake 2.
Интересно, а в Chasm кто-то играл?
> Интересно, а в Chasm кто-то играл?в своё время даже исходники просили. да, все в курсе, что там турбопаскаль и асм. в ответ получили два варианта на выбор: «утилизировали армейским методом» и «жена не позволяет».
> в своё время даже исходники просили. да, все в курсе, что там
> турбопаскаль и асм. в ответ получили два варианта на выбор: «утилизировали
> армейским методом» и «жена не позволяет»."Подземелья Кремля", по-моему, вообще с характерной паскалевской ошибкой 200 вылетали. Как и king's bounty 2. :) Хоть чазм и украинский... :)
> Интересно, а в Chasm кто-то играл?Все играли. :)
А то! Рассово украинская игра
Тут вот д3 ругают, даже 3.5 мерное пространство в дюке "изобрели".
Так это вы Prey не видали, кекекеке
> Так это вы Prey не видали, кекекекеа чего там «видать»? обманщики, как есть обманщики. в своё время обещали свободно разрушаемое окружение и кучу плюшек, а в итоге довесили к движку d3 смену гравитации — и всё. обманщики.
Ну да, обещали побольше чем полчилось, тут не поспоришь, но тут фанаты дюка3д расписали что такое как в дюке это вообще-вообще уникально
> фанаты дюка3д расписали что такое как в дюке это вообще-вообще уникальнона то время — таки да. я, правда, до сих пор не понял, как это всё к движку относится и почему отсутствие на стенах спрайтовых умывальничков — epic fail. движок q1 позволял и разрушаемые в точно заданых дизайнером местах стены, и интерактивные объекты. да ещё и динамическое освещение получше. да и картинку мог такую же мультяшную нарисовать. и скриптовый язык был сильно продвинутей, чем .con.
другое дело, что во мрачную готическую атмосферу Q1 дюковские плюшки лезли, как борец сумо в балетную пачку.
а в Chasm вон, который вспомнили, вообще были противники в полном 3d, и им можно было отстреливать руки-ноги-головы. и безрукий солдат вполне честно пытался подбежать и забодать головой, а безногий — покусать, если рядом пробегаешь. не припомню такого в дюке.
> а в Chasm вон, который вспомнили, вообще были противники в полном 3d,
> и им можно было отстреливать руки-ноги-головы. и безрукий солдат вполне честно
> пытался подбежать и забодать головой, а безногий — покусать, если рядом
> пробегаешь. не припомню такого в дюке.Сырцов нет(?), документации "как это использовать наиболее просто" - тоже нет. Обидно, да.
> Сырцов нет(?), документации «как это использовать наиболее просто» — тоже нет. Обидно,
> да.ох, к дюку документации — просто завались. к полимосту особенно много.
и вообще, я что-то в прошлых обсуждениях не заметил упоминания об исходниках, усердно обсуждались только фичи (львиная доля которых относилась вообще не к возможностям движка, а к геймдизайну).
> ох, к дюку документации — просто завались. к полимосту особенно много.Речь о том, что в новости написано.
> и вообще, я что-то в прошлых обсуждениях не заметил упоминания об исходниках,
> усердно обсуждались только фичи (львиная доля которых относилась вообще не к
> возможностям движка, а к геймдизайну).Пересказываю содержание предыдущих серий - "зачем нужен этот build, когда есть doom3, пусть лучше очередной doom3 делают". Вот я и привёл примеры, когда build лучше. И как выбор движка quake "похоронил" :) ufo:ai
То есть, тут в очередной раз ОБВИНИЛИ человека в том, что он создал указанную документацию по duke3d для использования в свободных проектах. Вот и пиши после этого документацию, с таким-то отношением.
> Вот и пиши после этого документацию, с таким-то отношением.и пиши. кому надо — воспользуются и поблагодарят. а те, кто орут «не надо» — всё равно пользоваться не стали бы; какой смысл обращать на них внимание? одна благодарность перевешивает 100500 «не надо».
> и пиши. кому надо — воспользуются и поблагодарят. а те, кто орут
> «не надо» — всё равно пользоваться не стали бы; какой смысл
> обращать на них внимание? одна благодарность перевешивает 100500 «не надо».Дело в том, что это форум по обсуждениям. А не базар-вокзал. То, что я пишу - я пишу, мне благодарности не надо. А вот то, как обсуждают творения других людей, причём на тематическом форуме - мне непонятно. Но интересно, чем всё это закончится. Я уже несколько раз слышал на форуме "я когда-то использовал linux, а теперь я каюсь за это, виноват был", вот интересно, будет ли это в масштабах всего форума? :)
а чего ты хотел от трепологии? даже меня опеннет постепенно отучает читать первоисточник до того, как написать комментарий.здесь весело, ругань, еда и прочие достойные развлечения для солидных людей. за что опеннет и люблю.
> а чего ты хотел от трепологии? даже меня опеннет постепенно отучает читать
> первоисточник до того, как написать комментарий.
> здесь весело, ругань, еда и прочие достойные развлечения для солидных людей. за
> что опеннет и люблю.Круто. А российское открытое сообщество тогда где?
---
Чукча получил новую квартиру и показывет гостям. Первая комната: "Здесь у меня тундра." Вторая комната: "Здесь у меня тундра." Кухня: "Здесь у меня тундра." Туалет: "Здесь мой чум." Его спрашивают: "А куда же ты в туалет ходишь?" - "В тундру!"
> А российское открытое сообщество тогда где?а что это такое? и зачем оно нужно, собственно?
>> фанаты дюка3д расписали что такое как в дюке это вообще-вообще уникальнотащемта исходники дюка есть живое доказательство превосходства американского программизма над отечественным, т.к. наглядно доказывает, что базовый принцип современного софтостроения "делаем быстро и херово, пока конкуренты не сделали еще быстрее и херовее" с успехом применялся в США еще 20 лет назад.
> на то время — таки да. я, правда, до сих пор не
> понял, как это всё к движку относится и почему отсутствие на
> стенах спрайтовых умывальничков — epic fail. движок q1 позволял и разрушаемые
> в точно заданых дизайнером местах стены, и интерактивные объекты. да ещё
> и динамическое освещение получше. да и картинку мог такую же мультяшную
> нарисовать. и скриптовый язык был сильно продвинутей, чем .con.хОрОшО сравнил. динамическое освещение с его полным отсутствием и сравнение turing complete языка с конфигом-переростком. ifчтототам - это еще не признак языка.
про мультиплей и quakeworld добавить надо, а то про это никто не вспомнил. я как-то затрудняюсь вспомнить, какой у нас FPS движок до q1 умел мультиплей по tcp а не 4 человека по ipx.
собсно дюк был большим набором ad hoc кода, потому писать на его основе дальше никому особо не хотелось (что и показали дальнейшие 20 лет). если бы Сильверман работал над ним постоянно, как Кармак работает над своими движками, то глядишь, к третьей версии у него вышло бы тоже что-то очень похожее на q1-2. Но Сильверман в тот момент профи не был, для него это была разовая работа, вопросы генерализации и повторного использования кода его не парили, потому маемо шо маемо. кстати Кармак в молодости был похожий (см. исходники вольф3Д в части рендера).
> динамическое освещение с его полным отсутствиемвообще-то в билде оно тоже есть. но только посекторное.
> ifчтототам — это еще не признак языка.
признак, признак. наличие формальной грамматики (возможность её «нарисовать») — это таки признак языка в данном случае.
> про мультиплей и quakeworld добавить надо
мы в дюка вполне ввосьмером рубались. а с tcp в дос были проблемы. как и у q1, кстати, где ограничение было на 16 человек.
>> про мультиплей и quakeworld добавить надо
> мы в дюка вполне ввосьмером рубались. а с tcp в дос были
> проблемы. как и у q1, кстати, где ограничение было на 16
> человек.Кстати, ещё у duke был TEN:
http://www.ten.net/199706/html/ten__duke_nukem.html
Там, случем, не tcp/ip было?
tcp-стеки под дос были платной редкостью, тащемта. тогда сети строились на ipx/spx, неписаный стандарт.а если точнее: не знаю. :3
> tcp-стеки под дос были платной редкостью, тащемта. тогда сети строились на ipx/spx,
> неписаный стандарт.Что сети строились под ipx, я помню (хотя, вроде, даже в msdos 6 был tcpip), из коробки.
Но во freedos я нормально через wattcp и их набор пакетных драйверов коннектился по сети через ssh, а при установке локали в ru_RU.IBM866 даже можно было русские буквы видеть и слышать. :) И у меня такое ощущение, что все эти изобретения были ещё задолго до появления freedos. По крайней мере, x-server, который на сайте freedos валяется, указывает дату своего релиза как 1990 год, и, по-моему, работает через tcpip.
Скорее, тогда повальная любовь к ipx/spx была из-за повальной любви к netware. И в drdos была удобная personal netware, очень легко настраиваемая из gui и умеющая много всего из коробки. А не из-за каких-то сложностей реализации tcp/ip в dos. Я так думаю. Я поднимал tcp/ip между dos и linux через "соплю", а не только через сетевую карту.
я и не говорил, что вопрос в сложности. я говорил, что неписаный стандарт так сложился. да, именно потому, что NetWare была бесспорным лидером. забавная ось, кстати: видел (и даже немного админил) это чудовище на реальном боевом сервере с кучей клиентов. правда, до дюка ещё оставалось долго ждать, так что дюка не гонял.
>> динамическое освещение с его полным отсутствием
> вообще-то в билде оно тоже есть. но только посекторное.чо? в билде вообще не было такой сущности "источник света". в билде были шейдинги, которые а) монотонные б) устанавливаются для текстуры руцями при создании карты в) изменения шейдингов во время игры только руцями через спрайты, которые опять таки устанавливаются при создании карты. динамическое освещение my ass.
>> ifчтототам — это еще не признак языка.
> признак, признак. наличие формальной грамматики (возможность её «нарисовать»)
> — это таки признак языка в данном случае.конфиг для постфикса тоже формальный язык. как я и сказал, конфиг-переросток. ты туда внутрь посмотри и проплачься, там даже переменные создавать было невозможно.
>> про мультиплей и quakeworld добавить надо
> мы в дюка вполне ввосьмером рубались. а с tcp в дос были
> проблемы. как и у q1, кстати, где ограничение было на 16
> человек.але гараж. qw - 32 игрока. опять таки потому что Кармак видел, что пир ту пир мультиплей не масштабируется и не работает в гетерогенной сетке. Сильверману было пофиг, он тупо выжал из существовавшей модели все, что смог. а нормальный клиент-серверный мультиплей к дюку и доси толком не допилили последний раз как я смотрел.
алсо проблемы tcp в досе ничуть не мешали мне шариться со своего сраного 386dx под арахной и бобиком по тогдашним интернетам. американцев они вообще волновали чуть менее, чем никак, потому что к моменту выхода q1 уже год как случилась такая штука, как win95, а в конце 1996 выпустили glquake и winquake и про голый дос вообще можно стало забыть.
>>> динамическое освещение с его полным отсутствием
>> вообще-то в билде оно тоже есть. но только посекторное.
> чо? в билде вообще не было такой сущности «источник света».а при чём тут это к динамическому освещению? реализация изменения освещения секторов от движущегося entity в билде достаточно тривиальна.
> конфиг для постфикса тоже формальный язык. как я и сказал, конфиг-переросток. ты
> туда внутрь посмотри и проплачься, там даже переменные создавать было невозможно.да я смотрел. переменные для языка тоже не обязательны, однако.
> але гараж.привет, гараж. «q1» не заметил? сравнивали в основном их, вообще-то. а не qw.
> что пир ту пир мультиплей не масштабируется и не работает в
> гетерогенной сетке.и именно поэтому там была клиент-серверная модель, прикинь. как и в дюке.
> а нормальный клиент-серверный мультиплей к дюку и доси
> толком не допилили последний раз как я смотрел.не туда смотрел, значит.
> а при чём тут это к динамическому освещению? реализация изменения освещения секторов
> от движущегося entity в билде достаточно тривиальна.все любопытсвеннее и любопытсвеннее. ну-ка, ну-ка, рассказывай. я-то дурак по старой памяти думал, что шейдинг в билде через спрайты изменяется, а оно вона как.
>> что пир ту пир мультиплей не масштабируется и не работает в
>> гетерогенной сетке.
> и именно поэтому там была клиент-серверная модель, прикинь. как и в дюке.в дюке? клиент-сервер? да он упоротый, граждане!
> я-то дурак по старой памяти думал, что шейдинг в билде через спрайты изменяетсяэто как вообще? O_O
у сектора есть освещённость. всё. каким гениталием тут спрайты вообще?>> и именно поэтому там была клиент-серверная модель, прикинь. как и в дюке.
> в дюке? клиент-сервер? да он упоротый, граждане!в дюке. клиент-сервер. кто игру начинает — тот и сервер. сюрпрайз, да? а ещё дюк умел «перекидывать» сервера на другого игрока, если оригинальный сервер издох. ты опять удивился? бывает.
>> я-то дурак по старой памяти думал, что шейдинг в билде через спрайты изменяется
> это как вообще? O_O
> у сектора есть освещённость. всё. каким гениталием тут спрайты вообще?утомил. покажи мне здесь освещенность сектора, пожалуйста.
typedef struct
{
short wallptr, wallnum;
long ceilingz, floorz;
short ceilingstat, floorstat;
short ceilingpicnum, ceilingheinum;
signed char ceilingshade;
char ceilingpal, ceilingxpanning, ceilingypanning;
short floorpicnum, floorheinum;
signed char floorshade;
char floorpal, floorxpanning, floorypanning;
char visibility, filler;
short lotag, hitag, extra;
} sectortype;> в дюке. клиент-сервер. кто игру начинает — тот и сервер. сюрпрайз, да?
> а ещё дюк умел «перекидывать» сервера на другого игрока, если оригинальный
> сервер издох. ты опять удивился? бывает.угу. единственно что там ничего кроме движения игроков не передавалось, и все остальное считалось на пирах самостоятельно, а в качестве бонуса имелся некоторый гемор с синхронизацией всей этой бодяги между пирами. у меня как-то язык не поворачивается называть это "клиент-сервер".
> утомил. покажи мне здесь освещенность сектора, пожалуйста.не покажу. это надо в engine.c лезть. но я вот тут подумал, и мне стало дико интересно, как организовать «шейдинг через спрайты». да и что это вообще такое.
освещённость пола и потолка я в структуре вижу. что из них отвечает за освещённость сектора в целом — не помню. возможно, вообще третье поле. но про «шейдинг через спрайты» ты всё-таки расскажи. а то я даже не представляю, как на сектор спрайт натянуть: лопнет же. а вот изменение освещённости секторов в игре — отлично помню.
если уж ты будешь *сильно* настаивать, а у меня появится свободный день-другой — склепаю тебе демку на «шоколаде» с посекторной дискотекой. но особо не рассчитывай, мне очень лень.
> угу. единственно что там ничего кроме движения игроков не передавалось, и все
> остальное считалось на пирах самостоятельночто и современные игры стараются делать. потому что чем меньше передаёшь — тем лучше. благодаря фиксированой длине «тика» и предсказуемости prng остальное дешевле посчитать на месте, нежели гонять по очень медленному модему, например.
а вот когда fps отвязали от внутренних часов игры — да, всё стало намного интересней.
> гемор с синхронизацией всей этой бодяги между пирами
имелся. вот тут точно не помню, но по-моему, при возникновении десинка как раз сервер насильно синкал всех с собой. но это может быть ложная память.
> язык не поворачивается называть это «клиент-сервер».
а у меня поворачивается. ты ещё скажи, что раз некоторые так называемые сайты сейчас чуть ли не ввсё взаимодействие с пользователем делают на стороне клиента, а с сервером обмениваются только микропорциями данных, то это и не клиент-сервер уже.
> освещённость пола и потолка я в структуре вижу. что из них отвечает
> за освещённость сектора в целом — не помню. возможно, вообще третье
> поле. но про «шейдинг через спрайты» ты всё-таки расскажи. а то
> я даже не представляю, как на сектор спрайт натянуть: лопнет же.
> а вот изменение освещённости секторов в игре — отлично помню.а там нет "освещенности сектора в целом". у стен, у потолка и пола, у спрайтов есть яркость, 32 то ли 64 уровня, лень проверять. они отрисовываются палитрой, корректированной уровнем яркости. конкретно в дюке яркость может изменяться программно, если в секторе присутствуют невидимые спрайты типа выключателей или гоняющих яркость по циклу. в этом случае при выполнении функции анимации для этих спрайтов яркость стен и пола/потолка в их секторе соотв. изменится. яркость видимых спрайтов при отрисовке корректируется яркостью пола или стен, если не касаются ничего - потолка. вот, в общем, и все "динамическое освещение".
> если уж ты будешь *сильно* настаивать, а у меня появится свободный день-другой
> — склепаю тебе демку на «шоколаде» с посекторной дискотекой. но особо
> не рассчитывай, мне очень лень.а то я сам в свое время для дюка уровни не клепал ггг
>> угу. единственно что там ничего кроме движения игроков не передавалось, и все
>> остальное считалось на пирах самостоятельно
> что и современные игры стараются делать. потому что чем меньше передаёшь —
> тем лучше. благодаря фиксированой длине «тика» и предсказуемости prng остальное
> дешевле посчитать на месте, нежели гонять по очень медленному модему, например.угу, детерминированность в полный рост и рэндом вручную по таблице, а в качестве бонуса несовместимость даже между минорами одной и той же игры.
> а у меня поворачивается. ты ещё скажи, что раз некоторые так называемые
> сайты сейчас чуть ли не ввсё взаимодействие с пользователем делают на
> стороне клиента, а с сервером обмениваются только микропорциями данных, то это
> и не клиент-сервер уже.хорошо передернул, красиво ггг. разницу между одноранговой сетью с выбором мастера из одинаковых пиров и клиент-сервером мы как бы не замечаем. ты и виндовую воркгруппу, небось, доменом называешь.
> в общем, и все "динамическое освещение".тьфу. так ты про метод изменения говорил, когда про "спрайты" речь вёл.
> а то я сам в свое время для дюка уровни не клепал
> гггя не про это. я про ракету, например, которая при полёте освещает сектора. это бессмысленно, конечно, потому что освещение будет странное, но несложно.
> угу, детерминированность в полный рост и рэндом вручную по таблице, а в
> качестве бонуса несовместимость даже между минорами одной и той же игры.как будто где-то иначе. никто не передаёт всё состояние, это накладно и бессмысленно.
> хорошо передернул, красиво ггг. разницу между одноранговой сетью с выбором мастера из
> одинаковых пиров и клиент-сервером мы как бы не замечаем. ты и
> виндовую воркгруппу, небось, доменом называешь.ой, отлично ты понял всё. не сношай мне мозг, у меня его и так мало.
> я не про это. я про ракету, например, которая при полёте освещает
> сектора. это бессмысленно, конечно, потому что освещение будет странное, но несложно.я не помню там спрайта, который на такое реагировал, так что без изменений в исходнике не получится. ну хотя чо, сам проверь.
>> угу, детерминированность в полный рост и рэндом вручную по таблице, а в
>> качестве бонуса несовместимость даже между минорами одной и той же игры.
> как будто где-то иначе. никто не передаёт всё состояние, это накладно и
> бессмысленно.зачем все, почему все? если интересно, посмотри хоть quake network protocol, что и как там передается.
> я не помню там спрайта, который на такое реагировал, так что без
> изменений в исходнике не получится. ну хотя чо, сам проверь.блин, ну я же не говорил, что не придётся дописать кусочек. причём скорее всего даже не в engine.c, а в «обмотку». потому и сказал «когда не лень будет».
> чо? в билде вообще не было такой сущности "источник света".Зато в duke3d свет был элементом сюжета. А не элементом какой-то там мифической крутости, про которую обычным взглядом и не узнаешь.
Главное - это не технология, а то, как ей можно пользоваться.
А самое разрушаемое всё было в X-com. Эх, вот бы свободному проекту движок с полными разрушениями, да приделать прицел "из глаз", чтобы можно было из первого лица целиться - вот это было бы любопытно.