URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 88754
[ Назад ]

Исходное сообщение
"Детальный анализ исходного кода игры Duke Nukem 3D"

Отправлено opennews , 21-Фев-13 09:35 
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


Содержание

Сообщения в этом обсуждении
"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено медведдд , 21-Фев-13 09:52 
Дюк, конечно, веселая игра, но при наличии исходников Дума3, копаться в этом спрайтовом ужасе.....

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 21-Фев-13 11:17 
> Дюк, конечно, веселая игра, но при наличии исходников Дума3, копаться в этом спрайтовом ужасе.....

После обычного doom - дюк был прорывом, даже когда quacke вышел в дюк активно продолжали играть. Чего только стоит возможность установки мин.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 21-Фев-13 12:05 
Дюк конечно был забавной игрушкой, но с тех пор безбожно устарел.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено медведдд , 21-Фев-13 12:06 
"После обычного doom - дюк был прорывом"

Вы не поверите, но Дюк вышел всего на несколько месяцев раньше Quake1. Движок которого просто разрывает движок Дюка.

Атмосфера Дюка к вопросу не относится, т.к. в статье речь идёт об изучении движка, а не атмосферы. Кстати, в Q1 и Doom-ах атмосферы не меньше, просто другая. Фор хум хау, как говорится.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 12:16 
> Вы не поверите, но Дюк вышел всего на несколько месяцев раньше Quake1.
> Движок которого просто разрывает движок Дюка.

1. Системные требования. У quake намного выше.

2. Интерактивность: пули на стенах, разрушаемое всё, доступные ночные бабочки

3. Видимость. В quake всё тёмно серое, на тёмно сером фоне, я проходил первый эпизод несколько раз, но я даже представления не имею, с кем я там боролся. Какие-то бесформенные сгустки. А если ещё убрать то, что акселлераторы тогда были чудом, то яркая картинка и различимые объекты duke3d - это просто прелесть. А взрывы - прекрасная анимация duke против КВАДРАТНЫХ взрывов в quake.

4. Итемы - найтвижн, голодюк. Всё из коробки.

5. У шадоуорера был даже глайд. И вообще, что было оригинального на движке quake? А на build сразу же вышли такие разные blood, shadow warrior, redneck rampage, n.a.m., каждый со своими уникальными фишками.

6. Возможность менять кучу фич через .con-файлы, без пересборки и переделки. Не нужно быть программистом с большой дороги.

7. Технология не заменит души. Нигде, никак и никогда.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено ZloySergant , 21-Фев-13 16:05 
>5. У шадоуорера был даже глайд. И вообще, что было оригинального на движке quake? А на build сразу же вышли такие разные blood, shadow warrior, redneck rampage, n.a.m., каждый со своими уникальными фишками.

А еще 2 части WitchHaven/


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 21-Фев-13 17:32 
> Системные требования. У quake намного выше.

ненамного, а движок по сравнению с квейковским... как каменный топор сравнивать с металлическим


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 17:41 
>> Системные требования. У quake намного выше.
> ненамного, а движок по сравнению с квейковским...

Я выше уже сравнил, в семи пунктах.

Где в quake были горящие люди? Разбиваемые бутылки в баре? Действующий бильярд? Кукла вуду? "Огнемёт" из балончика. Томиган, стреляющий по углам? Снайперская винтовка? Действующие телефонные аппараты? Уменьшители и замораживатели? Сюррикены, торчащие из стен?

Quake о трёх частях вообще, наверное, самая неоригинальная серия - только бегай и стреляй, однообразие поразительное. Говорить о каких-то оригинальных, ярких, использующих оригинальные фишки, играх, и говорить не приходится. В build же можно было делать такие оригинальности. И до сих пор можно. А в ufoai до сих пор стены неразрушаемые, из-за хорошо выбранного движка. Лучше бы он был трижды спрайтовый, но как в оригинальном x-com, где самое интересное строилось именно на "отзывчивости" города на гранаты.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено www2 , 21-Фев-13 18:12 
На самом деле и в Duke3D и в Quake 2 стены разрушаются только там, где это предусмотрел дизайнер уровня. В Quake разрушаемых стен не было вообще.

По фичастости Duke3D сильно опередил время. В нём даже можно было делать уровни с 3,5-мерной геометрией, когда две разные комнаты находятся одновременно на одном и том же месте, а в какую попадёшь - зависит от того, через какую из дверей заходишь. Это фича движка, основанного на порталах. Во всей серии Quake такое сделать невозможно.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 18:35 
> На самом деле и в Duke3D и в Quake 2 стены разрушаются только там, где это предусмотрел дизайнер уровня

Но как они это делают :) Во второй карте первого эпизода целый дом последовательно сносился. Плюс разные тайные пещеры. Плюс всякие решётки. Чего там только не было. И работает (либо портирован) для dos, linux и ещё десятка-другого платформ (я лично смотрел в openbsd и icaros).

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

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


Вы видели игру judith? Её движок во многом уступает и wolf3d, но по мнению многих эта игра - настоящий шедевр. Потому что это - искусство.


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


... Ну а для группы полудурков, которые не понимают очевидных вещей, и умеют пальцы только до двух зажимать - очевидный минус. У них мир чёрно-белый, они знают только две вещи - то, на что они дрочат, и то, на что они не понимают, как дрочить, и поэтому резко визжат против этого. Говорить с ними об искусстве, о потребности людей к творчеству, о коллективной разработке и о свободе? Смешно.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено anonymous , 21-Фев-13 19:44 
Сюрприз-сюрприз! Build был закрыт до 2004 года, когда даже Quake 2 уже открыт был. Где открытость, где документация? Из 3 проектов выжил только eduke32, из 12 игр на движке сейчас можно только в 3,5 игры - остальное только через DosBOX. Где же коммуните, на которое вы так уповаете? Почему Build загнулся в 1998 году, а в потомков idTech3 мы играем до сих пор?

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 19:48 
> Сюрприз-сюрприз! Build был закрыт до 2004 года, когда даже Quake 2 уже
> открыт был. Где открытость, где документация? Из 3 проектов выжил только
> eduke32, из 12 игр на движке сейчас можно только в 3,5
> игры - остальное только через DosBOX. Где же коммуните, на которое
> вы так уповаете? Почему Build загнулся в 1998 году, а в
> потомков idTech3 мы играем до сих пор?

Потому что не читаете ни новость, ни то, что я пишу.

Я вообще смотрю, что 99% местного населения полагается на 90% на стереотипы и на 10% на собственные домыслы, основанные на тех же стереотипах и ощущениях. При таком раскладе чего-то нового в него не может попасть в принципе. Это пустой разговор.


ps. Причём тут существующие игры? Речь в новости вообще не об этом.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 23-Фев-13 00:29 
Да-да, все тут тупые, один ты Творец. Все кругом ошибаются - один ты светоч знаний. Ты форум часом не перепутал, дружок?

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 23-Фев-13 03:00 
> Да-да, все тут тупые, один ты Творец. Все кругом ошибаются - один ты светоч знаний.

Почему ВСЕ?


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 19-Фев-14 19:07 
>> Да-да, все тут тупые, один ты Творец. Все кругом ошибаются - один ты светоч знаний.

Да,да. я хоть во времена BUILD-engine игр и предпочилал именно их Quake, и даже код смотрел и немного даже крутил(достало что не весь код открыт, зв.библиотека открыта только в SWarrior, но она там вешает комп... форки както не смотрел, ещё там жуткая система бит-тэгов хоть и конечно разобратся функционально одна из самых крутых, особенно в SW, но блин кодить когда ниодного коммента и даже define для них, + fixedpoint "в уме"... ),
но таки от вашего отношения к людям имеющих всеголишь другую точку зрения читать эту тему что то тошновато. И вообще - на вкус и цвет...



"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Легион , 25-Фев-13 15:47 
>>> Системные требования. У quake намного выше.
>> ненамного, а движок по сравнению с квейковским...
> Я выше уже сравнил, в семи пунктах.

Сударь, у вас проблемы с пониманием русского языка ?
Еще раз: Не Quake - лучшая игра, чем Duke3D, а движек Quake технически в сравнении с движком Duke3D более совершенен. Он является полноценно трехмерным с точки зрения внутренней реализации. В отличии от ...
То, о чем вы говорите, в целом справедливо, но это заслуга художников-дизайнеров-аниматоров Duke3D, а не программистов движка, и к предмету разговора отношения не имеет. В общем  игры от ID всегда были прорывными именно с технологической точки зрения, а в плане геймдизайна были весьма посредственными.
Время расставило все по своим местам. Quake стал первой игрой, сетевой режим которой заложил основу для поколений будущих видеоигр и явления киберспорта как такового. В Quake шпилили до момента выхода Quake 3. На базе Quake сделали Team Fortress, и кучу других модов.
Само понятие "игровой движек" принадлежит ID Software.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 25-Фев-13 15:53 
> Само понятие «игровой движек» принадлежит ID Software.

вот это ты мощно завернул, конечно.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Легион , 25-Фев-13 15:57 
>> Само понятие «игровой движек» принадлежит ID Software.
> вот это ты мощно завернул, конечно.

Сам же термин «игровой движок» появился в середине 1990-х годов — в это время окончательно установилось доминирование IBM-совместимых компьютеров, а быстрые процессоры и «хитрое» программирование дали 30 и более кадров в секунду в трёхмерных играх. Игры Doom и Quake от id Software оказались настолько популярными, что другие разработчики вместо того, чтобы работать с чистого листа, лицензировали основные части программного обеспечения и создавали свою собственную графику, персонажей, оружие и уровни — «игровой контент» или «игровые ресурсы». Движок Quake был использован в более чем десяти проектах и дал серьёзный толчок развитию middleware-индустрии.

(С) Википедия - Игровой движек.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 25-Фев-13 16:14 
> © Википедия

это уже само по себе смешно.

я тебе сейчас секрет открою: «движки» были намного раньше. и — СЮРПРИЗ! — вообще до того, как «дум и квак» появились.

впрочем, спорить с человеком, считающим долбопедию авторитетным источником — бессмысленно.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Легион , 26-Фев-13 11:45 
>> © Википедия
> это уже само по себе смешно.
> я тебе сейчас секрет открою: «движки» были намного раньше. и — СЮРПРИЗ!
> — вообще до того, как «дум и квак» появились.
> впрочем, спорить с человеком, считающим долбопедию авторитетным источником — бессмысленно.

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


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 26-Фев-13 11:54 
в какое «то», дитятко? мне четвёртый десяток, знаешь ли. и я тебе сейчас открою секрет: в эпоху восьмибитных игрушек у игроделов в ходу был термин «engine». угадай, что он означал.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Легион , 26-Фев-13 15:56 
> в какое «то», дитятко? мне четвёртый десяток, знаешь ли. и я тебе

Скан паспорта ?
> сейчас открою секрет: в эпоху восьмибитных игрушек у игроделов в ходу
> был термин «engine». угадай, что он означал.

Линк ?



"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Михрютка , 26-Фев-13 16:28 
> Ну так и не спорь. Я в то время жил, и в
> эти самые игры рубился, так что в вопросе разбираюсь. А у
> тебя, как водится в таких ситуациях, вообще аргументов нет, кроме собственного
> гипертрофированного самомнения.

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


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Легион , 27-Фев-13 19:37 
>> Ну так и не спорь. Я в то время жил, и в
>> эти самые игры рубился, так что в вопросе разбираюсь. А у
>> тебя, как водится в таких ситуациях, вообще аргументов нет, кроме собственного
>> гипертрофированного самомнения.
> для разбирающегося в вопросе ты пишешь слишком много глупостей. в принципе уже
> после твоего камента #117 это было очевидно, с цитированием ерунды из
> википедии мог бы уже и не стараться.

Приведи ссылку на не ерунду. Я еще русский знаю. Как слово "коммент" пишется.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 19-Фев-14 20:53 
>>>>> Системные требования. У 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)


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 19-Фев-14 20:54 
>>Он является полноценно трехмерным с точки зрения внутренней реализации.

- Вообще то, с точки зрения внутренней реализации, - BUILD тоже! Просто в те далёкие времена было принято оптимизировать игры - с целью максимального совместимости с древнми компами (ну да до Q1),  более того - даже визуально BUILD-игры это ФАКТИЧЕСКИ 3D игры - даже поворот головы есть, пусть и не на 90 градусов, ну так он и у многих даже совремнных Direct3D/OGL играх нередко значительно меньше - потому что тогда это была пиар-фича от IDsoft-e, с клеветой что это мол 3D(отвлекаясь: к томуже лживая клевета, реальный 3D  - это воксель, кстати использованный наряду со спрайтами в ShadowWarrior...) а сейчас нет и надобности её, даже при поддержки движком - искуственно ограничивается для лучшего восприятия учитывая что при угле стремящемся к 90 градусам - визуально немного искажается картинка)


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 19-Фев-14 20:57 
>> То, о чем вы говорите, в целом справедливо, но это заслуга художников-дизайнеров-аниматоров
>> Duke3D, а не программистов движка,

- Тоже неверно. Дизайнеры,художники, как и гемдизайнер со сценаристом
- без технологии поддерживающих их идеи, всё же - ноль
(достаточно вспомнить разные патриотические игры, ну хоть вроде почти-оригинальной 2025 - Битва за Родину, только по графической линии обсираемые, правда скорее явно антипатриотами, но и гипер-тормоза на момент выхода - отбили желание играть у всех, максимум спустя несколько лет; конечно и наоборот верно, отвратные текстуры и геймдизайн(и даже туповатый финал как в нашей Предтечи  The Precursors) - никто не спорит)
К тому же, ведь в статье обсуждается именно (BUILD-)движок, а не игры на нём.
Но, самое поразительное, просто чудо - как они смогли вообще доделать и ещё и настолько БЕЗГЛЮЧНО под DOS-PM (без нормального отладчика, где любой незначительный баг = зависон всего ПК) как движок, так особенно игры на нём - при отсутвии исходников движка разрабам и крайне нетрадиционной и вообще новаторско-оптимизироанно-неуниверсальной 3D-начинке.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 20-Фев-14 07:37 
не было в билде ничего «новаторского». и отладчик в ваткоме был, ты просто по молодости лет считаешь, что отладчики в винде придумали. и глюкоталовом билд был весьма и весьма долго (если бы ты почитал файлы с историей — узнал бы много интересного).

да, технологически в некоторых аспектах билд превосходил «id Tech 1» — потому что id тогда в полный рост занималась разработкой id Tech 2. Кена просили сделать нечто похожее на id Tech 2, но по многим причинам — не выгорело.

p.s. извиняюсь, «id Tech 1» следует читать как «id Tech 0», а «id Tech 2» как «id Tech 1». да, я в курсе, что это не официальные названия.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 19-Фев-14 20:58 
>> В общем  игры от ID всегда были прорывными именно с технологической точки зрения,

- Я смотрел и BUILD и Q движки, win32-порт Q-движка Вы не отличите от ЛЮБОГО другого современно (если раньше не видели и вам не сказать), а вот BUILD весьма запоминается своей оригинальностью, и тем более тем что его (движок,не игры-на нём) полность включая и двугие компоненты написал ...просто студент в свободное время(пока его почти готовый движок не начали лицензировать и он вынужден был прервать временно учёбу из-за частых перелётов), в то время как в IDsoft-r'e на полной ставке работали "бородатые" программисты с нехилым опытом и тем более в 3D-области, и главное - подпихивающим их руководством, я уж и не говорю даже - спокойно - на зарплате.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 20-Фев-14 07:40 
> его (движок,не игры-на нём) полность включая и двугие
> компоненты написал …просто студент в свободное время(пока его почти готовый движок
> не начали лицензировать

а вот это — случай так называемого вранья.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 19-Фев-14 21:00 
> а в плане геймдизайна были весьма посредственными.

- Не соглашусь - просто пропорционально (таки)слабеньким(тем более сравнительно с современными 3D-accelerated) возможностям Q-движков, например геймдизайн в q3 считаю суперским(не считая позорного отсутствия миссий), да и в Daikatana даже на q2-движке(правда с улучшениями) - вообще просто неповторим(его правда подвела чисто релиз-сыроватость вплоть до непроходимости CD-версии). Тот же HL1(Source-engine) взял за основу тоже Q1-engine и ничего на геймдизайн HL1 вроде не жаловались.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 19-Фев-14 21:02 
> Время расставило все по своим местам. 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
...


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 20-Фев-14 01:11 
(небольшая поправочка: спустя ~20 лет...)

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 20-Фев-14 01:29 
ещё бы до JonoF дошлобы что можно давать и на них ссылки(централлизованно)...



"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 22-Фев-13 03:58 
>> Системные требования. У quake намного выше.
> ненамного

намного. без pentium играть в Quake можно было или в микроокне типа 128x128 пикселов, или в режиме «слайдшоу». Build же отлично бегал на четвёрках в 320x240 и даже повыше. одни из сильновлияющих причин — более сложный растеризатор Quake и использование в Quake float'ов.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 12:19 
Например, поклонники XCOM до сих пор недолюбливают ufoai за отсутствие разрушаемых стен. Потому что движок quake (или даже quake2), на котором сделаны бои, не умеет это В ПРИНЦИПЕ, и никак не приделаешь (на офсайте ufoai так прямо и написано).

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Легион , 25-Фев-13 15:54 
> Например, поклонники XCOM до сих пор недолюбливают ufoai за отсутствие разрушаемых стен.
> Потому что движок quake (или даже quake2), на котором сделаны бои,
> не умеет это В ПРИНЦИПЕ, и никак не приделаешь (на офсайте
> ufoai так прямо и написано).

Никак не приделаешь ?! Это чушь. "Нельзя сделать", и "не смогли/не захотели" - две большие разницы.
Почитайте историю создания Half-Life, движек которого был основан на Quake, к которому дописали все, что захотели реализовать в процессе разработки.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 25-Фев-13 16:06 
> Никак не приделаешь ?! Это чушь. "Нельзя сделать", и "не смогли/не захотели"
> - две большие разницы.
> Почитайте историю создания Half-Life, движек которого был основан на Quake, к которому
> дописали все, что захотели реализовать в процессе разработки.

Каша из топора. Там от оригинального движка остались только лошади в ПТС. У меня, вон, в ПТС тоже было 79 л.с. записано, хотя я даже не представляю, КАК. Это же не значит, что у меня был движок от овощевозки?


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 25-Фев-13 16:16 
ок. покажи, как реализовать geomod на движе, в основе которого лежат BSP и PVS.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено TbIK , 21-Фев-13 15:44 
> Движок которого просто разрывает движок Дюка.

Технически - может быть. В самой же игре Квака смотрелась как УГ - всё какое-то угóльное, текстуры - цвета "мокрое УГ", монстры - и на тех текстуры пожалели! Я с большим удивлением слушал тех, кто писал кипятком от кваки - видимо, "слаще морковки ничего не ели".

> Кстати, в Q1 и Doom-ах атмосферы не меньше, просто другая.

Ну да. Примерно как оказаться запертым в деревенском туалете. "Просто другая"... хаха!

Особенно умиляло, что дюк хоть как-то смог сделать разрушения - стены и стёкла, а квака ВООБЩЕ НИКАК! На уровнях не было вообще ничего, что можно было разломать хотя бы для забавы.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Андырдаев , 21-Фев-13 17:44 
Ну почему же. В QUAKE 2 можно было бить стекла... и стены рушить. Если мап-мэйкеры во время работы задумывали что в каком то месте на мапе должна быть разрушена стена... в нее среляешь и стена рушится. Всё там было, всё рушилось, если это было задумано.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 17:49 
> Ну почему же. В 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д-ускорители, и оригинальности там было примерно столько же, сколько в опеннетовских виндузятниках или болельщиках омского "Авангарда".


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Андырдаев , 21-Фев-13 18:41 
Я первый комп купил вместе с предустановленным quake 1... потом вроде купил диск quake2(или возможно мне этот диск дали в придачу к компу). Это были первые игры на моем компе. После игры в quake1 я просыпался в поту, потому что бегал во сне по уровням quake1. Просто поймите что в quake1 и quake 2 своя атмосфера, а в Duke и Doom своя атмосфера. Я играми особо не увлекался, но quake мне оч понравился тогда. Потом спустя какое то время я нашел и doom и dukenukem и shadow warrior(классная игра с приколами), и NAM(тоже приколола) и Blood(в русской озвучке про Ленина)... Но все равно я много раз переигрывал в quake 2 и нашел к ней много модов, потом с ботами бился, потом по модему... Кароче игра тогда на меня производила сильное впечатление.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 18:46 
> Но все равно я много раз переигрывал в quake 2 и
> нашел к ней много модов, потом с ботами бился, потом по
> модему... Кароче игра тогда на меня производила сильное впечатление.

И поэтому все должны играть в quake? Почему никто никогда не помнит, что на свете есть не только он, и не может смотреть со стороны? Лично мне движок build вообще не нужен, а doom мне нравится намного больше, чем duke3d, но польза видится несомненной, а технические достоинства - могут стать для кого-то решающими.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено kurokaze , 22-Фев-13 19:45 
>В Quake II - можно. С серьёзными ограничениями. И сравнивать интерактивность build

Ох, это ты в Red Faction не играл


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 02:14 
>>В Quake II — можно. С серьёзными ограничениями. И сравнивать интерактивность build
> Ох, это ты в Red Faction не играл

да, тут билду нечего противопоставить, в нём проще удавиться, чем CSG сделать. да и в кваке деревья пересчитывать… а вот в д3, кстати, порталы (емнип) — там можно попробовать.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 23-Фев-13 03:05 
> Ох, это ты в Red Faction не играл

Движок-то открытый?

Каким образом это может отнестись к теме разговора? Речь о том, имеет ли смысл использовать движок, или все должны только на самые мегапиксельные онанировать, даже если собираются писать игру для чего-то совсем немегагерцового и невидеокартового.

Я и перечислил те преимущества, которые может дать движок build. Фанатом duke3d я не являюсь, в него не играю, да и doom мне нравился всегда больше. :)

Речь идёт о создании новых свободных проектов. И это вы ещё не играли в judith. :)


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 03:09 
> И это вы ещё не играли в judith. :)

и не получится. вайн не интересен, а «родная» хочет fmodex, которым сорить в системе не хочется.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено all_glory_to_the_hypnotoad , 21-Фев-13 15:43 
не было такого, дюк не выстрелил. Да и чего там прорывного со своей псевдо3д движком.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено www2 , 21-Фев-13 18:26 
> не было такого, дюк не выстрелил. Да и чего там прорывного со
> своей псевдо3д движком.

Там прорывного было много, гораздо больше чем два абстрактных символа "3D". Дыры от пуль, разрушаемые стены и стёкла, jetpack, стриптизёрши, камеры видеонаблюдения, уменьшитель и морозильник, поезда, кодовые замки, кинопроекторы. И это только из того, чего не было в Quake и Doom.

Другой игрой-прорывом был Strife. Одна большая локация вместо уровней, ролевая система с нейтральными и дружественными персонажами, учётом репутации, возможностью брать задания и торговать, камеры видеонаблюдения.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 18:37 
> Другой игрой-прорывом был Strife. Одна большая локация вместо уровней, ролевая система
> с нейтральными и дружественными персонажами, учётом репутации, возможностью брать задания
> и торговать, камеры видеонаблюдения.

А игрушкой с нормальным и честным действительно 3D был Descent. А уж какой там был мультиплеер! У меня до сих пор висит незакрытая стрелка на 4-м уровне у реактора. :)


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено www2 , 21-Фев-13 19:39 
Ещё в Duke3D вспомнил зеркала и лазерные мины.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено upyx , 21-Фев-13 20:47 
> Ещё в Duke3D вспомнил зеркала и лазерные мины.

И туалет...


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 19-Фев-14 21:31 
да не просто, а (если не забыл и приписую тут)облегчился - и полегчало(+Health)
+фонтаны, питьё из которых тоже улучшало здоровье


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 21-Фев-13 16:38 
Ну знаешь, как игра дюк как ни крути на порядок круче дума3. Если в дюке ещё и код вменяемый, я как со стороны разработчика так и геймера, предпочёл бы сделать/играть в игру, написанную именно на нём. Тёплая ламповость в комплекте. И ничего ужасного в спрайтах нет, посмотри, например, 8bit killer от locomalio - там движок по сути проще чем wolf3d, однако кайфа столько сколько нет во всём современном рельсовом шейдерном крапе вместе взятом.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 21-Фев-13 17:35 
вкусовщина же!
а с технической точки зрения - от дюка ничего прорывного нет


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 17:42 
> а с технической точки зрения - от дюка ничего прорывного нет

Кроме того, что перечислено в этой теме. Он превосходит по многим пунктам, а в остальном, прекрасная маркиза, всё хорошо, всё хорошо.



"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 22-Фев-13 04:06 
> Если в дюке ещё и код вменяемый

код абсолютно невменяемый. не знаю, привели ли его «в чувство» в этом обзоре (лень смотреть), но оригинал невменяем совершенно. несколько огромных си-файлов (поделено на части потому, что в редактор перестало влазить), волшебные числа all over the place, жестокие массивы вместо структур, Pascal'евский принцип «comments are for beginners» (хэйтеры, это не про тот паскаль, про который вы подумали, это про Pascal // Cubic Team).

проще говоря: код вообще не предназначался для чтения никем, кроме Кена.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 22-Фев-13 04:16 
>> Если в дюке ещё и код вменяемый
> код абсолютно невменяемый. не знаю, привели ли его «в чувство» в этом
> обзоре (лень смотреть), но оригинал невменяем совершенно. несколько огромных си-файлов
> (поделено на части потому, что в редактор перестало влазить), волшебные числа
> all over the place, жестокие массивы вместо структур, Pascal'евский принцип «comments
> are for beginners» (хэйтеры, это не про тот паскаль, про который
> вы подумали, это про Pascal // Cubic Team).
> проще говоря: код вообще не предназначался для чтения никем, кроме Кена.

Никто не смеет читать наш код и при этом выжить...


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 22-Фев-13 04:29 
> Никто не смеет читать наш код и при этом выжить…

таки да. что, кстати, наглядно демонстрируется тем, что Кен так и не дождался от других OpenGL-порта, и ему пришлось самому быстро нахакать polymost.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Kroz , 21-Фев-13 09:54 
Испытываю самые теплые чувства к этой игре. Провел много дней, дуэлясь с ребятами по модему :) . С лазерными минами, голодюками, фразами типа "What are you waiting for, Christmas?" это был не только отличный геймплей, а еще и атмосфера особая - прикольная!

По тому, что я знаю, в Дюке до сих пор больше достоинств, чем недостатков. Вот взять бы его, добавить хорошую графику, триксы из Q2 (распрыжку, double jump, rocket jump, "подворот") - и получится the best game ever :)

P. S. А поднимите руки кто редактил скрипты, чтобы, например, самый простой монстр стрелял ракетами, или что-то в этом роде? ;)


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено тигар , 21-Фев-13 10:25 
зачем в ЭТО что-то добавлять, если можно играть в q2 ?
p.s. играл и в то и в то. каждой игре свое время, DN помер, и квака, говорят, тоже.
даже как-то не знаю, во что сейчас студенты вместо пар рубаются:/ в мое время из FPS то были квейки да UT и никто уже тогда не вспоминал о вулфенштейне, думах и дюке в плане "вспомнить молодость"

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено dalco , 21-Фев-13 10:54 
Не помню уже - в скриптах или в конфиге надо было ковыряться, чтобы убойность оружия изменить? Но, да, делал, приколу ради, ядерный гранатомет. Один выстрел и пол-зоны без окон, а всех не спрятавшихся монстров - в клочья :) Другое дело, что играть так было неинтересно, ибо установки по умолчанию и так обеспечивали идеальный баланс игры.

P.S. Кстати, сейчас обладатель лицензионной копии того самого Duke3d (не путать с вышедшим через надцать лет отстойным ужОсом).


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Tav , 21-Фев-13 11:49 
EDuke32. Про триксы не знаю, но графика там улучшена, есть трехмерные модели и текстуры в высоком разрешении (хотя мне в старые игры больше нравится играть с оригинальными ресурсами).

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено да , 21-Фев-13 23:01 
> Испытываю самые теплые чувства к этой игре. Провел много дней, дуэлясь с
> ребятами по модему :) . С лазерными минами, голодюками, фразами типа
> "What are you waiting for, Christmas?" это был не только отличный
> геймплей, а еще и атмосфера особая - прикольная!
> По тому, что я знаю, в Дюке до сих пор больше достоинств,
> чем недостатков. Вот взять бы его, добавить хорошую графику, триксы из
> Q2 (распрыжку, double jump, rocket jump, "подворот") - и получится the
> best game ever :)
> P. S. А поднимите руки кто редактил скрипты, чтобы, например, самый простой
> монстр стрелял ракетами, или что-то в этом роде? ;)

Никто не смеет красть наших детей и женщин и при этом выжить.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 21-Фев-13 10:02 
Ого - три года по исходникам нюкема проходил.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 10:39 
Я уж, начитавшись всяких товарищей, сломавших git, подумал, что там страшную уязвимость нашли.

Duke Nukem 3D нам строить и жить помогает. Открыли бы весь контент, было бы вообще замечательно.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 21-Фев-13 12:33 
Кому сейчас в здравом уме захочется изучать спрайтовый движок Дюка? Сейчас игровые технологии вообще другие. Лучше потратить время на их изучение.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 12:38 
> Кому сейчас в здравом уме захочется изучать спрайтовый движок Дюка? Сейчас игровые
> технологии вообще другие. Лучше потратить время на их изучение.

Как можно писать оперы, когда в Африке люди голодают?

Как можно писать о любви, когда в Америке негров линчуют?


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 21-Фев-13 12:43 
Как можно игровые технологии изучать, когда в браузер DRM добавляют?

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 22-Фев-13 04:12 
> Кому сейчас в здравом уме захочется изучать спрайтовый движок Дюка?

какой-какой? вообще-то спрайты там в основном для скорости. сам движок вообще не рейкастер (в отличие от дума), а уровни не требуют bsp-обработки (что позволило делать двери, открывающиеся «нормально», а не только уходящие в стены, например). а когда Кен релизнул polymost, дюк волшебно превратился в практически full3d.

вообще, движок весьма интересный. а налепить туда шэйдеров и бампмапинга несложно, только зачем?


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 21-Фев-13 12:41 
А под какой лицензией код? В Википедии написано, что GPL, но BUILD-то несвободен.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 12:43 
> но BUILD-то несвободен.

Почему?



"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Алексей , 21-Фев-13 14:06 
https://github.com/fabiensanglard/vanilla_duke3D/blob/master...

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 14:17 
Ясно. Обидно.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено TbIK , 21-Фев-13 14:53 
> Ken Silverman (18 years old at the time) wrote a 3D engine at home...

*facepalm*

Дюк, безусловно, работал на ура, но вот какой ценой... не говоря о том, можно ли было ЭТО улучшать без переписывания движка.


"Продолжаем разговор..."
Отправлено TbIK , 21-Фев-13 15:36 
"   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.
"

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


"Продолжаем разговор..."
Отправлено Михрютка , 21-Фев-13 17:35 

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

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


"Продолжаем разговор..."
Отправлено arisu , 22-Фев-13 04:24 
> Собсно, этим уже всё сказано: если на уровне элементарной культуры оформления кода
> — фэйл, чо уж говорить про архитектуру вообще.

этот код вообще не предназначался для чтения никем, кроме Кена. также он не предназначался для «портирования» и прочей всякой «мультиплатформенности». помимо прочего, во многих местах упор делался на скорость работы — откуда глобальные массивы, возврат значений через параметры-указатели и прочие «некрасивые» вещи.

и да: не знаю, как ты, а я помню, как писал лет в 16-18. «кто не может запомнить пару десятков числовых констант и расшифровать простое название переменной xywbu — старпёр! а если ему без комментария не очевидно, что делает и как работает функция wahbooboo() — он ещё и даун.»


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Михрютка , 21-Фев-13 17:30 
забавная новость, что-то вроде

"вышло академическое двухтомное издание Колобка с комментариями академика Задротова"

там на самом деле код достаточно понятный, только надо engine.c сразу выкидывать и вместо него полимост ставить. хотя тоже не сахар.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 22-Фев-13 04:24 
> там на самом деле код достаточно понятный, только надо engine.c сразу выкидывать
> и вместо него полимост ставить.

а если я хочу старый ламповый рендер в software?


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 22-Фев-13 07:35 
>> там на самом деле код достаточно понятный, только надо engine.c сразу выкидывать
>> и вместо него полимост ставить.
> а если я хочу старый ламповый рендер в software?

Перфокартовый. Делаешь дырочки в перфокарте и играешь в мультиплеер "ой, шеф, а я вас вижу. быщь быщь!"


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено 123 , 20-Фев-14 00:51 
Весь прикол то как раз - в ламповости...

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Михрютка , 22-Фев-13 18:15 
отношусь с пониманием.

но все равно, по воспоминаниям семилетней давности, когда я туда как-то заглянул, engine.c это был, конешно, адик.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 01:53 
> но все равно, по воспоминаниям семилетней давности, когда я туда как-то заглянул,
> engine.c это был, конешно, адик.

voxlap не сильно лучше, гыг.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 21-Фев-13 18:30 
>дающий возможность начать использование технологий Duke Nukem
>начать

Шел 2013-й год :)


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 21-Фев-13 18:39 
> Шел 2013-й год :)

А некоторые до сих пор для передачи образов пишут книги. Текстом. Изобретённым хрен знает когда.

Хотя, с такими как вы... не удивлюсь, что завтра будет модно только FullHD SMS, а обычный неfullhd текст будет считаться чем-то чуть ли не постыдным... Хотя по сути там будет примерно 0 отличий.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Андырдаев , 21-Фев-13 18:46 
Кароче лично для меня легенда это - Quake 2.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Аноним , 22-Фев-13 12:44 
Интересно, а в Chasm кто-то играл?

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 22-Фев-13 12:50 
> Интересно, а в Chasm кто-то играл?

в своё время даже исходники просили. да, все в курсе, что там турбопаскаль и асм. в ответ получили два варианта на выбор: «утилизировали армейским методом» и «жена не позволяет».


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 22-Фев-13 12:56 
> в своё время даже исходники просили. да, все в курсе, что там
> турбопаскаль и асм. в ответ получили два варианта на выбор: «утилизировали
> армейским методом» и «жена не позволяет».

"Подземелья Кремля", по-моему, вообще с характерной паскалевской ошибкой 200 вылетали. Как и king's bounty 2. :) Хоть чазм и украинский... :)


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 22-Фев-13 12:54 
> Интересно, а в Chasm кто-то играл?

Все играли. :)


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено kurokaze , 23-Фев-13 02:30 
А то! Рассово украинская игра

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено kurokaze , 23-Фев-13 02:34 
Тут вот д3 ругают, даже 3.5 мерное пространство в дюке "изобрели".
Так это вы Prey не видали, кекекеке

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 02:35 
> Так это вы Prey не видали, кекекеке

а чего там «видать»? обманщики, как есть обманщики. в своё время обещали свободно разрушаемое окружение и кучу плюшек, а в итоге довесили к движку d3 смену гравитации — и всё. обманщики.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено kurokaze , 23-Фев-13 02:50 
Ну да, обещали побольше чем полчилось, тут не поспоришь, но тут фанаты дюка3д расписали что такое как в дюке это вообще-вообще уникально

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 02:59 
> фанаты дюка3д расписали что такое как в дюке это вообще-вообще уникально

на то время — таки да. я, правда, до сих пор не понял, как это всё к движку относится и почему отсутствие на стенах спрайтовых умывальничков — epic fail. движок q1 позволял и разрушаемые в точно заданых дизайнером местах стены, и интерактивные объекты. да ещё и динамическое освещение получше. да и картинку мог такую же мультяшную нарисовать. и скриптовый язык был сильно продвинутей, чем .con.

другое дело, что во мрачную готическую атмосферу Q1 дюковские плюшки лезли, как борец сумо в балетную пачку.

а в Chasm вон, который вспомнили, вообще были противники в полном 3d, и им можно было отстреливать руки-ноги-головы. и безрукий солдат вполне честно пытался подбежать и забодать головой, а безногий — покусать, если рядом пробегаешь. не припомню такого в дюке.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 23-Фев-13 03:01 
> а в Chasm вон, который вспомнили, вообще были противники в полном 3d,
> и им можно было отстреливать руки-ноги-головы. и безрукий солдат вполне честно
> пытался подбежать и забодать головой, а безногий — покусать, если рядом
> пробегаешь. не припомню такого в дюке.

Сырцов нет(?), документации "как это использовать наиболее просто" - тоже нет. Обидно, да.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 03:13 
> Сырцов нет(?), документации «как это использовать наиболее просто» — тоже нет. Обидно,
> да.

ох, к дюку документации — просто завались. к полимосту особенно много.

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


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 23-Фев-13 03:52 
> ох, к дюку документации — просто завались. к полимосту особенно много.

Речь о том, что в новости написано.


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

Пересказываю содержание предыдущих серий - "зачем нужен этот build, когда есть doom3, пусть лучше очередной doom3 делают". Вот я и привёл примеры, когда build лучше. И как выбор движка quake "похоронил" :) ufo:ai

То есть, тут в очередной раз ОБВИНИЛИ человека в том, что он создал указанную документацию по duke3d для использования в свободных проектах. Вот и пиши после этого документацию, с таким-то отношением.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 04:10 
> Вот и пиши после этого документацию, с таким-то отношением.

и пиши. кому надо — воспользуются и поблагодарят. а те, кто орут «не надо» — всё равно пользоваться не стали бы; какой смысл обращать на них внимание? одна благодарность перевешивает 100500 «не надо».


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 23-Фев-13 04:13 
> и пиши. кому надо — воспользуются и поблагодарят. а те, кто орут
> «не надо» — всё равно пользоваться не стали бы; какой смысл
> обращать на них внимание? одна благодарность перевешивает 100500 «не надо».

Дело в том, что это форум по обсуждениям. А не базар-вокзал. То, что я пишу - я пишу, мне благодарности не надо. А вот то, как обсуждают творения других людей, причём на тематическом форуме - мне непонятно. Но интересно, чем всё это закончится. Я уже несколько раз слышал на форуме "я когда-то использовал linux, а теперь я каюсь за это, виноват был", вот интересно, будет ли это в масштабах всего форума? :)


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 04:26 
а чего ты хотел от трепологии? даже меня опеннет постепенно отучает читать первоисточник до того, как написать комментарий.

здесь весело, ругань, еда и прочие достойные развлечения для солидных людей. за что опеннет и люблю.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 23-Фев-13 04:51 
> а чего ты хотел от трепологии? даже меня опеннет постепенно отучает читать
> первоисточник до того, как написать комментарий.
> здесь весело, ругань, еда и прочие достойные развлечения для солидных людей. за
> что опеннет и люблю.

Круто. А российское открытое сообщество тогда где?

---
Чукча получил новую квартиру и показывет гостям. Первая комната: "Здесь у меня тундра." Вторая комната: "Здесь у меня тундра." Кухня: "Здесь у меня тундра." Туалет: "Здесь мой чум." Его спрашивают: "А куда же ты в туалет ходишь?" - "В тундру!"


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 04:59 
> А российское открытое сообщество тогда где?

а что это такое? и зачем оно нужно, собственно?


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Михрютка , 23-Фев-13 04:39 
>> фанаты дюка3д расписали что такое как в дюке это вообще-вообще уникально

тащемта исходники дюка есть живое доказательство превосходства американского программизма над отечественным, т.к. наглядно доказывает, что базовый принцип современного софтостроения "делаем быстро и херово, пока конкуренты не сделали еще быстрее и херовее" с успехом применялся в США еще 20 лет назад.

> на то время — таки да. я, правда, до сих пор не
> понял, как это всё к движку относится и почему отсутствие на
> стенах спрайтовых умывальничков — epic fail. движок q1 позволял и разрушаемые
> в точно заданых дизайнером местах стены, и интерактивные объекты. да ещё
> и динамическое освещение получше. да и картинку мог такую же мультяшную
> нарисовать. и скриптовый язык был сильно продвинутей, чем .con.

хОрОшО сравнил. динамическое освещение с его полным отсутствием и сравнение turing complete языка с конфигом-переростком. ifчтототам - это еще не признак языка.

про мультиплей и quakeworld добавить надо, а то про это никто не вспомнил. я как-то затрудняюсь вспомнить, какой у нас FPS движок до q1 умел мультиплей по tcp а не 4 человека по ipx.

собсно дюк был большим набором ad hoc кода, потому писать на его основе дальше никому особо не хотелось (что и показали дальнейшие 20 лет). если бы Сильверман работал над ним постоянно, как Кармак работает над своими движками, то глядишь, к третьей версии у него вышло бы тоже что-то очень похожее на q1-2. Но Сильверман в тот момент профи не был, для него это была разовая работа, вопросы генерализации и повторного использования кода его не парили, потому маемо шо маемо. кстати Кармак в молодости был похожий (см. исходники вольф3Д в части рендера).


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 04:58 
> динамическое освещение с его полным отсутствием

вообще-то в билде оно тоже есть. но только посекторное.

> ifчтототам — это еще не признак языка.

признак, признак. наличие формальной грамматики (возможность её «нарисовать») — это таки признак языка в данном случае.

> про мультиплей и quakeworld добавить надо

мы в дюка вполне ввосьмером рубались. а с tcp в дос были проблемы. как и у q1, кстати, где ограничение было на 16 человек.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 23-Фев-13 14:38 
>> про мультиплей и quakeworld добавить надо
> мы в дюка вполне ввосьмером рубались. а с tcp в дос были
> проблемы. как и у q1, кстати, где ограничение было на 16
> человек.

Кстати, ещё у duke был TEN:

http://www.ten.net/199706/html/ten__duke_nukem.html

Там, случем, не tcp/ip было?


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 14:47 
tcp-стеки под дос были платной редкостью, тащемта. тогда сети строились на ipx/spx, неписаный стандарт.

а если точнее: не знаю. :3


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 23-Фев-13 14:58 
> 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 через "соплю", а не только через сетевую карту.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 23-Фев-13 15:06 
я и не говорил, что вопрос в сложности. я говорил, что неписаный стандарт так сложился. да, именно потому, что NetWare была бесспорным лидером. забавная ось, кстати: видел (и даже немного админил) это чудовище на реальном боевом сервере с кучей клиентов. правда, до дюка ещё оставалось долго ждать, так что дюка не гонял.

"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Михрютка , 23-Фев-13 19:40 
>> динамическое освещение с его полным отсутствием
> вообще-то в билде оно тоже есть. но только посекторное.

чо? в билде вообще не было такой сущности "источник света". в билде были шейдинги, которые а) монотонные б) устанавливаются для текстуры руцями при создании карты в) изменения шейдингов во время игры только руцями через спрайты, которые опять таки устанавливаются при создании карты. динамическое освещение my ass.

>> ifчтототам — это еще не признак языка.
> признак, признак. наличие формальной грамматики (возможность её «нарисовать»)
> — это таки признак языка в данном случае.

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

>> про мультиплей и quakeworld добавить надо
> мы в дюка вполне ввосьмером рубались. а с tcp в дос были
> проблемы. как и у q1, кстати, где ограничение было на 16
> человек.

але гараж. qw - 32 игрока. опять таки потому что Кармак видел, что пир ту пир мультиплей не масштабируется и не работает в гетерогенной сетке. Сильверману было пофиг, он тупо выжал из существовавшей модели все, что смог. а нормальный клиент-серверный мультиплей к дюку и доси толком не допилили последний раз как я смотрел.

алсо проблемы tcp в досе ничуть не мешали мне шариться со своего сраного 386dx под арахной и бобиком по тогдашним интернетам. американцев они вообще волновали чуть менее, чем никак, потому что к моменту выхода q1 уже год как случилась такая штука, как win95, а в конце 1996 выпустили glquake и winquake и про голый дос вообще можно стало забыть.



"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 24-Фев-13 03:49 
>>> динамическое освещение с его полным отсутствием
>> вообще-то в билде оно тоже есть. но только посекторное.
> чо? в билде вообще не было такой сущности «источник света».

а при чём тут это к динамическому освещению? реализация изменения освещения секторов от движущегося entity в билде достаточно тривиальна.

> конфиг для постфикса тоже формальный язык. как я и сказал, конфиг-переросток. ты
> туда внутрь посмотри и проплачься, там даже переменные создавать было невозможно.

да я смотрел. переменные для языка тоже не обязательны, однако.

> але гараж.

привет, гараж. «q1» не заметил? сравнивали в основном их, вообще-то. а не qw.

> что пир ту пир мультиплей не масштабируется и не работает в
> гетерогенной сетке.

и именно поэтому там была клиент-серверная модель, прикинь. как и в дюке.

> а нормальный клиент-серверный мультиплей к дюку и доси
> толком не допилили последний раз как я смотрел.

не туда смотрел, значит.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Михрютка , 24-Фев-13 15:55 
> а при чём тут это к динамическому освещению? реализация изменения освещения секторов
> от движущегося entity в билде достаточно тривиальна.

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

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

в дюке? клиент-сервер? да он упоротый, граждане!



"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 24-Фев-13 16:03 
> я-то дурак по старой памяти думал, что шейдинг в билде через спрайты изменяется

это как вообще? O_O
у сектора есть освещённость. всё. каким гениталием тут спрайты вообще?

>> и именно поэтому там была клиент-серверная модель, прикинь. как и в дюке.
> в дюке? клиент-сервер? да он упоротый, граждане!

в дюке. клиент-сервер. кто игру начинает — тот и сервер. сюрпрайз, да? а ещё дюк умел «перекидывать» сервера на другого игрока, если оригинальный сервер издох. ты опять удивился? бывает.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Михрютка , 25-Фев-13 03:51 
>> я-то дурак по старой памяти думал, что шейдинг в билде через спрайты изменяется
> это как вообще? 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;

> в дюке. клиент-сервер. кто игру начинает — тот и сервер. сюрпрайз, да?
> а ещё дюк умел «перекидывать» сервера на другого игрока, если оригинальный
> сервер издох. ты опять удивился? бывает.

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


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 25-Фев-13 05:41 
> утомил. покажи мне здесь освещенность сектора, пожалуйста.

не покажу. это надо в engine.c лезть. но я вот тут подумал, и мне стало дико интересно, как организовать «шейдинг через спрайты». да и что это вообще такое.

освещённость пола и потолка я в структуре вижу. что из них отвечает за освещённость сектора в целом — не помню. возможно, вообще третье поле. но про «шейдинг через спрайты» ты всё-таки расскажи. а то я даже не представляю, как на сектор спрайт натянуть: лопнет же. а вот изменение освещённости секторов в игре — отлично помню.

если уж ты будешь *сильно* настаивать, а у меня появится свободный день-другой — склепаю тебе демку на «шоколаде» с посекторной дискотекой. но особо не рассчитывай, мне очень лень.

> угу. единственно что там ничего кроме движения игроков не передавалось, и все
> остальное считалось на пирах самостоятельно

что и современные игры стараются делать. потому что чем меньше передаёшь — тем лучше. благодаря фиксированой длине «тика» и предсказуемости prng остальное дешевле посчитать на месте, нежели гонять по очень медленному модему, например.

а вот когда fps отвязали от внутренних часов игры — да, всё стало намного интересней.

> гемор с синхронизацией всей этой бодяги между пирами

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

> язык не поворачивается называть это «клиент-сервер».

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


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Михрютка , 25-Фев-13 14:35 
> освещённость пола и потолка я в структуре вижу. что из них отвечает
> за освещённость сектора в целом — не помню. возможно, вообще третье
> поле. но про «шейдинг через спрайты» ты всё-таки расскажи. а то
> я даже не представляю, как на сектор спрайт натянуть: лопнет же.
> а вот изменение освещённости секторов в игре — отлично помню.

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

> если уж ты будешь *сильно* настаивать, а у меня появится свободный день-другой
> — склепаю тебе демку на «шоколаде» с посекторной дискотекой. но особо
> не рассчитывай, мне очень лень.

а то я сам в свое время для дюка уровни не клепал ггг

>> угу. единственно что там ничего кроме движения игроков не передавалось, и все
>> остальное считалось на пирах самостоятельно
> что и современные игры стараются делать. потому что чем меньше передаёшь —
> тем лучше. благодаря фиксированой длине «тика» и предсказуемости prng остальное
> дешевле посчитать на месте, нежели гонять по очень медленному модему, например.

угу, детерминированность в полный рост и рэндом вручную по таблице, а в качестве бонуса несовместимость даже между минорами одной и той же игры.

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

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


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 25-Фев-13 14:45 
> в общем, и все "динамическое освещение".

тьфу. так ты про метод изменения говорил, когда про "спрайты" речь вёл.

> а то я сам в свое время для дюка уровни не клепал
> ггг

я не про это. я про ракету, например, которая при полёте освещает сектора. это бессмысленно, конечно, потому что освещение будет странное, но несложно.

> угу, детерминированность в полный рост и рэндом вручную по таблице, а в
> качестве бонуса несовместимость даже между минорами одной и той же игры.

как будто где-то иначе. никто не передаёт всё состояние, это накладно и бессмысленно.

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

ой, отлично ты понял всё. не сношай мне мозг, у меня его и так мало.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено Михрютка , 25-Фев-13 15:19 
> я не про это. я про ракету, например, которая при полёте освещает
> сектора. это бессмысленно, конечно, потому что освещение будет странное, но несложно.

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

>> угу, детерминированность в полный рост и рэндом вручную по таблице, а в
>> качестве бонуса несовместимость даже между минорами одной и той же игры.
> как будто где-то иначе. никто не передаёт всё состояние, это накладно и
> бессмысленно.

зачем все, почему все? если интересно, посмотри хоть quake network protocol, что и как там передается.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено arisu , 25-Фев-13 15:23 
> я не помню там спрайта, который на такое реагировал, так что без
> изменений в исходнике не получится. ну хотя чо, сам проверь.

блин, ну я же не говорил, что не придётся дописать кусочек. причём скорее всего даже не в engine.c, а в «обмотку». потому и сказал «когда не лень будет».


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 24-Фев-13 04:23 
> чо? в билде вообще не было такой сущности "источник света".

Зато в duke3d свет был элементом сюжета. А не элементом какой-то там мифической крутости, про которую обычным взглядом и не узнаешь.

Главное - это не технология, а то, как ей можно пользоваться.


"Детальный анализ исходного кода игры Duke Nukem 3D"
Отправлено бедный буратино , 23-Фев-13 03:07 
А самое разрушаемое всё было в X-com. Эх, вот бы свободному проекту движок с полными разрушениями, да приделать прицел "из глаз", чтобы можно было из первого лица целиться - вот это было бы любопытно.