Исходный код движка 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 различных версий.
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 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
                                                    Жду облегченную версию дума 3 на html5/flash
                                                  • +1
                                                    Спасибо, мне будет полезно покопаться.
                                                    • 0
                                                      • –1
                                                        Мы тут как тут. Загаживаем весь Хабр ссылками на рекламу.

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

                                                      Интересные публикации