Не спешите закрывать вкладку браузера, сначала посмотрите небольшой демонстрационный ролик:
Если после просмотра ролика вы не потеряли интерес, предлагаю читать дальше.
Установка игры
Заходим на страницу скачиваний игры http://doom.chaosforge.org/downloads, копируем ссылку на архив и скачиваем его:
wget http://doom.chaosforge.org/file_download/3/doomrl-linux-099.tar.gz
Распакуем игру:
tar xzvf doomrl-linux-099.tar.gz
Заходим в каталог с игрой и запускаем её:
cd doomrl-linux-i386-snapshot-2009-10-13
./doomrl
Музыка
Странно, но попытки подружить библиотеку SDL и плеер timidity с семплами sf2 мне не удалось. Любая программа для воспроизведения MIDI легко воспроизводит звук с использованием семплов sf2, а программы, основанные на SDL, MIDI-музыку не воспроизводят вообще. Если снова прописать в timidity использование pat-семплов, то звук появляется, но пропадают многие инструменты, а остальные звучат хуже.
Чтобы слушать музыку, лучше не пытаться заставить SDL воспроизводить MIDI, а просто скачать MP3-файлы со страницы http://www.sirgalahad.org/paul/doom/ и положить их в каталог doomrl-linux-i386-snapshot-2009-10-13/mp3. Для их использования нужно заменить файл doomrl-linux-i386-snapshot-2009-10-13/music.ini на doomrl-linux-i386-snapshot-2009-10-13/musicmp3.ini
mkdir doomrl-linux-i386-snapshot-2009-10-13/mp3
cd doomrl-linux-i386-snapshot-2009-10-13/mp3
cat list <<END
http://www.sirgalahad.org/paul/doom/mp3/d1inter.mp3
http://www.sirgalahad.org/paul/doom/mp3/d1readme.mp3
http://www.sirgalahad.org/paul/doom/mp3/d1end.mp3
http://www.sirgalahad.org/paul/doom/mp3/e1m1.mp3
http://www.sirgalahad.org/paul/doom/mp3/e1m2.mp3
http://www.sirgalahad.org/paul/doom/mp3/e1m3.mp3
http://www.sirgalahad.org/paul/doom/mp3/e1m4.mp3
http://www.sirgalahad.org/paul/doom/mp3/e1m5-e4m4.mp3
http://www.sirgalahad.org/paul/doom/mp3/e1m6-e3m6.mp3
http://www.sirgalahad.org/paul/doom/mp3/e1m7-e2m5-e4m8.mp3
http://www.sirgalahad.org/paul/doom/mp3/e1m8-e3m4-e4m1.mp3
http://www.sirgalahad.org/paul/doom/mp3/e1m9-e3m9-e4m9.mp3
http://www.sirgalahad.org/paul/doom/mp3/e2m1.mp3
http://www.sirgalahad.org/paul/doom/mp3/e2m2.mp3
http://www.sirgalahad.org/paul/doom/mp3/e2m3.mp3
http://www.sirgalahad.org/paul/doom/mp3/e2m4-e4m6.mp3
http://www.sirgalahad.org/paul/doom/mp3/e2m6-e4m7.mp3
http://www.sirgalahad.org/paul/doom/mp3/e2m7-e3m7-e4m5.mp3
http://www.sirgalahad.org/paul/doom/mp3/e2m8.mp3
http://www.sirgalahad.org/paul/doom/mp3/e2m9-e3m1.mp3
http://www.sirgalahad.org/paul/doom/mp3/e3m2-e4m2.mp3
http://www.sirgalahad.org/paul/doom/mp3/e3m3-e4m3.mp3
http://www.sirgalahad.org/paul/doom/mp3/e3m5.mp3
http://www.sirgalahad.org/paul/doom/mp3/e3m8.mp3
http://www.sirgalahad.org/paul/doom/mp3/d2title.mp3
http://www.sirgalahad.org/paul/doom/mp3/d2inter.mp3
http://www.sirgalahad.org/paul/doom/mp3/d2readme.mp3
http://www.sirgalahad.org/paul/doom/mp3/map1-15.mp3
http://www.sirgalahad.org/paul/doom/mp3/map2-11-17.mp3
http://www.sirgalahad.org/paul/doom/mp3/map3-21.mp3
http://www.sirgalahad.org/paul/doom/mp3/map4.mp3
http://www.sirgalahad.org/paul/doom/mp3/map5-13.mp3
http://www.sirgalahad.org/paul/doom/mp3/map6-12-24.mp3
http://www.sirgalahad.org/paul/doom/mp3/map7-19-29.mp3
http://www.sirgalahad.org/paul/doom/mp3/map8-14-22.mp3
http://www.sirgalahad.org/paul/doom/mp3/map9.mp3
http://www.sirgalahad.org/paul/doom/mp3/map10-16.mp3
http://www.sirgalahad.org/paul/doom/mp3/map18-27.mp3
http://www.sirgalahad.org/paul/doom/mp3/map20.mp3
END
wget -i list
rm list
mv doomrl-linux-i386-snapshot-2009-10-13/music.ini mv doomrl-linux-i386-snapshot-2009-10-13/music.bak
mv doomrl-linux-i386-snapshot-2009-10-13/musicmp3.ini mv doomrl-linux-i386-snapshot-2009-10-13/music.ini
Описание игры
Очень подробное описание игры есть по следующей ссылке: http://doom.chaosforge.org/wiki/index.php?title=DoomRL_Wiki Я же кратко опишу то, что уже успел освоить. Не пугайтесь длинного описания, на самом деле всё просто и осваивается методом тыка и заглядывания в файл readme.txt, в секцию где описаны клавиши.
Действие игры происходит в лабиринте, который полностью умещается в один экран. Обозначения элементов самого лабиринта:
1. стены лабиринта обозначаются решёткой (#), окровавленные стены - красной решёткой,
2. полы лабиринта обозначаются точкой (.), окровавленные полы - красной точкой,
3. лужи воды обозначаются синим символом "равно" (=),
4. лужи кислоты обозначаются зелёным символом "равно" (=),
5. лужи лавы обозначаются чередующимися в шахматном порядке жёлтым и красным символами "равно" (==),
6. закрытые двери обозначаются коричневым плюсом (+), открытые - коричневой косой чертой (/),
7. рычаги обозначаются белым амперсандом (&),
8. лестницы вниз обозначаются знаком "больше" (>),
9. телепорты обозначаются голубой звёздочкой (*).
Обозначение предметов:
1. аптечки обозначаются розовым плюсом (+),
2. боеприпасы обозначаются вертикальной чертой (|) разных цветов,
3. нож обозначается серой обратной косой чертой (\),
4. оружие обозначается фигурной скобкой (}) разных цветов,
5. различные полезные предметы обозначаются "крышкой" (^),
6. бочки с топливом обозначаются коричневой буквой O,
7. бочки с кислотой обозначаются зелёной буквой O.
Персонажи:
1. игрок обозначается собачкой (@),
2. труп игрока обозначается буквой X,
3. трупы обозначаются красным процентом (%),
4. "человекообразные" обозначаются буквой h, серый цвет соответствует вооружению пистолетом, коричневый - ружьём, красный - пулемётом, после убийства от них остаются оружие и боеприпасы,
5. бесы обозначаются коричневой буквой i, они стреляют огненными шарами,
6. демоны обозначаются розовой буквой c, они подбегают к игроку и кусают его,
7. "потерянные души" обозначаются жёлтой буквой s, подлетают к игроку и кусают его,
8. "помидоры" или какодемоны обозначаются красной буквой O, стреляют огненными шарами,
9. "рыцари ада" и "бароны ада" обозначаются зелёной и коричневой буквой B, стреляют огненными шарами,
10. пауки или арахнотроны обозначаются буквой A, стреляют плазменными шарами, после убийства от них остаётся батарея для плазменного ружья.
В начале игры у игрока имеются только кулаки и шестизарядный пистолет. По мере игры можно найти:
1. нож,
2. бензопилу,
3. однозарядное ружьё,
4. двуствольное ружьё,
5. пятизарядное ружьё,
6. четырёхствольный пулемёт с лентами по 40 патронов,
7. однозарядную ракетницу,
8. плазменное ружьё (попользоваться пока не довелось),
9. BFG-9000.
Обозначения основных действий:
1. стрелки - перемещение по вертикали и горизонтали,
2. home, end, pg up, pg down - перемещение по диагональным направлениям,
3. o (open) - открыть дверь, рядом с которой находится игрок. Открыть дверь можно нажатием на клавишу перемещения игрока в сторону двери,
4. c (close) - закрыть дверь,
5. u (use) - переключить рычаг. Действие рычага может быть разным, он может взорвать все стены в лабиринте, может затопить часть помещений водой, может взорвать определённые бочки с топливом или кислотой.
6. r (reload) - перезарядить оружие,
7. f (fire) - выстрелить из оружия. Если оружие не заряжено, выстрела не будет. Выстрел делается в ближайшего монстра. Если монстров поблизости нет, то первое нажатие на f переведёт игру в режим прицеливания, в котором можно будет перемещать букву X, обозначающую точку прицеливания. Второе нажатие на f производит выстрел по цели. Если с момента прошлого прицеливания вы не перемещали игрока, следующий выстрел будет произведён сразу по цели без прицеливания.
8. g (get) - подобрать предмет с пола в инвентарь,
9. i (inventory) - использовать предмет из инвентаря. По нажатии на клавишу происходит переход в режим инвентаря, где можно выбрать предмет, нажав на порядковую букву или выделив его с помощью стрелок и нажав enter.
10. d (drop) - выкинуть предмет из инвентаря на пол. По нажатии на клавишу происходит переход в режим инвентаря, где можно выбрать предмет, нажав на порядковую букву или выделив его с помощью стрелок и нажав enter.
11. S (save) - сохранить игру. Сохранение игры происходит только при нахождении на лестнице (>), при сохранении текущий уровень закрывается и начинается новый уровень.
Игрок не видит всё карту заранее, при перемещении по карте он видит только то, что находится от него в пределах определённого радиуса. При этом игрок не может увидеть то, что находится за стенами. Очень любопытно наблюдать как при прохождении игрока рядом с дверью, за дверью перемещается луч видимого пространства. Звук в игре стереофонический, поэтому по нему можно определить не только слева или справа находится источник звука, но и примерно на каком расстоянии он находится. В игре имеется система навыков, по мере прохождения и набора опыта, может увеличиваться скорость и точность стрельбы, дальность зрения, скорость перемещения по лабиринту. Оружие необходимо перезаряжать, когда в обойме заканчиваются патроны - всё по-взрослому. При исчерпании здоровья можно воспользоваться аптечкой из инвентаря. Можно найти и положить в инвентарь предмет, при использовании которого происходит телепортация в случайное место. Можно найти предметы, позволяющие улучшить броню или оружие. Можно двигать бочки, например закрывая ими проход через двери. Можно воспользоваться бочкой для взрыва стены или монстра, находящегося рядом с бочкой. Взрыв одной бочки может сдетонировать соседние бочки, в результате чего может призойти цепочка взрывов. Цепочка взрывов эффектно звучит в стереофонической озвучке :)
Одним словом, при освоении обозначений и клавиш управления, игра весьма интересна. Я почти не отрываясь играл в неё несколько часов :)
О печальном
Игра написана на FreePascal с использованием библиотеки Valkyrie, SDL и FMOD. Библиотека Valkyrie была создана специально для разработки игры Doom Rougelike, исходные тексты библиотеки распространяются по лицензии BSD, что и понятно. Сама игра закрытая, в ней используется закрытая библиотека fmod. Если бы библиотека распространялась по лицензии GPL, тогда пришлось бы открыть и исходные тексты игры и исходные тексты статически скомпилированной с игрой коммерческой библиотекой fmod. Автор также не разрешает выкладывать игру где-либо, т.к. он желает отслеживать количество скачиваний со своего сайта.
