Пользователь
0,0
рейтинг
23 ноября 2011 в 03:18

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

John D. Carmack, один из основателей и ведущий разработчик id Software в своем Твиттере объявил о доступности исходного кода игры Doom III.

image

Компания долго не могла опубликовать исходный код движка в связи с использованием в нем запатентованного алгоритма расчета теней от Creative Labs, публикация которого могла бы стать правонарушением. Теперь же данный участок кода переписан и юристы Zenimax, материнской компании id Software, к нему претензий не имеют.

Исходный код опубликован на GitHub и на официальном FTP компании под лицензией GPL v3 (версия выбрана теми же юристами Zenimax; Кармак не выяснял почему). Игровые данные по прежнему проприетарные и распространяются платно.

Doom III — последняя в данный момент игра культовой линейки шутеров Doom, разрабатываемой с 1993 года компанией id Software. Для игры специально создан 3D-движок id Tech 4, который является достаточно актуальным и в наше время, несмотря на то, что Doom III была выпущена еще в 2004 году. По традиции, исходный код каждого нового движка этой компании выпускается под свободной лицензией, с правом коммерческого лицензирования, после выхода новой технологии, которая остается закрытой и коммерческой до выхода следующей.

Джон Кармак — несменный разработчик всех ключевых технологий id Software, в том числе и движка id Tech различных версий.
Vadim Ne. @0n1x
карма
22,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (65)

  • –25
    А что можно сделать с этим кодом полезного?
    • –13
      пробелы посчитать, угу
      • –18
        нет, я серьезно спросил. карму я уже себе обнулял ))
        • +15
          Странный вопрос, тогда.
          Вот что можно сделать с графическим движком? 3D-визуализацию (ландшафта, архитектуры, работы сердца и т.д. и т.п.).
          Что можно сделать с игровым движком (граф. движок + физика + аудио +....)? Игру или опять же какие-то средства визуализации чего-либо.

          Хороших движков не так уж и много, большинство из современных движков (unreal engine, cryengine и т.д.) крайне дорогие. Вы можете взять за основу этот движок и написать свою игру, или написать свой движок. Кстати, ныне очень популярная Call of Duty MW (все версии) сделана на сильно модифицированном движке от Quake 3 (id Tech 3).
          • +2
            Только надо учитывать лицензию GPL, просто так свою коммерческую игру или продукт не сделать на готовеньком движке. Тем не менее я считаю что Кармак делает великую вещь, очень много людей изучали алгоритмы real time 3д графики по их играм.
            • +2
              То есть это "По традиции, исходный код каждого нового движка этой компании выпускается под свободной лицензией, с правом коммерческого лицензирования" означает что для коммерческого использования все-таки необходимо выполнить какое-то условие (купить права на использование)?
              • 0
                Да, но в гугле на первых пяти страницах по запросу «id tech commercial license» ничего не находится. Видимо, условия коммерческой лицензии оговариваются индивидуально.
                • 0
                  Скорее всего так и есть. Плюс в коммерческой версии наверняка можно использовать и оригинальный алгоритм расчета теней.
                  • 0
                    Нет, алгоритм расчета теней нужно лицензировать у Creative отдельно.
              • +2
                Хмм… Раньше по ссылке переходило www.idsoftware.com/business/idtech3/ Правда, помню, оооочень давно я там шастал, года два назад, может три. Еще ссылка на Википедии русской осталась на эту страницу.

                Так вот там было написано что-то про GPL и коммерческое лицензирование. Ну двойная лицензия. При этом по поводу коммерции что-то писалось типа «свяжитесь с нами, чтобы получить детали». Инфу гарантирую, видел своими глазами.
              • +4
                Это значит, что если вы не хотите раскрывать исходники своей игры, сделанной на базе idtech, то надо лицензировать. А использовать в коммерческих целях можно в любом случае. У Qt в недавнем прошлом была такая же политика лицензирования.
                • 0
                  Тогда простор для коммерческого творчества велик)
                  • +1
                    Особенно учитывая то, что при реализации сетевой игры со своим протоколом и сервером вам придется открывать не весь код, а только код клиента.
    • +4
      Скомпилировать свой DOOM-III с блэкджеком…
      • –14
        Можно ли сделать онлайн-версию или что-либо подобное в виде приложения для соцсетей?
        • +23
          И где можно будет грабить караваны ç
        • +1
          Ага, Веселый DOOMer!

          Смотря как вы это себе представляете. Исходные коды на C++, это все таки не браузерное приложение на Flash/Silverlight или JavaScript. В оригинальном думе 3 есть еще ресурсы на несколько гигабайт, которые кстати не включены в релиз исходных кодов и не доступны бесплатно. В таких играх поддержка соц. сетей работает по другому чем в различных веселых колхозах, посмотрите как например это сделано у игр в стиме.
          • +2
            Когда то и quake 3 не представляли возможным сделать браузерным. =)
            • +1
              Он и сейчас не особо браузерный, примерно такой же браузерный, как и Battlefield 3, у которого лаунчер тоже на сайте находится. А сама игра, лежит в своей папке на диске как обычно и грузится как отдельное приложение.
              • –2
                quakelive, не в счет?
                • +3
                  Если вы зайдете в папку с плагином QL, то обнаружите обычный, чуть допиленый Q3 со всеми ресурсами и т.д. Небольшую прикрутку к браузеру запускающую игру и добавляющую соцыальных фич, я за полноценную браузерную игру не считаю. Как я уже говорил, это то же самое как и Battlefield 2/3/Heroes, заходим на сайт, видим список друзей, статистику, сервера, жмем играть и запускается _обычная игра_ с диска.
          • +1
            Существует порт Quake II на GWT: code.google.com/p/quake2-gwt-port/
            После компиляции получается JavaScript который работает в браузере.

            Этот порт сделан в свою очередь на основе порта оригинального Quake II на Java: en.wikipedia.org/wiki/Jake2

            Так что идея сделать онлайн версию Quake III и интегрировать с социальными сетями выглядит не так уж безумно.
            • 0
              Вообще из-за открытых исходных кодов дум и квейк часто самые первые кандидаты на портирования под всякие новые платформы, начиная с Palm OS и по наши дни, в том числе видимо и на JavaScript/HTML.
        • +1
          Ты сделал мой день.
    • +5
      Например ребята из Frozen Sand смогут на нём следующую после следующей версию Urban Terror сделать…
    • +2
      Добавить поддержку Pulse Audio, например.
    • +1
      Неограниченный подлинно игры еще как вариант. Ну и как писали выше — хороший движок в оупен соурсе — это всегда хорошо.
      • +2
        Подлинно->моддинг.

        Мобильные клавиатуры...)
    • +3
      очень много заказчиков кому нужна интерактивная презентация или поселка или здания. Качественно это реализовать можно на коммерческих движках с их фишками и шейдерами.
      • +33
        С кровищей и трупаками
    • +4
      Как что? Изучить для повышения опыта.
  • 0
    Теперь ждем много новых DOOMчиков
    • 0
      Так выложили то движок а не ресурсы игры.
      • 0
        Уточнил. Хотя, думаю, это ясно из контекста и так.
      • 0
        Что мешает взять оригинальные от игры? Кажется, у них они всегда лежат в *.pak
    • 0
      Doom-kiddies.
  • +1
    О, круто!

    Мне вот интересно, как у них работает occlusion culling.
    • +1
      BSP же.
      • 0
        Это не совсем то. BPS определяет порядок удаленности объектов от камеры и прорисовывает их от ближних к дальним. Ну и вполне логично, что с помощью нее можно определять столкновения объектов.

        Я же говорю об отсечении объектов, которые загораживаются другими объектами. Это только звучит как само собой разумеющееся, но на самом деле далеко не во все движки (я бы даже сказал — в единицы) разработчики самостоятельно закладывают такие возможности. К слову, в тех же Unreal Engine 3 и Unity3D используется сторонняя библиотека Umbra для отсечения объектов (ну и для много чего еще, естественно).
    • 0
      Сейчас начал смотреть их имплементацию AI — такое ощущение, что делают с помощью PVS'а — очень напоминает что делает Umbra
  • 0
    Меня почему-то сразу заинтересовала реализация экспорта для maya…
    Да и впринципе интересно поизучать работу движка, благо исходники более менее читабельны, хоть и бедны комментами.
  • 0
    > Теперь же данный участок кода переписан

    Мне кажется, они просто его выбросили:

    > The Doom 3 GPL source code release does not include functionality enabling rendering
    > of stencil shadows via the “depth fail” method, a functionality commonly known as
    > «Carmack's Reverse».
    • +2
      Инфы мало. Но вот Кармак недавно в твиторе написал:

      where it can't be shown the player is outside a shadow volume, I used the «preload» technique from kb.cnblogs.com/a/28036/ the preload shadow technique may have some other utility — you can use it with a rear clip plane projection, unlike depth-fail.

      Так что все О, К.
    • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Некто ljbade из Новой Зеландии реализовал этот запатентованный алгоритм, и выложил его на гитхаб. Смысл в том, что вся эта патентная хрень распространяется только на США, а в остальном мире, алгоритм можно спокойно использовать.

      > So if you live outside the US feel free to use my code
      > without worrying about any lawyers knocking at your door

      Описание алгоритма на Википедии:
      en.wikipedia.org/wiki/Shadow_volume#Depth_fail

      Патент:
      www.google.com/patents?id=Om0LAAAAEBAJ

      Сам код:
      github.com/TTimo/doom3.gpl/issues/3
      github.com/dabroz/doom3.gpl/commit/26fcd9d6a2e9cb33ed92cbf109420f263b48fe71
      • 0
        Офигенно! На Гитхабе за такое можно плюсовать?))
  • –2
    Если я не ошибаюсь, то движок Modern Warfare 3 базируется как раз на движке Doom 3, так что исходники весьма актуальны.
    • +4
      чуть выше говорили, что на движке от Quake 3.
      • 0
        А за что человеку минусы? Ведь он прав.
        • +4
          Не прав, курите википедию. Купленный когда то движок, на котором сделана quake 3 пилится и пилится до сих пор. думовский Tech 4 разработчики не покупали.
          • 0
            Хм, извините, просто я защищал IkaR4923, именно ему минусы ставили.
            • 0
              Амн, теперь понял. Сори.
  • 0
    Тени уже не те :(
  • +1
    Они наконец-то открыли исходники своего RoQ кодека. Раньше была только декодировка.
  • 0
    Интересно, мой N9 его потянет, хотя бы на минималках?
    • 0
      Не раньше, чем перепишут на OpenGL ES 2.0.
  • 0
    Жду облегченную версию дума 3 на html5/flash
    • 0
      Скорее уж под NaCL'ем.
  • +1
    Спасибо, мне будет полезно покопаться.
  • 0
    • –1
      Мы тут как тут. Загаживаем весь Хабр ссылками на рекламу.

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