Актуальная версия: 2.3.0
Канал в IRC: irc.oftc.net / #chocolate-doom
Ссылки: Сайт и Wiki | Git-репозиторий | Баг-трекер | Twitter Авторы: Саймон Говард, Джеймс Хейли, Самуэль Вильярреал, Фабиан Греффрат, Джонатан Дауленд и Алексей Хохолов.
Философией порта является не расширение функционала и добавление новых возможностей геймплея, а напротив - максимально точное воссоздание оригинальных версий игр под DOS (также именуемых "ванильными"). Разработка придерживается строжайших правил не только в плане сохранения исключительного оригинального функционала, но и в принципиальном сохранении багов игр, таких как неменяющееся небо в Doom 2, отсутствие четвёртой демозаписи в Final Doom и многих других.
Дополнительной отличительной чертой порта является возможность компиляции на многих операционных системах, не только Windows, Mac и Linux, но и Free/Open BSD, Solaris SPARC, Haiku и AmigaOS 4. В данный момент, с переменной активностью разрабатывается версия 3.0 в которой произойдёт миграция на SDL-2, в которой будет реализовано несколько приятных возможностей, таких как поддержка Alt+Enter (смена оконного и полноэкранного режима) и аппаратный рендеринг, а так же будет возможность компиляции исходных кодов под iOS и Android. Сроком окончания миграции является "soon".
Форки проекта
Chocorenderlimits - добавляет экранную информацию о лимитах рендеринга. Предназначен для авторов, делающих уровни совместимыми с оринигальными лимитами игры.
Crispy Doom - устраняет оригинальные лимиты карт и делает картинку менее пиксельной. Также добавлено несколько возможностей по раскраске HUD.
Doom Retro - порт, придерживающийся классической линии развития, но в тоже время добавляющий несколько улучшений как в графику, так и в геймплей.
Marshmallow Doom - форк с возможностями "песочницы".
Mint Doom - форк, целью которого является устранение всех возможный предупреждений при компиляции исходных кодов, а также приведение литералов int к единому формату ISO C99 и создание единого стиля форматирования для всего кода.
Obsidian - форк, целью которого является создание "тонкого сервера" (thin server) сетевой игры.
Project Infinity - планировался как порт с новыми возможностями для моддинга, но в итоге разработка проекта была прекращена с закрытием web страницы.
Russian Doom - форк, направленный на максимально возможный русский перевод Doom, Heretic и Hexen.
Strawberry Doom - порт, направленный на расширение оригинальных лимитов до уровня PrBoom+, и неким расширением функционала сетевой игры и добавлением ботов. Разработка была прекращена.
Strife: Veteran Edition - коммерческое переиздание игры Strife, содержащее в себе как OpenGL рендерер, так и классический режим.
Связанный ресурс на Doom Power
Добавлено спустя 3 минуты 6 секунд:
Предлагается закрепить тему.
Порт очень достойный, и раз уж тема о нём не была представлена на форуме, возьму на себя это дело.
У кого-то была проблема, что звук время от времени громыхает буквально на десятую секунды? Ещё такое когда-то наблюдалось в ZDaemon, но значительно реже. Из-за этого не хочется запускать порт т. к. напряжно играть, постоянно ожидая "скример" лол.
Версия 3.x с некой вероятностью обзоведётся поддержкой шейдеров для эмуляции цветности ЭЛТ мониторов. Я предложил скромный метод "обратной гамма-коррекции": грубо говоря, запустив порт с параметром -darken, изначальная гамма будет значительно ниже оригинальной, и будет повышаться с возрастанием уровня гамма-коррекции (что в принципе не нарушит философию порта в соблюдении канонов оригинала), но переписка в трекере перешла на необходимость добавления шейдеров. Кому интересно, можно почитать тут: https://github.com/chocolate-doom/chocolate-doom/issues/793
Позже, в IRC было решено, что шейдеры должны быть исключительно опциональными.
Интересно, шейдеры - это ведь уже 3Д-ускорение должно быть, нет? Надеюсь, программный рендер они выбрасывать не собираются? На счет гаммы/цветности на новых мониторах - это индивидуально, как ты сам сказал. На моем монике 2013 года, вроде нормально. Но нужно конечно посмотреть - сравнить в деле, когда будет возможность. Чужие скриншоты смотреть, в этом случае - не поможет, нужно вживую.
Memfis:
У кого-то была проблема, что звук время от времени громыхает буквально на десятую секунды?
Слышу у себя такое, на 2.2.1 стабильной, а на последних SVN - даже немного чаще это проявляется. Причем, у меня сейчас это слышно на очень старом железе, драйверах и операционках, скорее всего - что-то не совсем в порядке в части звука SFX в порте, музыка нормально играет. Думаю, разработчикам должно быть известно.
У меня более серьёзная проблема - не могу нормально заставить работать свою мышь на этом порте. Любые повороты мыши, со скоростью чуть выше средней - приводят к хаотическому дёрганию изображения, повернуться в нужную сторону - просто не возможно для меня. Пробовал разные настройки мыши, отключал их акслелерацию и пр. - не смог победить. Для меня сейчас возможно бегать только на клавиатуре на этом порте, вот никогда не замечал проблем с этой мышой у других программ, только шоколадке не нравится.
Со слов chungy и jmtd, шейдеры могут быть разными по употреблению производительности. Пока ещё нет никакого единого решения о том, какие вообще шейдеры будут, но SDL-2 даст дополнительную возможность программного, не аппаратного просчёта. Тоесть, в теории, класс видео карты будет не принципиален.
Что касательно "бульканья" звука - у меня тоже изредка, но бывает. Подозреваю что это беда SDL-1, потому как и текущая версия 2.2.1, и PrBoom и PrBoom-Plus используют первую версию SDL.
Порт действительно хороший. Сейчас скачал и посмотрел на его возможности и настройки. Из возможностей - Doom работает как в оригинале, и разрешение родное стоит. Из настроек - простота одним словом! Конфигуратор в точности такой-же, как в DOS-версии. Настроек минимально. Это очень хорошо!
Но вот в чём ещё больший прикол! В онлайн по Думу я никак не мог играть, из-за того что непонятно, как настраивать Zandronum в этом деле. Попробовав войти в опцию мульти-плеера в Шоколадке, в настройках коннекта к серверам, он автоматом выдал мне несколько серверов. Причём сервера он может искать по Интернету, и локальной сети.
Итог опишу одним словом: Я в Шоколаде!
Добавлено спустя 59 минут 39 секунд:
Кстати, как сделать свой сервак в Шоколадке, так, чтобы был не в локалке, а в Инете?
Что касательно "бульканья" звука - у меня тоже изредка, но бывает. Подозреваю что это беда SDL-1, потому как и текущая версия 2.2.1, и PrBoom и PrBoom-Plus используют первую версию SDL.
Возможно, но разве у PrBoom похожие проблемы со звуком? Вроде у меня нормально было, хоть и давно уже не запускал.
verbatim:
Кстати, как сделать свой сервак в Шоколадке, так, чтобы был не в локалке, а в Инете?
В чем именно проблема? Надо подробнее расписать. Я смотрю - у шоколадки есть даже треккер свой, потому, если по простому - "Start a Network Game" и вперёд, на мастере твой новый сервер должен быть виден всем. Другое дело - настройка твоего ПК и системы, как подлючен к сети, место выхода, не блокируются ли порты, внешний IP и пр - все это индивидуально может быть для каждого с его способом выхода в сеть, от шоколадки уже не зависит. Помогать с такими вопросами удалённо, через форум - сложно.
PVS, по поводу мультиплеера. В его настройках мне была непонятна одна опция. Как она называется, уже не вспомню, но стандартно там стоял параметр 2332.
P.S. А может тебе просто снять туториал по настройке мультиплеера? Было бы не плохо, и по всей Шоколадке в целом!
PVS, по поводу мультиплеера. В его настройках мне была непонятна одна опция. Как она называется, уже не вспомню, но стандартно там стоял параметр 2332.
verbatim, так у этого порта вроде ничего сложного нет, особо настраивать там нечего. Что именно у тебя не получается, опять не рассказал. На счет порта 2332 тебе уже человек ответил, да и StasBFG[iddqd] правильно советует, это я как всегда отстаю, все никак не привыкну, что сегодня чего-то захотел - сразу можно идти вику искать, сегодня эти вики везде, в большом количестве, очень даже многим помогают...
По этой шоколадке я не большой специалист, сам только второую неделю как пробую, да и больше пробую версию шоколадки нашего производства - фирмы Kilian.
Порт обновился до версии 2.3.0. Это технический, баг-фикс релиз, всё ещё использующий библиотеку SDL-1. Ссылки на скачивание в первом посте обновлены согласно офф. сайту.
По состоянию на 04.01.2017, версия с SDL-2 уже в стадии "pretty close now!". Надеемся, верим, ждём.
Список изменений в версии 2.3.0:
Скрытый текст:
General
- Bash completion scripts are included (thanks Fabian) - The OS X launcher now supports the .lmp file format (thanks Jon) - Pitch-shifting from early versions of Doom, Heretic, and Hexen. is now supported (thanks Jon) - Aspect ratio-corrected 1600×1200 PNGs are now written (thanks Jon) - OPL emulation is more accurate (thanks Nuke.YKT) - DMX bugs with GUS cards are now better emulated (thanks Nuke.YKT) - The disk activity floppy disk icon is now shown (thanks Fabian, Jon) - Checksum calculations are fixed on big endian systems, allowing multiplayer games to be played in mixed little/big-endian environments (thanks GhostlyDeath, njankowski) - The NES30, SNES30, and SFC30 gamepads are detected and configured automatically by the Setup tool. The automap can also be configured to a joystick button (thanks Jon) - The vanilla limit of 4046 lumps per WAD is now enforced (thanks Jon, Quasar, Edward-san) - Solidsegs overflow is emulated like in vanilla (thanks Quasar) - Multiple capitalizations are now tried when searching for WAD files, for convenience when running on case sensitive filesystems (thanks Fabian). - A new command line argument, -strictdemos, was added, to allow more careful control over demo format extensions. Such extensions are now forbidden in WAD files and warning messages are shown.
Build systems
- There is better compatibility with BSD Make (thanks R.Rebello) - “./configure --with-PACKAGE” checks were repaired to behave logically, rather than disabling the feature (thanks R.Rebello) - Games are now installed to ${bindir} by default, eg. /usr/local/bin, rather than /usr/local/games (thanks chungy) - Visual Studio 2015 is now supported (thanks Azarien) - SDL headers and libraries can now exist in the Microsoft Visual Studio project directory (thanks Quasar) - CodeBlocks projects were repaired by removing non-existent files from the project files (thanks krystalgamer)
Doom
- Chex Quest’s level warp cheat (LEESNYDER##) now behaves more like like the original EXE (thanks Nuke.YKT) - It's now possible to start multiplayer Chex Quest games. - Freedoom: Phase 1 <= 0.10.1 can now be loaded with mods, with -gameversion older than ultimate (thanks Fabian, chungy) - The IWAD order preference for GOG.com installs matches vanilla Final Doom: doom2, plutonia, tnt, doom (thanks chungy) - There are better safety checks against write failures when saving a game, such as when the directory is read-only (thanks terrorcide) - Versions 1.666, 1.7, and 1.8 are emulated (thanks Nuke.YKT) - Crashes are now handled more gracefully when a linedef references nonexistent sidedefs (thanks Fabian)
Heretic
- Map names were added for Episode 6, fixing a crash after completing a level in this episode (thanks J.Benaim) - Support for unlimited demo/savegames was added (thanks CapnClever) - Demo support is expanded: "-demoextend" allows demos to last longer than a single level; "-shortticfix" adjusts low-resolution turning to match Doom's handling, and there is now "-maxdemo" and "-longtics" support (thanks CapnClever)
Hexen
- The MRJONES cheat code returns an identical string to vanilla, and enables fully reproducible builds (thanks Fabian) - An issue was fixed where the game crashed while killing the Wraithverge in 64-bit builds (thanks J.Benaim) - Support for unlimited demo/savegames was added (thanks CapnClever) - Mouse buttons for strafe left/right and move backward were added, as well as a "Double click acts as use" mouse option (thanks CapnClever) - Demo support is expanded: "-demoextend" allows demos to last longer than a single level; "-shortticfix" adjusts low-resolution turning to match Doom's handling, and there is now "-maxdemo" and "-longtics" support (thanks CapnClever)
Strife
- Support was added for automatic loading of the IWAD from the GOG.com release of Strife: Veteran Edition on Windows (thanks chungy) - Jumping can now be bound to a mouse button (thanks Gez) - Gibbing logic was changed to match vanilla behavior (thanks Quasar) - Several constants differences from vanilla were fixed (thanks Nuke.YKT, Quasar) - When using -iwad, voices.wad from the IWAD’s directory is prefered over auto-detected DOS/Steam/GOG.com installs (thanks Quasar)
libtextscreen
- The API for creating and managing tables and columns was simplified. - It's now possible to cycle through tables with the tab key. - Windows can now have multiple columns.
А я вот с опасением отношусь к этому. Какие минимальные версии винды/линукса/мака потянут этот SDL2? Для этого порта очень хотелось бы иметь совместимость и со старыми платформами. Нормально ли движение мыши будет работать? (в Odamex с этим долго боролись, пока не вставили код из zdoom). А с чем связана такая радость? Что означает SDL2 для современных платформ? Для этого порта всегда было чем ближе к ванили, тем лучше. То есть я жду больше эмуляцию разных версий, поддержку старого сетевого кода (serial, ipx, tcp) и т.д. А дижитал мьюзик паки ведь не поддерживались.
SDL2 в общем-то нафиг не нужен. Но его приходится теперь использовать, потому что там поправлены некоторые баги от SDL1 и есть поддержка новых платформ (в частности гамма в X11 работает).
Если я всё правильно понял, ситуация примерно следующая:
SDL-2 (речь о Chocolate Doom, а не API в целом) работает с нативным разрешением экрана. Тоесть, вне зависимости от того, какое разрешение экрана установлено в системе, при переключении в полноэкранный режим разрешение монитора изменено не будет, и полученная картинка будет не смазаной, а аккуратно растянутой без сглаживания и без чёрных полос сверху и снизу (которые сейчас появляются с SDL-1 и разрешении экрана выше 1280:720).
Кроме того, заработала смена оконного/полноэкранного режима "на лету" (Alt+Enter), и окно можно свободно растягивать (в оконном режиме), тут важный фактор играет "Fix aspect ratio", если оно установлено в setup.exe, то картинка будет иметь ванильные пропорции (4:3). Если нет, то чуть более широкие.
По совместимости: Win9x, и, возможно 2К уже поддерживаться не будут, проведена работа по удалению кода поддержки этих систем (тикет #834). Но начиная с XP всё должно быть нормально, как для 32-х, так и для 64-х битных систем. Насчёт linux/os x не совсем уверен, тут требования скорее в зависимостях и установленных библиотеках, нежели в самих ОС. Были слухи, что теперь можно даже сделать сборки для iOS и Android, т.к. SDL-1 с ними вообще не работала.
По производительности: если не ошибаюсь, SDL-2 переводит нагрузку графической составляющей с процессора на видео-карту, но тут ничего страшного нет, т.к. нагрузка всё равно минимальна, и всё прекрасно работает даже на старенькой Intel HD graphics нетбука с Intel Atom на борту, проверял ещё пару месяцев назад.
Эмуляция разных версий, вроде как, уже реализована (Ultimate, Final и т.д.), планируется и поддержка эмуляции версии 1.2 (тикет #806). Поддержка совсем ванильных сетевых протоколов, согласно философии не планируется (phylosophy.md, раздел Exceptions).
Насчёт мьюзик паков точно не в курсе, но что-то когда-то об этом писалось.
А, ещё дискетка появилась при первом воспроизведении звукового файла.
---
Вобщем, это не обрастание порта новыми фичами и т.д. и т.п., нет, ни в коем случае. Это просто более удобное графическое отображение картинки, как в полноэкранном, так и в оконном режимах.
И то, что сейчас лежит на GitHub уже прекрасно компилируется и работает без замечаний.
Это вопрос философии и специфики порта. Только речь не о вадах, а именно об исполняемых файлах (doom.exe).
Конкретно в версии 1.2 были весьма специфические баги, например, при сохранении и загрузке, бочки заменялись спрайтами бонусов здоровья. Ещё что-то было с сохранением под закрывающейся дверью.
Ещё пример: запуск с параметром "-gameversion final2" будет эмулировать поведение Final Doom, однако, игра не будет крашиться из за отсутствующего лампа demo4.
Для чего нужна эмуляция старых версий оригинальных вадов?
Некоторые (очень) старые вады зависят от особенностей каких-либо версии, пример: UAC_DEAD.WAD, который не работает правильно в Ultimate Doom. А ещё, совместимость с старыми демками -- тоже вещь немалая.
Ну, может быть это и правильно, не буду спорить. Поддержка современных платформ нужна в первую очередь. Под сетевыми протоколами я имел в виду не ванильные, а TCP/IP который сейчас везде используется, в том числе в шоколаде (под ДОСом реализовывалось с помощью tcpsetup.exe, затем iDOOM, затем iFrag). Я играю в ванильный дум под досом на старом компе (и по Интернету можно с такими же думерами играть), хотелось бы иметь возможность без проблем играть с думерами у которых chocolate-doom на другой ОС. Ну раз уж сделали дехакед (как сторонней, но популярной утилиты), я подумал поддержка такого же популярного в то время iFrag не помешала бы.
Kilian:
Это вопрос философии и специфики порта. Только речь не о вадах, а именно об исполняемых файлах (doom.exe).
Вады соответствующих версий всё таки тоже нужно иметь и подключать через -iwad, чтобы смотреть демки например.
ProshivMaster2000:
@Kilian, баг с сохранением под дверью был только в версии 1.1
1.1 существовала всего 2 месяца, тогда и редакторы карт были ещё в разработке. Не уверен что будет польза от её эмуляции.