LINUX.ORG.RU

Исходный код движка Doom III доступен для свободной загрузки

 , , id tech, ,


0

2

Несколько часов назад Джон Кармак, один из основателей и ведущий программист id Software, сообщил на своей странице в соцсети Twitter о публикации исходного кода движка знаменитого шутера Doom III. Исходники доступны под лицензией GPL v3 (почему юристы Zenimax выбрали именно третью версию лицензии, Кармак не уточнял). Данные для запуска самой игры по прежнему распространяются согласно EULA и доступны только после покупки игры.

Игра Rage, созданная на движке нового поколения id Tech 5, вышла уже более месяца назад, но исходный код движка id Tech 4 так и не был опубликован в связи с возможными патентными проблемами. Проблема решена заменой спорного алгоритма на алгоритм предварительной загрузки теней.

Хоть Doom III выпущен в 2004 году, технологии, которые используется в игре, актуальны до сих пор, несмотря на то, что уже появились игры более совершенные в графическом и технологическом плане.

По сложившийся традиции, id Software публикует исходный код каждой новой версии своего движка после выхода следующей. Так уже были опубликованы под свободными лицензиями движки id Tech в 1997 году (Quake), id Tech 2 в 2001 (Quake II), id Tech 3 в 2005 (Quake III Arena), а также исходники таких замечательных игр как Doom, Wolfenstein 3D, Enemy Territory, Return To Castle Wolfenstein. Под влиянием сообщества и id Software, исходники Heretic и Hexen от Raven Software также были опубликованы в 2008 под свободной лицензией.

Теперь наступил момент, начиная с которого исходный код id Tech 4 можно свободно загрузить из репозитория проекта Doom III на GitHub и на официальном FTP.

>>> Тот самый статус твиттера

★★

Проверено: maxcom ()
Последнее исправление: adriano32 (всего исправлений: 12)
Ответ на: комментарий от Quasar

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

Я не стану вдаваться, какой движок лучше, какой хуже. Ты сам говорил, что движок - это не главная составляющая игры. Но между тем в Xonotic достаточно приятная картинка, и игра все же в целом тоже достаточно хороша. И это при том, что у движка множество ограничений.

ivanlex ★★★★★
()
Ответ на: комментарий от Quasar

Отчасти согласен, отчасти нет. Разные модели дают разные преимущества в разных ситуациях. Игры тоже бывают разные. Например для казуальных игр динамическая сборка лучше, тогда оконная игра, например с картами, не будет выделяться из общего окружения. Но для высокополигональных игр типа шутеров, безусловна статическая. Скажем по другому, я полностью согласен, если за игры принимать именно «игры». А казуальные рассматривать как прикладные приложения DE. В этом случае я полностью «за». Лучше я скачаю архив с 2-3 лишними библиотеками и сразу запущу игру. И, как мне кажется, игре должно быть глубоко по барабану, какой у меня дистрибутив.

ivanlex ★★★★★
()

Моя хотеть Urban Terror на этом движке!!!

anonymous
()
Ответ на: комментарий от Quasar

Интересно-интересно, это вы о которых шейдер-скриптах - тех которые в glsl/default.glsl или тех что в файлах scripts/*.shader ?

Не знаете реального положения вещей - не ..здите. Это я вам как один из разработчиков Xonotic говорю.

fooser
()
Ответ на: комментарий от fragment

Обхохочешься. Я раз запустил это поделие, чуть со смеху не помер. Поделка школьника на каникулах, а не игра.

Дебилушка, на данном этапе на на графику смотрят, а на геймплей. Это тебе не контролсрайк, где ныкаются, а реально небольшие карты, где каждую нычку знаешь, и отсиживаться по пол часа не получится. Когда сходится толпа на карте Алджир минимум 10 на 10, то это реальное мочиво, и попробуй продержись хотя бы 2-3 минуты, чтобы тебя не замочили...)))

anonymous
()

Годно

Хороший, годный Кармак.

remark
()
Ответ на: комментарий от Quasar

> Но факт в том, что только конченный мудак будет утверждать, что статическая сборка лучше динамической при любых обстоятельствах.

Fixed.

anonymous
()
Ответ на: комментарий от anonymous

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

ivanlex ★★★★★
()
Ответ на: комментарий от ivanlex

Кто мешает положить нужные библиотеки рядом с программой? Их хотя бы можно будет подменить (как в Minecraft для исправления бага с залипанием клавиш).

anonymous
()
Ответ на: комментарий от ivanlex

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

gear ★★★
()
Ответ на: комментарий от ivanlex

Повторюсь. Зависимости не должны беспокоить пользователя. Это головная боль мантейнера соответствующего пакета твоего дистрибутива. Если твой дистрибутив - Slackware^Wне имеет пакета с игрой, сделай сам, поделись с другими. PPA, локальные оверлеи - все что угодно.

anonymous
()
Ответ на: комментарий от vada

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

А жизни хватит хотя бы просто почитать весь это хлам? Про собрать я даже не говорю. Вона один уже обломался.

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

С описанием - трёх жизней не хватит.

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

VeroLom ★★
()
Ответ на: комментарий от anonymous

>Дебилушка, на данном этапе на на графику смотрят, а на геймплей

В urban terror и играть невозможно, с её обкуренной физикой.

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

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

Когда сходится толпа на карте Алджир минимум 10 на 10, то это реальное мочиво, и попробуй продержись хотя бы 2-3 минуты, чтобы тебя не замочили

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

fragment
()
Ответ на: комментарий от invy

По барабану. На похапэ тоже много чего написано, но от этого он не перестаёт быть говоязычком.

matumba ★★★★★
()
Ответ на: комментарий от Waterlaz

Если кто-то что-то пропатчил, это значит только то, что человек смог осилить именно этот кусок кода и смог сделать _локальные_ улучшения. На что-то большее нужна уйма времени и знаний + разборки с кишками. Если это доступно одному, это не значит, что так может каждый. Согласен?

Сорсы полезны, если они идеально документированы, спроектированы и не имеют кульхацкерских решений типа приведения указателя к семи разным структурам. А культура написания Си кода именно эти грабли и подразумевает!

Я проектировал или улучшал достаточно сложные системы, разборки с каждой занимали до 2-5 месяцев(!) при том, что я работал 8/5 и при полной поддержке коллег. Просто есть _объективный_уровень_сложности_, который невозможно перепрыгнуть. Нельзя написать игру, не разобравшись с математикой, конкретной граф. библиотекой, ИИ, движком, сетью, синхронизацией, да ещё сделать это гибким, заменяемым, устойчивым и расширяемым любым юзером. Это УЙМА профессионализма. Блажен тот чайник, для которого игра = движок + текстуры! :))

matumba ★★★★★
()
Ответ на: комментарий от matumba

> Блажен тот чайник, для которого игра = движок + текстуры! :))

А сюжет?!

ivanlex ★★★★★
()

Аминь.

anonymous
()
Ответ на: комментарий от matumba

Интересное высказывание. Оно состоит из: боян + опыт. Опыт подтверждает боян, который подтверждает повторность всего в мире.

anonymous
()
Ответ на: комментарий от matumba

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

Ну значит уже не бесполезно открытие кода, правда? Да и в движке первокваки перепелили и звук и графику.

Если это доступно одному, это не значит, что так может каждый. Согласен?

Зачем каждый?

Нельзя написать игру, не разобравшись с математикой, конкретной граф. библиотекой, ИИ, движком, сетью, синхронизацией

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

Это УЙМА профессионализма. Блажен тот чайник, для которого игра = движок + текстуры! :))

Я пробовал писать под quakeC. Если говорить о сетевом шутере, то почти что да, сетевой шутер - движок+текстуры.

Waterlaz ★★★★★
()
Ответ на: комментарий от anonymous

>Енжой юр Windows 7 Максимальная. Жаль, что ты не понимаешь, что от статической сборки больше вреда, чем пользы.

Жаль, что ты не понимаешь, что от динамической сборки больше вреда, чем пользы.

Waterlaz ★★★★★
()
Ответ на: комментарий от anonymous

> Дебилушка, на данном этапе на на графику смотрят, а на геймплей. Это тебе не контролсрайк, где ныкаются, а реально небольшие карты, где каждую нычку знаешь, и отсиживаться по пол часа не получится. Когда сходится толпа на карте Алджир минимум 10 на 10, то это реальное мочиво, и попробуй продержись хотя бы 2-3 минуты, чтобы тебя не замочили...)))

Не знаю про нычки, в тонкостях не силён, и вообще не хардкорный игрок, играл только с детьми-дошкольниками :), но Urban Terror куда интереснее Counter Strike. И уж точно красивее оригинального. :)

kid_lester
()
Ответ на: комментарий от fragment

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

А на ЛОР тебя-то как занесло, несчастный?

kid_lester
()

В ppa уже кто нить забубенил?

ivanlex ★★★★★
()
Ответ на: комментарий от ivanlex

ivanlex> В принципе idTech2 и QuakeEngine сравнивать глупо по их возможностям, это все таки разные поколения движков.

DarkPlaces - это и есть старое поколение. То, что графику на него наворотили - ещё не значит, что он современный.

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

Повторяю: у id Tech 2 архитектура совершенно другая. Она даже намного больше похожа на id Tech 3, поэтому скелетную анимацию туда прикрутить не так трудно, как к Quake Engine.
Если оригинальный движок слегка модифицировать (изменить графический движок - это и есть слегка), то будет тот же движок, но в другом фантике.

ivanlex> Ты сам говорил, что движок - это не главная составляющая игры.

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

Quasar ★★★★★
()
Ответ на: комментарий от ivanlex

ivanlex> Например для казуальных игр динамическая сборка лучше

«Для фломастеров красный цвет лучше», ага.

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

Quasar ★★★★★
()
Ответ на: комментарий от fooser

Лол. И ты будешь утверждать, что движок Darkplaces не прогнил? Ему далеко до id Tech 3. Очень далеко. Это говно с самым тормознутым графическим движком в истории 3D-стрелялок надо закопать.

Quasar ★★★★★
()
Ответ на: комментарий от anonymous

anonymous> И о каких же недостатках пойдет речь? С конкретными примерами?

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

Quasar ★★★★★
()
Ответ на: комментарий от anonymous

anonymous> Кто мешает положить нужные библиотеки рядом с программой?

Хочешь выискивать старые дистрибутивы и выдирать из них библиотеки? Флаг тебе в жо^W руки.

Quasar ★★★★★
()
Ответ на: комментарий от ivanlex

Кстати о казуальных играх. Вот есть одна типичная казуальная игра - Call Of Duty. Предлагаешь собирать только динамически? ;)

Quasar ★★★★★
()
Ответ на: комментарий от anonymous

anonymous> Зависимости не должны беспокоить пользователя. Это головная боль мантейнера соответствующего пакета твоего дистрибутива.

Посмотрим, как ты заверещишь, когда твою любимую игрушку выкинут из дистрибутива.

Quasar ★★★★★
()
Ответ на: комментарий от Quasar

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

ivanlex ★★★★★
()

А ведь сырцы - это ещё и занятное чтиво! Вот, например:

idlib/precompiled.h:85 #undef FindText // stupid namespace poluting Microsoft monkeys

gavlig ★★★
()
Ответ на: комментарий от fooser

> Компилируется, вот только ресурсов пока нету, к вечеру скачаю и проверю. По крайней мере запускается и в консоль выводит то же самое как и любой id_tech без ресурсов.

Ну как, есть что рассказать?

hobbit ★★★★★
()
Ответ на: комментарий от anonymous

> геймплей

Это тебе не контролсрайк, где ныкаются, а реально небольшие карты, где каждую нычку знаешь, и отсиживаться по пол часа не получится. Когда сходится толпа на карте Алджир минимум 10 на 10, то это реальное мочиво, и попробуй продержись хотя бы 2-3 минуты, чтобы тебя не замочили...)))

Да это же как в кваке!

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

> сборка, статическая или динамическая
http://harmful.cat-v.org/software/dynamic-linking/
«I tend to think the drawbacks of dynamic linking outweigh the advantages for many (most?) applications.» — John Carmack
http://aiju.de/rant/dynamic-linking
Пусть обсуждение будет более полным.

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

thank you SOOOO much...

статическая линковка - это так кавайно :3

Waterlaz ★★★★★
()
Ответ на: комментарий от quantum-troll

Спасибо за ссылки - интересно почитать.

ivanlex ★★★★★
()
Ответ на: комментарий от Quasar

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

Расскажи это тем кто пытается поиграть в heroes3 от loki по сети

anonymous
()
Ответ на: комментарий от Quasar

Тугой? Еще раз: зачем собирать статически, еcли можно собрать динамически, а нужные библиотеки положить рядом? Старые библиотеки будут в дистрибутиве игры, пользователю не нужно будет ничего искать.

anonymous
()
Ответ на: комментарий от anonymous

>Тугой? Еще раз: зачем собирать статически, еcли можно собрать динамически, а нужные библиотеки положить рядом? Старые библиотеки будут в дистрибутиве игры, пользователю не нужно будет ничего искать.

Хотя бы потому, что дольше запускаться динамический бинарник будет. Да и динамический бинарник + все либы больше места занимать будет.

Waterlaz ★★★★★
()
Ответ на: комментарий от hobbit

третий дум работает на собранном бинаре. Надо попробовать игрульку с мегатекстурой, например etqw

Насчет качества графики - изменений не заметил.

fooser
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.