вже не раз я ділився враженнями про gzdoom і project brutality, — бо мені подобається, як частка історії doom живить і надихає спільноту, котра в свою чергу створює щось нове навколо цієї історії… котрій вже 30 років! та цього разу допис буде не ностальгічний, а суто практичний: розповім швиденько, як встановити й налаштувати сучасну версію doom з преферансом і поетесами на linux (а також залишу наприкінці підказку для windows).
tl;dr
коротка версія підказки (для linux):
- встановити рушій gzdoom;
- придбати doom II заради файлу doom2.wad, або завантажити безкоштовний freedoom2.wad і кинути в теку , де встановлено gzdoom;
- завантажити мод project brutality, розпакувати архів, кинути pk3 до підтеки mods/ в теці gzdoom;
- (опційно) завантажити набори рівнів й кинути до підтеки wads/ в теці gzdoom;
- запустити гру:
gzdoom -iwad doom2.wad -file mods/Project_Brutality_2.03.pk3 -file wadS/<файл.wad>
далі детально, а також трохи про мережеву гру і про встановлення на windows.
встановлення рушія gzdoom
користувачам arch linux (та похідних, як от manjaro) поталанило: сучасний рушій gzdoom є в репозиторії aur і легко встановлюється pamac’ом (якщо налаштовано якийсь aur helper, звісно ж):
pamac install gzdoom
швидше за все, для більшости інших дистрибутивів все так само просто.
можна грати? ще ні: встановлено лише рушій, але йому потрібні файли з ігровими даними (текстури, звуки, мапи тощо). де взяти? є варіанти:
- знайти в тенетах файл даних doom shareware: doom1.wad (його можна завантажувати легально);
- придбати легальну копію doom (чи doom II) заради файлу даних (doom.wad та doom2.wad) : наприклад, на gog.com (найдешевша наразі опція — the ultimate doom, але я би дочекався знижки на збіку doom 3: bfg edition, котра включає doom, doom II);
- або й просто обійтися freedoom phase 1+2 — файлом даних (freedoom2.wad), повністю створеним спільнотою (щоправда, графіка та рівні сильно відрізняються від оригінальної).
ідеальний вибір з точки зору естетики та ностальнії — doom2.wad. увага! файли shareware не дозволять згодом підключати альтернативні рівні. ніхто не забороняє завантажити всі п’ять перелічених файлів, або додаткові (plutonia, hexen, heretic тощо).
завантажені файли wad потрібно скопіювати (попередньо розархівувавши) до теки, де їх шукатиме рушій, наприклад (на linux, якщо встановлено з репозиторія):
/home/urist/.config/gzdoom
- doom.wad
- doom1.wad
- doom2.wad
- freedoom.wad
- freedoom2.wad
далі пробуємо запустити гру, вказавши один з файлів wad з опцією -iwad
:
gzdoom -iwad doom2.wad
в найпростішому випадку можна опустити опцію -iwad
, тоді gzdoom запропонує вибрати файл даних серед тих, які він знайшов у своїй теці. альтернативно, можна вказати повний шлях до файлу даних, якщо він знаходиться деінде:
gzdoom -iwad /home/$USER/downloads/doom/wads/doom2.wad
то тепер вже можна грати? можна і треба пробігти рівень чи два… але насправді це лише початок — на черзі преферанс!
project brutality
колись один хлопака награвся і сказав собі: doom вже не торт… треба додати ґібсів! так народився brutal doom, який згодом перейменували на project brutality — це мод, який додає… та дідько, він додає так багато всього, що не знати де й почати! хіба що з тих же ґібсів?
отже, знадобиться найсвіжіша версія project brutality зі сторінки проєкту на github’і: з архіву project_brutality-master.zip треба добути файл project_brutality-master.pk3 і покласти, наприклад, до підтеки mods в теці gzdoom:
/home/$USER/.config/gzdoom
- doom.wad
- doom1.wad
- doom2.wad
- freedoom.wad
- freedoom2.wad
- mods/
- Project_Britality-master.pk3
після цього можна перевірити, чи все працює, з новою опцією -file
(увага на регістр!):
gzdoom -iwad doom2.wad -file mods/Project_Brutality-master.pk3
окрім project brutality, можна — і я рекомендую, — завантажити додаткові моди:
- ultimate doomvisor — інтерфейс у вигляді шолома;
- bullet time x — можливість вповільнювати час (як у bloodrayne чи f.e .a.r.)
розпаковуємо, додаємо до теки mods:
/home/$USER/.config/gzdoom
- doom2.wad
- …
- mods/
- bullet-time-x.pk3
- Project_Britality-master.pk3
- UDV_v2.13_A_BASE.pk3
- …
що з цим робити? додавати до рядка запуску за допомогою опції -file
(для базового шолома достатньо одного файлу з індексом A
):
gzdoom -iwad doom2.wad -file mods/Project_Brutality-master.pk3 -file mods/UDV_v2.13_A_BASE.pk3 -file mods/bullet-time-x.pk3
увага! порядок опцій важливий для деяких модів! загальне правило таке: спершу -iwad
, потім wad’и з альтернативними рівнями (див. підказки далі), потім -file
для project brutality, а тоді решту модів, але можуть бути нюанси, тож варто читати інструкції до них.
вже ж тепер можна грати? ну, можна пробігти ті самі два рівні, звісно, погратися з налаштуваннями… але ж не забути й про поетес?!
додаткові рівні
оригінальні рівні doom та doom II годяться, щоби попестити свою ностальгію. freedoom та freedom2 — як інші ігри, які можна пройти після оригінальних, — дуже рекомендую, втім, використовувати doom2.wad як основний файл ресурсів:
gzdoom -iwad doom2.wad -file freedoom2.wad -file mods/Project_Brutality-master.pk3 -file mods/UDV_v2.13_A_BASE.pk3 -file mods/bullet-time-x.pk3
але все ж таки у створенні цікавих і атмосферних рівнів для гри, спільнота давно обскакала дизайнерів id. ось декілька наборів рівнів, які я дуже рекомендую спробувати (але вже після основних):
рекомендую відповідні файли wad кидати до окремої теки, щоби не плуталися з основними файлами ресурсів:
/home/$USER/.config/gzdoom
- doom2.wad
- …
- mods/
- bullet-time-x.pk3
- Project_Britality-master.pk3
- UDV_v2.13_A_BASE.pk3
- …
- wads/
- dpwh-part1-v0.5(Stand-Alone).wad
- uacultra.wad
запускається подібно, з додаванням опції -file
після основного файлу ресурсів:
gzdoom -iwad doom2.wad -file uacultra.wad -file mods/Project_Brutality-master.pk3 -file mods/UDV_v2.13_A_BASE.pk3 -file mods/bullet-time-x.pk3
от тепер можна грати!
запускач
остання підказка для linux — запускач, адже не руками ж щоразу набирати таку команду, коли хочеться пограти? по-перше, для зручнішого вибору файлу wad з рівнями можна скористатися zenity (часто встановлений в комплекті дистрибутива, але як ні — елементарно встановлюється, бо є в усіх репозиторіях), наприклад:
gzdoom -iwad doom2.wad -file $(zenity --file-selection --filename=/home/$USER/.config/gzdoom/wads/ --file-filter="*wad") -file mods/Project_Brutality-master.pk3 -file mods/Ultimate_DoomVisor/UDV_v2.13_A_BASE.pk3 -file mods/bullet-time-x.pk3
залишається додати такий пунк до головного меню, або створити відповідний .desktop в /home/$USER/.local/share тощо.
і от тепер вже точно можна грати!
мережева гра
якщо в локальній мережі є друзі, — можна спробувати запустити мережеву гру: кооператив (так! як в старому доброму duke nukem 3d!) або один проти одного. gzdoom не найраще для цього підходить, але спробувать можна. хтось один запускає на своєму комп’ютері сервер, з бажаним набором модів та рівнів (наприклад, лише project brutality), і для бажаної кількости гравців (-host 2
):
gzdoom -iwad doom2.wad -file Project_Brutality_2.03.pk3 -host 2 -extratic -skill 4 +sv_noweaponspawn 1 +sv_weaponstay 1 +sv_samespawnspot 1 +sv_allowjump 1 +sv_doubleammo 1
важливо! зауважте версію project brutality: 2.03! це тому, що зі найсвіжішим project brutality 3 мережева гра не працює — гравці бігають розсинхронізовано, і за хвилину-дві сервер «зависає».
другий гравець — підключається (знадобиться лише знати адресу ip сервера, приміром 192.168.1.99), і важливо, щоби набір модів та мапа були такими ж, як на сервері:
gzdoom -iwad doom2.wad -file Project_Brutality_2.03.pk3 -join 192.168.1.99
теоретично, можна грати не лише в локалці, але й через інтернет: для цього доведеться на стороні сервера «прокинути» (port forwarding) порт 5029/UDP на рутері до комп’ютера, а на стороні клієнта — знати публічну адресу ip сервера (або доменне ім’я, якщо використати dynamic ip на кшталт duckdns).
бонус: windows
для windows загальна процедура така сама: завантажити й встановити gzdoom для windows; знайти теку, куди встановилося; туди ж докинути основні файли ресурсів (wad), моди (до підтеки mods), додаткові рівні (до підтеки wads). запускати можна з командного рядка — але краще встановити запускач zdl, який дозволяє вибрати й запам’ятати всі неохідні файли включно з їхнім порядком (zdl є і для linux, але… навіщо?!)