The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

21.02.2013 09:22

Fabien Sanglard подготовил подробный обзор внутреннего устройства игры Duke Nukem 3D, код которой был открыт около 10 лет назад под лицензией GPLv2 (игровые ресурсы остаются под проприетарной лицензией). Представленный обзор можно использовать как путеводитель по коду, дающий возможность начать использование технологий Duke Nukem 3D в свободных игровых проектах, без необходимости проведения многомесячного предварительного разбора кода. Материал также является хорошим руководством для людей интересующихся дизайном архитектуры игр.

  1. Главная ссылка к новости (http://fabiensanglard.net/duke...)
  2. OpenNews: Оценка исходных текстов игры Doom 3 с точки зрения грамотного стиля кодирования
  3. OpenNews: Представлен детальный обзор кода DOOM 3
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/36172-game
Ключевые слова: game
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (123) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, медведдд (ok), 09:52, 21/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Дюк, конечно, веселая игра, но при наличии исходников Дума3, копаться в этом спрайтовом ужасе.....
     
     
  • 2.14, Аноним (-), 11:17, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Дюк, конечно, веселая игра, но при наличии исходников Дума3, копаться в этом спрайтовом ужасе.....

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

     
     
  • 3.16, Аноним (-), 12:05, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Дюк конечно был забавной игрушкой, но с тех пор безбожно устарел.
     
  • 3.17, медведдд (ok), 12:06, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    "После обычного doom - дюк был прорывом"

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

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

     
     
  • 4.18, бедный буратино (ok), 12:16, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    1 Системные требования У quake намного выше 2 Интерактивность пули на стена... большой текст свёрнут, показать
     
     
  • 5.34, ZloySergant (ok), 16:05, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >5. У шадоуорера был даже глайд. И вообще, что было оригинального на движке quake? А на build сразу же вышли такие разные blood, shadow warrior, redneck rampage, n.a.m., каждый со своими уникальными фишками.

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

     
  • 5.38, Аноним (-), 17:32, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Системные требования. У quake намного выше.

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

     
     
  • 6.41, бедный буратино (ok), 17:41, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я выше уже сравнил, в семи пунктах Где в quake были горящие люди Разбиваемые б... большой текст свёрнут, показать
     
     
  • 7.49, www2 (??), 18:12, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    На самом деле и в Duke3D и в Quake 2 стены разрушаются только там, где это предусмотрел дизайнер уровня. В Quake разрушаемых стен не было вообще.

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

     
     
  • 8.52, бедный буратино (ok), 18:35, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Но как они это делают Во второй карте первого эпизода целый дом последователь... большой текст свёрнут, показать
     
     
  • 9.59, anonymous (??), 19:44, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Сюрприз-сюрприз Build был закрыт до 2004 года, когда даже Quake 2 уже открыт бы... текст свёрнут, показать
     
     
  • 10.60, бедный буратино (ok), 19:48, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что не читаете ни новость, ни то, что я пишу Я вообще смотрю, что 99 ме... текст свёрнут, показать
     
     
  • 11.77, Аноним (-), 00:29, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да-да, все тут тупые, один ты Творец Все кругом ошибаются - один ты светоч знан... текст свёрнут, показать
     
     
  • 12.85, бедный буратино (ok), 03:00, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Почему ВСЕ ... текст свёрнут, показать
     
     
  • 13.132, 123 (??), 19:07, 19/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Да,да я хоть во времена BUILD-engine игр и предпочилал именно их Quake, и даже ... текст свёрнут, показать
     
  • 7.115, Легион (?), 15:47, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Сударь, у вас проблемы с пониманием русского языка Еще раз Не Quake - лучшая ... большой текст свёрнут, показать
     
     
  • 8.116, arisu (ok), 15:53, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    вот это ты мощно завернул, конечно ... текст свёрнут, показать
     
     
  • 9.118, Легион (?), 15:57, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сам же термин 171 игровой движок 187 появился в середине 1990-х годов 8212... большой текст свёрнут, показать
     
     
  • 10.122, arisu (ok), 16:14, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    это уже само по себе смешно я тебе сейчас секрет открою 171 движки 187 был... текст свёрнут, показать
     
     
  • 11.124, Легион (?), 11:45, 26/02/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну так и не спорь Я в то время жил, и в эти самые игры рубился, так что в вопро... текст свёрнут, показать
     
     
  • 12.125, arisu (ok), 11:54, 26/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    в какое 171 то 187 , дитятко мне четвёртый десяток, знаешь ли и я тебе сейч... текст свёрнут, показать
     
     
  • 13.126, Легион (?), 15:56, 26/02/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Скан паспорта Линк ... текст свёрнут, показать
     
  • 12.128, Михрютка (ok), 16:28, 26/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    для разбирающегося в вопросе ты пишешь слишком много глупостей в принципе уже п... текст свёрнут, показать
     
     
  • 13.130, Легион (?), 19:37, 27/02/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Приведи ссылку на не ерунду Я еще русский знаю Как слово коммент пишется ... текст свёрнут, показать
     
  • 8.133, 123 (??), 20:53, 19/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    - Я тоже так когда то считал, до того момента как увидел что например для вычи... большой текст свёрнут, показать
     
  • 8.134, 123 (??), 20:54, 19/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    - Вообще то, с точки зрения внутренней реализации, - BUILD тоже Просто в те дал... большой текст свёрнут, показать
     
  • 8.135, 123 (??), 20:57, 19/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    - Тоже неверно Дизайнеры,художники, как и гемдизайнер со сценаристом - без техн... большой текст свёрнут, показать
     
     
  • 9.144, arisu (ok), 07:37, 20/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    не было в билде ничего 171 новаторского 187 и отладчик в ваткоме был, ты пр... текст свёрнут, показать
     
  • 8.136, 123 (??), 20:58, 19/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    - Я смотрел и BUILD и Q движки, win32-порт Q-движка Вы не отличите от ЛЮБОГО дру... текст свёрнут, показать
     
     
  • 9.145, arisu (ok), 07:40, 20/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    а вот это 8212 случай так называемого вранья ... текст свёрнут, показать
     
  • 8.137, 123 (??), 21:00, 19/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    - Не соглашусь - просто пропорционально таки слабеньким тем более сравнительно ... текст свёрнут, показать
     
  • 8.138, 123 (??), 21:02, 19/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    - Да, так Но, на BUILD и ДО СИХ ПОР а, сейчас 2014, спустя 15 лет выпускаю... текст свёрнут, показать
     
     
  • 9.141, 123 (??), 01:11, 20/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    небольшая поправочка спустя 20 лет ... текст свёрнут, показать
     
     
  • 10.142, 123 (??), 01:29, 20/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    ещё бы до JonoF дошлобы что можно давать и на них ссылки централлизованно ... текст свёрнут, показать
     
  • 6.63, arisu (ok), 03:58, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Системные требования. У quake намного выше.
    > ненамного

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

     
  • 4.19, бедный буратино (ok), 12:19, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Например, поклонники XCOM до сих пор недолюбливают ufoai за отсутствие разрушаемых стен. Потому что движок quake (или даже quake2), на котором сделаны бои, не умеет это В ПРИНЦИПЕ, и никак не приделаешь (на офсайте ufoai так прямо и написано).
     
     
  • 5.117, Легион (?), 15:54, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Например, поклонники XCOM до сих пор недолюбливают ufoai за отсутствие разрушаемых стен.
    > Потому что движок quake (или даже quake2), на котором сделаны бои,
    > не умеет это В ПРИНЦИПЕ, и никак не приделаешь (на офсайте
    > ufoai так прямо и написано).

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

     
     
  • 6.121, бедный буратино (ok), 16:06, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Никак не приделаешь ?! Это чушь. "Нельзя сделать", и "не смогли/не захотели"
    > - две большие разницы.
    > Почитайте историю создания Half-Life, движек которого был основан на Quake, к которому
    > дописали все, что захотели реализовать в процессе разработки.

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

     
  • 6.123, arisu (ok), 16:16, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    ок. покажи, как реализовать geomod на движе, в основе которого лежат BSP и PVS.
     
  • 4.33, TbIK (ok), 15:44, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Движок которого просто разрывает движок Дюка.

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

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

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

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

     
     
  • 5.43, Андырдаев (?), 17:44, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ну почему же. В QUAKE 2 можно было бить стекла... и стены рушить. Если мап-мэйкеры во время работы задумывали что в каком то месте на мапе должна быть разрушена стена... в нее среляешь и стена рушится. Всё там было, всё рушилось, если это было задумано.
     
     
  • 6.45, бедный буратино (ok), 17:49, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    В Quake II - можно С серьёзными ограничениями И сравнивать интерактивность bui... большой текст свёрнут, показать
     
     
  • 7.55, Андырдаев (?), 18:41, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Я первый комп купил вместе с предустановленным quake 1... потом вроде купил диск quake2(или возможно мне этот диск дали в придачу к компу). Это были первые игры на моем компе. После игры в quake1 я просыпался в поту, потому что бегал во сне по уровням quake1. Просто поймите что в quake1 и quake 2 своя атмосфера, а в Duke и Doom своя атмосфера. Я играми особо не увлекался, но quake мне оч понравился тогда. Потом спустя какое то время я нашел и doom и dukenukem и shadow warrior(классная игра с приколами), и NAM(тоже приколола) и Blood(в русской озвучке про Ленина)... Но все равно я много раз переигрывал в quake 2 и нашел к ней много модов, потом с ботами бился, потом по модему... Кароче игра тогда на меня производила сильное впечатление.
     
     
  • 8.56, бедный буратино (ok), 18:46, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    И поэтому все должны играть в quake Почему никто никогда не помнит, что на свет... текст свёрнут, показать
     
  • 7.76, kurokaze (ok), 19:45, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >В Quake II - можно. С серьёзными ограничениями. И сравнивать интерактивность build

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

     
     
  • 8.79, arisu (ok), 02:14, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    да, тут билду нечего противопоставить, в нём проще удавиться, чем CSG сделать д... текст свёрнут, показать
     
  • 8.87, бедный буратино (ok), 03:05, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Движок-то открытый Каким образом это может отнестись к теме разговора Речь о т... текст свёрнут, показать
     
     
  • 9.89, arisu (ok), 03:09, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    и не получится вайн не интересен, а 171 родная 187 хочет fmodex, которым со... текст свёрнут, показать
     
  • 3.32, all_glory_to_the_hypnotoad (ok), 15:43, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    не было такого, дюк не выстрелил. Да и чего там прорывного со своей псевдо3д движком.
     
     
  • 4.50, www2 (??), 18:26, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > не было такого, дюк не выстрелил. Да и чего там прорывного со
    > своей псевдо3д движком.

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

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

     
     
  • 5.53, бедный буратино (ok), 18:37, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Другой игрой-прорывом был Strife. Одна большая локация вместо уровней, ролевая система
    > с нейтральными и дружественными персонажами, учётом репутации, возможностью брать задания
    > и торговать, камеры видеонаблюдения.

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

     
  • 5.58, www2 (??), 19:39, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё в Duke3D вспомнил зеркала и лазерные мины.

     
     
  • 6.61, upyx (??), 20:47, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Ещё в Duke3D вспомнил зеркала и лазерные мины.

    И туалет...

     
     
  • 7.139, 123 (??), 21:31, 19/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    да не просто, а (если не забыл и приписую тут)облегчился - и полегчало(+Health)
    +фонтаны, питьё из которых тоже улучшало здоровье

     
  • 2.35, Аноним (-), 16:38, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну знаешь, как игра дюк как ни крути на порядок круче дума3. Если в дюке ещё и код вменяемый, я как со стороны разработчика так и геймера, предпочёл бы сделать/играть в игру, написанную именно на нём. Тёплая ламповость в комплекте. И ничего ужасного в спрайтах нет, посмотри, например, 8bit killer от locomalio - там движок по сути проще чем wolf3d, однако кайфа столько сколько нет во всём современном рельсовом шейдерном крапе вместе взятом.
     
     
  • 3.40, Аноним (-), 17:35, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вкусовщина же!
    а с технической точки зрения - от дюка ничего прорывного нет

     
     
  • 4.42, бедный буратино (ok), 17:42, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > а с технической точки зрения - от дюка ничего прорывного нет

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


     
  • 3.64, arisu (ok), 04:06, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если в дюке ещё и код вменяемый

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

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

     
     
  • 4.66, бедный буратино (ok), 04:16, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Если в дюке ещё и код вменяемый
    > код абсолютно невменяемый. не знаю, привели ли его «в чувство» в этом
    > обзоре (лень смотреть), но оригинал невменяем совершенно. несколько огромных си-файлов
    > (поделено на части потому, что в редактор перестало влазить), волшебные числа
    > all over the place, жестокие массивы вместо структур, Pascal'евский принцип «comments
    > are for beginners» (хэйтеры, это не про тот паскаль, про который
    > вы подумали, это про Pascal // Cubic Team).
    > проще говоря: код вообще не предназначался для чтения никем, кроме Кена.

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

     
     
  • 5.69, arisu (ok), 04:29, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Никто не смеет читать наш код и при этом выжить…

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

     

  • 1.4, Kroz (ok), 09:54, 21/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Испытываю самые теплые чувства к этой игре. Провел много дней, дуэлясь с ребятами по модему :) . С лазерными минами, голодюками, фразами типа "What are you waiting for, Christmas?" это был не только отличный геймплей, а еще и атмосфера особая - прикольная!

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

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

     
     
  • 2.9, тигар (ok), 10:25, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    зачем в ЭТО что-то добавлять, если можно играть в q2 ?
    p.s. играл и в то и в то. каждой игре свое время, DN помер, и квака, говорят, тоже.
    даже как-то не знаю, во что сейчас студенты вместо пар рубаются:/ в мое время из FPS то были квейки да UT и никто уже тогда не вспоминал о вулфенштейне, думах и дюке в плане "вспомнить молодость"
     
  • 2.13, dalco (ok), 10:54, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не помню уже - в скриптах или в конфиге надо было ковыряться, чтобы убойность оружия изменить? Но, да, делал, приколу ради, ядерный гранатомет. Один выстрел и пол-зоны без окон, а всех не спрятавшихся монстров - в клочья :) Другое дело, что играть так было неинтересно, ибо установки по умолчанию и так обеспечивали идеальный баланс игры.

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

     
  • 2.15, Tav (ok), 11:49, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    EDuke32. Про триксы не знаю, но графика там улучшена, есть трехмерные модели и текстуры в высоком разрешении (хотя мне в старые игры больше нравится играть с оригинальными ресурсами).
     
  • 2.62, да (?), 23:01, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Испытываю самые теплые чувства к этой игре. Провел много дней, дуэлясь с
    > ребятами по модему :) . С лазерными минами, голодюками, фразами типа
    > "What are you waiting for, Christmas?" это был не только отличный
    > геймплей, а еще и атмосфера особая - прикольная!
    > По тому, что я знаю, в Дюке до сих пор больше достоинств,
    > чем недостатков. Вот взять бы его, добавить хорошую графику, триксы из
    > Q2 (распрыжку, double jump, rocket jump, "подворот") - и получится the
    > best game ever :)
    > P. S. А поднимите руки кто редактил скрипты, чтобы, например, самый простой
    > монстр стрелял ракетами, или что-то в этом роде? ;)

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

     

  • 1.6, Аноним (-), 10:02, 21/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ого - три года по исходникам нюкема проходил.
     
  • 1.11, бедный буратино (ok), 10:39, 21/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я уж, начитавшись всяких товарищей, сломавших git, подумал, что там страшную уязвимость нашли.

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

     
     
  • 2.20, Аноним (-), 12:33, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кому сейчас в здравом уме захочется изучать спрайтовый движок Дюка? Сейчас игровые технологии вообще другие. Лучше потратить время на их изучение.
     
     
  • 3.21, бедный буратино (ok), 12:38, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Кому сейчас в здравом уме захочется изучать спрайтовый движок Дюка? Сейчас игровые
    > технологии вообще другие. Лучше потратить время на их изучение.

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

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

     
     
  • 4.23, Аноним (-), 12:43, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Как можно игровые технологии изучать, когда в браузер DRM добавляют?
     
  • 3.65, arisu (ok), 04:12, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Кому сейчас в здравом уме захочется изучать спрайтовый движок Дюка?

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

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

     

  • 1.22, Аноним (-), 12:41, 21/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А под какой лицензией код? В Википедии написано, что GPL, но BUILD-то несвободен.
     
     
  • 2.24, бедный буратино (ok), 12:43, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > но BUILD-то несвободен.

    Почему?


     
     
  • 3.27, Алексей (??), 14:06, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/fabiensanglard/vanilla_duke3D/blob/master/BUILDLIC.TXT
     
     
  • 4.28, бедный буратино (ok), 14:17, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ясно. Обидно.
     

  • 1.29, TbIK (ok), 14:53, 21/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Ken Silverman (18 years old at the time) wrote a 3D engine at home...

    *facepalm*

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

     
     
  • 2.31, TbIK (ok), 15:36, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "   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.
    "

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

     
     
  • 3.39, Михрютка (ok), 17:35, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/

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

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

     
  • 3.67, arisu (ok), 04:24, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Собсно, этим уже всё сказано: если на уровне элементарной культуры оформления кода
    > — фэйл, чо уж говорить про архитектуру вообще.

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

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

     

  • 1.37, Михрютка (ok), 17:30, 21/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    забавная новость, что-то вроде

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

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

     
     
  • 2.68, arisu (ok), 04:24, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > там на самом деле код достаточно понятный, только надо engine.c сразу выкидывать
    > и вместо него полимост ставить.

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

     
     
  • 3.70, бедный буратино (ok), 07:35, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> там на самом деле код достаточно понятный, только надо engine.c сразу выкидывать
    >> и вместо него полимост ставить.
    > а если я хочу старый ламповый рендер в software?

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

     
     
  • 4.140, 123 (??), 00:51, 20/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Весь прикол то как раз - в ламповости...
     
  • 3.75, Михрютка (ok), 18:15, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    отношусь с пониманием.

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

     
     
  • 4.78, arisu (ok), 01:53, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > но все равно, по воспоминаниям семилетней давности, когда я туда как-то заглянул,
    > engine.c это был, конешно, адик.

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

     

  • 1.51, Аноним (-), 18:30, 21/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >дающий возможность начать использование технологий Duke Nukem
    >начать

    Шел 2013-й год :)

     
     
  • 2.54, бедный буратино (ok), 18:39, 21/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Шел 2013-й год :)

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

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

     

  • 1.57, Андырдаев (?), 18:46, 21/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Кароче лично для меня легенда это - Quake 2.
     
  • 1.71, Аноним (-), 12:44, 22/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интересно, а в Chasm кто-то играл?
     
     
  • 2.72, arisu (ok), 12:50, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Интересно, а в Chasm кто-то играл?

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

     
     
  • 3.74, бедный буратино (ok), 12:56, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > в своё время даже исходники просили. да, все в курсе, что там
    > турбопаскаль и асм. в ответ получили два варианта на выбор: «утилизировали
    > армейским методом» и «жена не позволяет».

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

     
  • 2.73, бедный буратино (ok), 12:54, 22/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, а в Chasm кто-то играл?

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

     
  • 2.80, kurokaze (ok), 02:30, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А то! Рассово украинская игра
     

  • 1.81, kurokaze (ok), 02:34, 23/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тут вот д3 ругают, даже 3.5 мерное пространство в дюке "изобрели".
    Так это вы Prey не видали, кекекеке
     
     
  • 2.82, arisu (ok), 02:35, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Так это вы Prey не видали, кекекеке

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

     
     
  • 3.83, kurokaze (ok), 02:50, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, обещали побольше чем полчилось, тут не поспоришь, но тут фанаты дюка3д расписали что такое как в дюке это вообще-вообще уникально
     
     
  • 4.84, arisu (ok), 02:59, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > фанаты дюка3д расписали что такое как в дюке это вообще-вообще уникально

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

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

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

     
     
  • 5.86, бедный буратино (ok), 03:01, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > а в Chasm вон, который вспомнили, вообще были противники в полном 3d,
    > и им можно было отстреливать руки-ноги-головы. и безрукий солдат вполне честно
    > пытался подбежать и забодать головой, а безногий — покусать, если рядом
    > пробегаешь. не припомню такого в дюке.

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

     
     
  • 6.90, arisu (ok), 03:13, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Сырцов нет(?), документации «как это использовать наиболее просто» — тоже нет. Обидно,
    > да.

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

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

     
     
  • 7.91, бедный буратино (ok), 03:52, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > ох, к дюку документации — просто завались. к полимосту особенно много.

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


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

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

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

     
     
  • 8.92, arisu (ok), 04:10, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    и пиши кому надо 8212 воспользуются и поблагодарят а те, кто орут 171 не ... текст свёрнут, показать
     
     
  • 9.93, бедный буратино (ok), 04:13, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Дело в том, что это форум по обсуждениям А не базар-вокзал То, что я пишу - я ... текст свёрнут, показать
     
     
  • 10.94, arisu (ok), 04:26, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а чего ты хотел от трепологии даже меня опеннет постепенно отучает читать перво... текст свёрнут, показать
     
     
  • 11.96, бедный буратино (ok), 04:51, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Круто А российское открытое сообщество тогда где --- Чукча получил новую кварт... текст свёрнут, показать
     
     
  • 12.98, arisu (ok), 04:59, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а что это такое и зачем оно нужно, собственно ... текст свёрнут, показать
     
  • 5.95, Михрютка (ok), 04:39, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> фанаты дюка3д расписали что такое как в дюке это вообще-вообще уникально

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

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

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

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

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

     
     
  • 6.97, arisu (ok), 04:58, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > динамическое освещение с его полным отсутствием

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

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

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

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

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

     
     
  • 7.99, бедный буратино (ok), 14:38, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> про мультиплей и quakeworld добавить надо
    > мы в дюка вполне ввосьмером рубались. а с tcp в дос были
    > проблемы. как и у q1, кстати, где ограничение было на 16
    > человек.

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

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

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

     
     
  • 8.100, arisu (ok), 14:47, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    tcp-стеки под дос были платной редкостью, тащемта тогда сети строились на ipx s... текст свёрнут, показать
     
     
  • 9.101, бедный буратино (ok), 14:58, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Что сети строились под ipx, я помню хотя, вроде, даже в msdos 6 был tcpip , из ... текст свёрнут, показать
     
     
  • 10.102, arisu (ok), 15:06, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    я и не говорил, что вопрос в сложности я говорил, что неписаный стандарт так сл... текст свёрнут, показать
     
  • 7.103, Михрютка (ok), 19:40, 23/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> динамическое освещение с его полным отсутствием
    > вообще-то в билде оно тоже есть. но только посекторное.

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

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

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

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

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

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


     
     
  • 8.104, arisu (ok), 03:49, 24/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а при чём тут это к динамическому освещению реализация изменения освещения сект... текст свёрнут, показать
     
     
  • 9.106, Михрютка (ok), 15:55, 24/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    все любопытсвеннее и любопытсвеннее ну-ка, ну-ка, рассказывай я-то дурак по ст... текст свёрнут, показать
     
     
  • 10.108, arisu (ok), 16:03, 24/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    это как вообще O_O у сектора есть освещённость всё каким гениталием тут спрай... текст свёрнут, показать
     
     
  • 11.109, Михрютка (ok), 03:51, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    утомил покажи мне здесь освещенность сектора, пожалуйста code typedef struct... текст свёрнут, показать
     
     
  • 12.110, arisu (ok), 05:41, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    не покажу это надо в engine c лезть но я вот тут подумал, и мне стало дико инт... текст свёрнут, показать
     
     
  • 13.111, Михрютка (ok), 14:35, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а там нет освещенности сектора в целом у стен, у потолка и пола, у спрайтов е... большой текст свёрнут, показать
     
     
  • 14.112, arisu (ok), 14:45, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    тьфу так ты про метод изменения говорил, когда про спрайты речь вёл я не про... текст свёрнут, показать
     
     
  • 15.113, Михрютка (ok), 15:19, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    я не помню там спрайта, который на такое реагировал, так что без изменений в исх... текст свёрнут, показать
     
     
  • 16.114, arisu (ok), 15:23, 25/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    блин, ну я же не говорил, что не придётся дописать кусочек причём скорее всего ... текст свёрнут, показать
     
  • 8.105, бедный буратино (ok), 04:23, 24/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Зато в duke3d свет был элементом сюжета А не элементом какой-то там мифической ... текст свёрнут, показать
     

  • 1.88, бедный буратино (ok), 03:07, 23/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А самое разрушаемое всё было в X-com. Эх, вот бы свободному проекту движок с полными разрушениями, да приделать прицел "из глаз", чтобы можно было из первого лица целиться - вот это было бы любопытно.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру