Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Serious Sam Classic для Ubuntu  (Прочитано 185881 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tx00100xt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Serious Sam Classic для Ubuntu
« : 06 Июня 2023, 17:05:16 »
Доброго всем дня.

Немного предистории:
К юбилею выхода шутера от первого лица Serious Sam, который состоялся в марте 2016 года,
разработчики игры из хорватской компании Croteam решили открыть исходный код игрового движка Serious Engine 1 v.1.10.
Одновременно с этим они попросили Райена Гордона портировать открытый ими код на Linux. Гордон взялся за портирование, но
к сожалению осенью 2016 года забросил проект и перестал принимать пул реквесты. От его проекта отделился проект ptitSeb, который
активен до сих пор. В 2021 году я решил поиграть в любимую игрушку и собрал игру из его форка. Столкнувшись с большим количеством ошибок и багов,
я решил заняться исправлением ошибок движка. Где-то месяц-потора занимался исправлением ошибок движка. Потом портировал на линукс дополнения игры,
исходный код которых у меня был. Делал я всё это просто для себя, но через некоторое решил поделится результатом работы на известном всем ресурсе.
Не включая файлы защищённые копирайтом, естественно (без ресурсов игры). Позже меня попросили выложить исходный код.
Я выложил его на яндекс диске. Через некоторое время решил, что яндекс диск не лучшее место для исходного кода, и выложил его на ГитХаб.
Потом добавил поддержку Vulkan (портировал с Windows проекта).

Так получилиcm эти проекты: 

https://github.com/tx00100xt/SeriousSamClassic
https://github.com/tx00100xt/SeriousSamClassic-VK
https://github.com/tx00100xt/SeriousSamAlphaRemake

Недавно решил создать репозиторий PPA для простоты установки игры в Ubuntu.
Добваить его можно так:
sudo add-apt-repository ppa:tx00100xt/serioussam
sudo apt update
Этот PPA можно добавить в вашу систему вручную, скопировав приведенные ниже строки и добавив их в источники программного обеспечения вашей системы.
deb https://ppa.launchpadcontent.net/tx00100xt/serioussam/ubuntu YOUR_UBUNTU_VERSION_HERE main
deb-src https://ppa.launchpadcontent.net/tx00100xt/serioussam/ubuntu YOUR_UBUNTU_VERSION_HERE main
В репозитории пакеты для "jammy", "kinetic" и "lunar"

Этот PPA содержит игровые пакеты Serious Sam:
Цитировать

seriossam - Serious Sam Classic The First Encounter игра с OpenGL рендером.
serioussamse - Serious Sam Classic The Second Encounter игра с OpenGL рендером.
seriossam-vk - Serious Sam Classic The First Encounter игра с OpenGL/Vulkan рендером.
serioussamse-vk - Serious Sam Classic The Second Encounter игра с OpenGL/Vulkan рендером.
seriossam-alpha - Serious Sam Alpha Remake модификация для Serious Sam Classic The First Encounter.
seriossam-xplus - Serious Sam XPLUS модификация для Serious Sam Classic The First Encounter.
serioussamse-xplus - Serious Sam XPLUS модификация для Serious Sam Classic The Second Encounter.

Про дополнения:

Serious Sam Alpha Remake это модификация, полностью представляющая того «Серьезного Сэма», каким он мог быть изначально, до переделки всех уровней и моделей. Летом 2013 года команда с SeriousSite.ru отправили письмо в Croteam с просьбой предоставить предварительную версию «Серьёзного Сэма». Роман Рибарич согласился на просьбу и поделился старой версией с согласия других членов команды Croteam. Команда SeriousSite.ru анонсировала выпуск будущей бесплатной модификации Serious Sam Origins. К сожалению, по неизвестным причинам команда Serious Sam Origins заморозила проект в 2016 году и полностью прекратила его разработку. Параллельно польский фанат игры с ником Zdzichu сообщил о создании модификации Serious Sam Alpha Remake в 2015 году на основе утекшего windows билда предрелизной версии игры. После четырех лет разработки, в 2019 году вышла финальная версия мода Serious Sam Alpha Remake.

В Serious Sam XPLUS разработчики переделали текстуры в HD формат, отчего игра приобретает схожесть с официальным HD-ремейком.
(К сожаление текстуры самих уровней переделаны только для First Encouner). Также изменены различный эффекты и модели оружия. В остальном геймплей все тот же самый.

Для устанвки игры с дополнениями используйте команды:
sudo apt install serioussam serioussamse serioussam-alpha serioussam-xplus serioussamse-xplus
или
sudo apt install serioussam-vk serioussamse-vk serioussam-alpha serioussam-xplus serioussamse-xplus

Рекомендованный путь для размещения данных игры:

/usr/share/serioussam/ - для TFE
/usr/share/serioussamse/ - для TSE
или
~/.local/share/Serious-Engine/serioussam/ - для TFE
~/.local/share/Serious-Engine/serioussamse/ - для TSE

Данные модификации могут располагаться тут:

/usr/share/serioussam/Mods/"Mod name" - для TFE
/usr/share/serioussamse/Mods/"Mod name" - for TSE
или
~/.local/share/Serious-Engine/serioussam/Mods/"Mod name" - для TFE
~/.local/share/Serious-Engine/serioussamse/Mods/"Mod name" - для TSE

После установки пакетов скачиваем данные модов и распаковываем их:
wget https://archive.org/download/serioussam-alpharemake-mod-data/SeriousSamAlphaRemake_v1.5.7z
7z x -o~/.local/share/Serious-Engine/serioussam SeriousSamAlphaRemake_v1.5.7z

wget https://archive.org/download/sam-tfe-xplus/SamTFE-XPLUS.tar.xz
wget https://archive.org/download/sam-tse-xplus/SamTSE-XPLUS.tar.xz

tar -xJvpf SamTFE-XPLUS.tar.xz -C ~/.local/share/Serious-Engine/serioussam

tar -xJvpf SamTSE-XPLUS.tar.xz -C ~/.local/share/Serious-Engine/serioussamse

При выборе путей:
~/.local/share/Serious-Engine/serioussam/ - для TFE
~/.local/share/Serious-Engine/serioussamse/ - для TSE
копируем туда после установки пакетов файл SE1_10b.gro.

cp -v /usr/share/serioussam/SE1_10b.gro ~/.local/share/Serious-Engine/serioussam
cp -v /usr/share/serioussamse/SE1_10b.gro ~/.local/share/Serious-Engine/serioussamse

Если нужна только чистая игра без дополнений, то устанавливаем:

sudo apt install serioussam serioussamse
или
sudo apt install serioussam-vk serioussamse-vk

Игровые данные при этом могут располагаться в любом месте домашней директорий.
Игра при первом запуске просканирует домашний каталог, и при нахождении ресурсов игры пропишет к ним путь в конфигурационный файл.
И если к примеру у вас установлена стим версия игры, то после установки пакетов нужно только скопировать файл SE1_10b.gro в:

cp -v /usr/share/serioussam/SE1_10b.gro "~/.local/share/Steam/steamapps/common/Serious Sam Classic The First Encounter"
cp -v /usr/share/serioussamse/SE1_10b.gro "~/.ocal/share/Steam/steamapps/common/Serious Sam Classic The Second Encounter"
и можно запускать игру.

Запуск игры осуществляется через меню или из командной строки:
serioussam
или
serioussamse
« Последнее редактирование: 06 Июня 2023, 17:47:04 от tx00100xt »

Оффлайн tx00100xt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Serious Sam Classic для Ubuntu
« Ответ #1 : 09 Июня 2023, 14:01:55 »
Добавил в PPA три пакета:

serioussamclassic
serioussamclassic-vk
serioussamclassic-xplus

В отличие от пакетов serioussam и serioussamse с одноименным суффиксом, они содержат файлы сразу для
игр Serious Sam Classic The First Encounter и Serious Sam Classic The Second Encounter.
Убрал необходимость копирования SE1_10b.gro. В связи с добавлением новых пакетов, обновил зависимости в остальных пакетах. Если нет необходимости в модах, то при наличии игровых данных в домашней директории, достаточно лишь выполнить три команды, и можно сразу запускать игру.

sudo add-apt-repository ppa:tx00100xt/serioussam
sudo apt update
sudo apt install serioussamclassic
или
sudo add-apt-repository ppa:tx00100xt/serioussam
sudo apt update
sudo apt install serioussamclassic-vk
Запуск игры осуществляется через меню или с помощью командной строки.

Если у вас куплена игра в Steam и вы не собираетесь использовать моды, то дополнительных действии не требуется.
При первом запуске игра сама найдет расположение игровых данных. Если у вас есть купленная игра в GOG, то извлечь игровые данные можно с помощью innoextract. Чтобы установить innoextract через менеджер пакетов, запустите:

sudo apt install innoextract

Скопируйте файлы "setup_serious_sam_the_first_encounter_2.0.0.10.exe" и "setup_serious_sam_the_second_encounter_2.1.0.8.exe" в домашний каталог и выполните следующие команды:

cd ~/.
innoextract --gog setup_serious_sam_the_first_encounter_2.0.0.10.exe
cp -vfr "app/"{*.gro,Levels,Help} ~/.local/share/Serious-Engine/serioussam
rm setup_serious_sam_the_first_encounter_2.0.0.10.exe
rm -rf app
rm -rf tmp
innoextract --gog setup_serious_sam_the_second_encounter_2.1.0.8.exe
cp -vfr "app/"{*.gro,Levels,Help} ~/.local/share/Serious-Engine/serioussamse
rm setup_serious_sam_the_first_encounter_2.0.0.10.exe
rm -rf app
rm -rf tmp
rm -rf commonappdata

Если вы купили физическую копию игры и у вас есть ISO-образ вашего диска, вы можете распаковать ресурсы любым менеджером архивов. Ресурсы игры находятся в папке Install на диске. Просто скопируйте оттуда все файлы в каталоги ~/.local/share/Serious-Engine/serioussam и ~/.local/share/Serious-Engine/serioussamse соответственно для игр Serious Sam: The First Encounter и Serious Sam: The Second Encounter.

При использование модов расположение игровых данных по рекомендуемым путям обязательно.
« Последнее редактирование: 12 Июня 2023, 10:10:37 от tx00100xt »

Оффлайн tx00100xt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Serious Sam Classic для Ubuntu
« Ответ #2 : 14 Июня 2023, 11:59:06 »
Добрый день.
Сделал PPA для дополнений к игре.

Тем, кому интересны модификации - могут добавить его командами:
sudo add-apt-repository ppa:tx00100xt/serioussam-mods
sudo apt update
Этот PPA можно добавить в вашу систему вручную, скопировав приведенные ниже строки и добавив их в источники программного обеспечения вашей системы.
deb https://ppa.launchpadcontent.net/tx00100xt/serioussam-mods/ubuntu YOUR_UBUNTU_VERSION_HERE main
deb-src https://ppa.launchpadcontent.net/tx00100xt/serioussam-mods/ubuntu YOUR_UBUNTU_VERSION_HERE main
В репозитории пакеты для "jammy", "kinetic" и "lunar"

Список пакетов:
serioussam-dancesworld
serioussam-hno
serioussam-jumpfun
serioussam-oddworld
serioussam-parseerror
serioussam-plusplus
serioussam-st8vi
serioussam-st8vipe
serioussam-tower
serioussamse-oddworld

каждый пакет содержит man и doc. В man вы можете посмотреть параметры запуска из командной строки, а также описание новых консольных переменных игры. В doc описано соглашение имён, расположение файлов. Также указаны ссылки на скачивание ресурсов мода и подробное описание как расположить данные игры и модов.
Для просмотра нужно перейти в каталог /usr/share/doc. Посмотреть существующие каталоги для serioussam (ls -1d serioussam*). Перейти в нужный каталог и выполнить команду: less Readme.Debian.gz
Оригинальное Readme можно посмотреть командой less Readme.md.gz

Исходный код модификаци на ГитХабе:
https://github.com/tx00100xt/SE1-ParseError
https://github.com/tx00100xt/SE1-TSE-ST8VI
https://github.com/tx00100xt/SE1-TSE-ST8VIPE
https://github.com/tx00100xt/SE1-TSE-OddWorld
https://github.com/tx00100xt/SE1-TFE-OddWorld
https://github.com/tx00100xt/SE1-TSE-HNO
https://github.com/tx00100xt/SE1-TSE-DancesWorld
https://github.com/tx00100xt/SE1-TFE-Tower
https://github.com/tx00100xt/SE1-TFE-PlusPlus
https://github.com/tx00100xt/SE1-TFE-JumpFUN

(Нажмите, чтобы показать/скрыть)

Интересные маппаки:

Известный польский маппер с ником "Mkbewe" взялся за перенос уровней игры Serious Sam: Next Encounter для Serious Sam: The Second Encounter. После четырёх лет работы по переносу уровней - он закончил первый эпизод Ancient Rome. Эпизод содержит 20 уровней игры из Serious Sam: Next Encounter. https://www.youtube.com/watch?v=FUaDbABC3AI
Сейчас он работает над переносом следующего эпизода.
Скачать Ancient Rome для Serious Sam: The Second Encounter можно командой:
wget https://archive.org/download/ne-ancient-rome/NE_AncientRome.gro
Потом нужно файл NE_AncientRome.gro поместить в корневой каталог игры Serious Sam: The Second Encounter.

Как известно Serious Sam: Revolution содержит дополнительную компанию Bright Island. Русский маппер с ником "Dreamy Cecil" перенес эту компанию на Serious Sam: The Second Encounter.
Скачать Bright Island для Serious Sam: The Second Encounter можно командой:
wget https://archive.org/download/cecil-bright-island-1.1/CECIL_BrightIsland_1.1.gro
Потом файл CECIL_BrightIsland.gro помещается в корневой каталог игры Serious Sam: The Second Encounter.

Запуск компаний осуществляется через меню, выбором в пункте "Пройденные уровни".
Для этих компаний желательно в настройках видео переключиться на рендер OpenGL
« Последнее редактирование: 26 Июля 2023, 11:12:25 от tx00100xt »

Оффлайн tx00100xt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Serious Sam Classic для Ubuntu
« Ответ #3 : 15 Сентября 2023, 10:24:18 »
Доброго Всем дня.

Недавно решил сделать программу загружающую и запускающую карты и модификации для игры, созданные
энтузиастами и любителями игры Серьезный Сем. С момента выхода игры было сделано большое количество карт для одиночного прохождения и модификации. Сделать под такое количество пакеты просто не получится. Хотя интерфейс игры и позволяет запускать дополнительные уровни, но сделано это не очень удобно и большинство игроков не знает, где брать карты для игры. Я перебрал более 600 карт, созданных энтузиастами для одиночной игры. Около половины из них были отобраны и размещены на Web Archive, а вся информация о них занесена в базу данных SQL. Целью было выбрать лучшие карты с красивым дизайном и интересным геймплеем. Большая часть времени ушла именно на перебор карт и создание базы под них.

Подробное описание работы программы и исходный код можно посмотреть тут:
https://github.com/tx00100xt/Serious-Runner

Программу можно установить из PPA, добавив ppa:tx00100xt/serioussamclassic в источники программного обеспечения вашей системы.
sudo add-apt-repository ppa:tx00100xt/serioussam
sudo apt update
sudo apt install seriousrunner

Этот PPA можно добавить в вашу систему вручную, скопировав приведенные ниже строки и добавив их в источники программного обеспечения вашей системы.
deb https://ppa.launchpadcontent.net/tx00100xt/serioussam/ubuntu version main
deb-src https://ppa.launchpadcontent.net/tx00100xt/serioussam/ubuntu version main
Где версия: jammy, lunar, mantic.

После установки игры из PPA или скачивания релиза с GitHub единственным условием перед запуском является наличие контента игр Serious Sam Classic The First Encounter и Serious Sam Classic The Second где-нибудь в домашней директории. Всё остальное программа найдёт и сделает сама.

Приятной всем игры.
« Последнее редактирование: 01 Октября 2023, 10:58:55 от tx00100xt »

Оффлайн ArkWik

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Serious Sam Classic для Ubuntu
« Ответ #4 : 11 Ноября 2023, 16:11:54 »
Привет всем.
Захотел поиграт в "Сэма", но игра у меня спустя несколько секунд после старта зависала. Сделал вывод, что виноват мой компьютер на процессоре Ryzen из-за "Бешенной мощности!". Автору уже написал подробно что нужно сделать с исходниками, но незнаю, будет он добавлять исправление в репозитории или нет. У кого такая же проблема (запуск, несколько секунд- минут игры, зависание), а поиграть под линукс хочется, придётся самостоятельно из текущих версий исходника собрать себе игру, предварительно исправив файл /Sources/SeriousSam/SeriousSam.cpp, как в TFE каталоге, так и в TSE.
Примерно 370-375 строка - зависит от варианта исходников, классика или вулкан:
Было:
if( tmCurrentDelta<tmWantedDelta) _pTimer->Sleep( (tmWantedDelta-tmCurrentDelta)*1000.0f);
Стало:
if(tmCurrentDelta > 0 && tmCurrentDelta < tmWantedDelta) pTimer->Sleep( (tmWantedDelta-tmCurrentDelta)*1000.0f);

Удачи!

Оффлайн tx00100xt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Serious Sam Classic для Ubuntu
« Ответ #5 : 12 Ноября 2023, 00:00:50 »
Привет всем.
Захотел поиграт в "Сэма", но игра у меня спустя несколько секунд после старта зависала. Сделал вывод, что виноват мой компьютер на процессоре Ryzen из-за "Бешенной мощности!". Автору уже написал подробно что нужно сделать с исходниками, но незнаю, будет он добавлять исправление в репозитории или нет. У кого такая же проблема (запуск, несколько секунд- минут игры, зависание), а поиграть под линукс хочется, придётся самостоятельно из текущих версий исходника собрать себе игру, предварительно исправив файл /Sources/SeriousSam/SeriousSam.cpp, как в TFE каталоге, так и в TSE.
Примерно 370-375 строка - зависит от варианта исходников, классика или вулкан:
Было:
if( tmCurrentDelta<tmWantedDelta) _pTimer->Sleep( (tmWantedDelta-tmCurrentDelta)*1000.0f);
Стало:
if(tmCurrentDelta > 0 && tmCurrentDelta < tmWantedDelta) pTimer->Sleep( (tmWantedDelta-tmCurrentDelta)*1000.0f);

Удачи!
.
Спасибо за выявленный баг.
Не встречал раньше такое,хотя у самого тоже райзен.
Обязательно добавлю исправление в исходный код на ГитХабе и PPA.



Исправление в код на ГитХабе внёс.
Автобилды доступны тут:
https://github.com/tx00100xt/SeriousSamClassic/actions/runs/6836599838#artifacts
https://github.com/tx00100xt/SeriousSamClassic-VK/actions/runs/6836595638#artifacts

Также обновил пакеты serioussamclassic и serioussamclassiс-vk в PPA
« Последнее редактирование: 12 Ноября 2023, 02:27:55 от tx00100xt »

Оффлайн tx00100xt

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Serious Sam Classic для Ubuntu
« Ответ #6 : 09 Февраля 2024, 13:50:45 »
Всем Привет.

Сделал flatpak и snap пакеты для игры.

https://snapcraft.io/serioussam
https://snapcraft.io/serioussam-vk

https://flathub.org/apps/io.itch.tx00100xt.SeriousSamClassic
https://flathub.org/apps/io.itch.tx00100xt.SeriousSamClassic-VK

Пакеты включают в себя модификацию XPLUS.
Более подробно об установке можно посмотреть в вики.

https://github.com/tx00100xt/SeriousSamClassic/wiki/Snap.md
https://github.com/tx00100xt/SeriousSamClassic-VK/wiki/Snap.md
https://github.com/tx00100xt/SeriousSamClassic/wiki/Flatpak.md
https://github.com/tx00100xt/SeriousSamClassic-VK/wiki/Flatpak.md

Теперь игру можно установить в пару кликов с помощью "Центра Приложений".

 

Страница сгенерирована за 0.077 секунд. Запросов: 25.