LINUX.ORG.RU

Half-Life перенесли на PlayStation 1 при помощи открытого стека PSoXide

 , , , ,


0

3

Разработчик Эмануэле Бонура, также известный под именами Manny и izzy88izzy, показал работающий перенос Half-Life на оригинальную PlayStation. Проект HL-PSX запускается непосредственно на консоли, а не внутри эмулятора. Рендерер и игровая среда исполнения написаны на Rust поверх открытого набора средств разработки PSoXide.

В опубликованной видеозаписи разработчик прошёл все семь карт обучающего раздела Hazard Course на консоли SCPH-9002. Средняя частота кадров составляет около 17 кадров в секунду. Большую часть времени игра выдаёт примерно 20 кадров, но в крупных помещениях производительность снижается до 10–16 кадров. Работают сохранения, загрузка, оружие, противники, интерфейс и сценарные последовательности, хотя проблемы остаются в обработке звука, столкновений и некоторых элементов графики.

По словам автора, в проект уже импортированы все 96 карт из 19 глав Half-Life. Это не означает, что кампанию можно пройти без ошибок: большая часть уровней ещё нуждается в проверке и доработке.

Для размещения игры в 2 Мбайт основной памяти PlayStation используется отдельный конвертер. Он преобразует BSP-карты в формат с целочисленными координатами, удаляет неиспользуемые текстуры и недостижимые данные столкновений, сокращает палитры до 16 цветов и упаковывает игровые параметры в структуры фиксированного размера. Полученные блоки сжимаются и загружаются с компакт-диска по мере необходимости.

Модели также переводятся в специальный формат. Вместо хранения полного набора вершин для каждого кадра анимации используются базовая геометрия и заранее рассчитанные преобразования костей. В память загружаются только персонажи, необходимые для текущей карты. Звук преобразуется в поддерживаемый PlayStation формат ADPCM и разделяется на постоянный и зависящий от уровня наборы.

Игра работает в разрешении 320×240 с 15-разрядным цветом и двойной буферизацией. Два кадровых буфера занимают около 300 Кбайт из 1 Мбайт видеопамяти консоли. Помимо ограниченного объёма памяти, основными препятствиями остаются производительность 33-мегагерцевого процессора, обработка моделей и высокая стоимость повторной отрисовки геометрии.

HL-PSX создаётся на основе PSoXide — открытого стека разработки для PlayStation, включающего эмулятор и отладчик, SDK для Rust без стандартной библиотеки, игровую среду исполнения, редактор ресурсов и средства формирования образов дисков.

PSoXide распространяется под лицензией GPL-2.0-or-later. Выбор лицензии связан в том числе с использованием кода PCSX-Redux, также распространяемого под GPL. В репозитории проекта отдельно описывается происхождение заимствованных компонентов. Автор также прямо указывает, что значительная часть реализации создавалась при помощи средств генерации кода, при этом архитектура, проверка на настоящем оборудовании и принятие технических решений выполнялись человеком.

Сам HL-PSX пока не является открытым проектом: его репозиторий остаётся закрытым, а отдельная лицензия ещё не опубликована. Разработчик обратился к Valve за письменным разрешением на некоммерческое распространение исходного кода по схеме bring your own assets. Он также сообщил, что при отсутствии ответа примерно в течение месяца намерен расценить это как отсутствие возражений и открыть репозиторий.

Готового образа диска или собранной игры публиковать не планируется. Конвертер должен считывать ресурсы из принадлежащей пользователю версии Half-Life в Steam или с оригинального диска и локально формировать образ для PlayStation. Код и ресурсы Valve в состав проекта включаться не будут.

При реализации поведения игры автор использовал в качестве справочного материала опубликованный Valve Half-Life SDK. Однако этот SDK и оригинальные ресурсы Half-Life не являются свободным программным обеспечением. Поэтому даже после публикации кода HL-PSX проект будет сочетать свободный стек PSoXide с проприетарными данными, которые пользователь должен получить отдельно.

Окончательная лицензия HL-PSX, дата публикации репозитория и позиция Valve пока неизвестны.

>>> Источник

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)

@cetjs2 вроде опенсорс, а вроде и нет пока, хотя и раздела про игры в новостях нет, смотри сам, может удОлить и в Games перенести

unclestephen ★★★★★
() автор топика
Последнее исправление: unclestephen (всего исправлений: 1)
Ответ на: комментарий от unclestephen

хотя и раздела про игры в новостях нет

Есть.

CrX ★★★★★
()

Чем бы дитя не тешилось, лишь бы замуж не хотело. :⁠-⁠D

sparkie ★★★★★
()

Немного не понял. Он написал свой движок или перенёс оригинальный? Для порта использовались наработки xash3d или всё свое?

troizet
()
Ответ на: комментарий от troizet

Немного не понял. Он написал свой движок или перенёс оригинальный? Для порта использовались наработки xash3d или всё свое?

Да. Он написал на Rust собственный движок и игровую среду поверх PSoXide, а из оригинальной Half-Life берёт ресурсы и сверяется с SDK при воспроизведении логики.

Как я понял

unclestephen ★★★★★
() автор топика
Последнее исправление: unclestephen (всего исправлений: 1)

Помню на дримкасте проходил. Эх, последняя сега консоль…

mamina_radost
()
Ответ на: комментарий от kirill_rrr

Чёрт, КАК у него это получилось?

Нейрослоп уже не такй и слоп? Или теперь наоборот начало казаться, что оптимизация недостаточно оптимизирована и мясной жук (человек) сделал бы лучше?

mamina_radost
()
Последнее исправление: mamina_radost (всего исправлений: 1)
Ответ на: комментарий от water_closed

Теперь любая такая «новость» первым делом вызывает подозрения, а не восторг.

Это психическое, это от особого состояния ума. Вы рефликсировали почему у вас вызывает тревогу знание, что нечто создано не человеком? Что-то нематериальное «волшебное» уходит из творения, созданного не мясным умом?

mamina_radost
()
Последнее исправление: mamina_radost (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

Ещё был Quake II для PS1, а HL1 был на PS2.

Из-за ограничений памяти у PS1/PS2 разработчикам игр приходилось часто извращаться с LOD'ами, ограничениями видимости, дроблением на чанки и уровни. Ещё из-за чтения с диска, приходилась распределять данные особым образом, чтобы не было резких прыжков при чтении.

Dr64h ★★★★
()
Ответ на: комментарий от Dr64h

Ещё из-за чтения с диска, приходилась распределять данные особым образом, чтобы не было резких прыжков при чтении.

Эти трюки использовали и во времена hdd на ps4. Игры весили по 100 с лишним гб именно потому, что игровые данные многократно дублировались, для более линейного их чтения.

mamina_radost
()
Ответ на: комментарий от mamina_radost

Что-то нематериальное «волшебное» уходит из творения, созданного не мясным умом?

Искусство может быть создано только разумом, понятие AI Art это оксиморон. Видеоигра это искусство, как и код для неё. «Творения» не произошло.

Bfgeshka ★★★★★
()

Напоминаю что и движок Gold-Source и игровые ресурсы закрыты. Я практически уверен что лицензия запрещает как-либо использовать ресурсы, кроме как для игры. Я говорю про конвертацию ресурсов. Я уверен что это запрещено. С другой стороны Valve может просто закрыть глаза на это, а может и не закрыть.
Интересно другое, сам по себе движок и Дядя Миша написать может, а вот игровую логику он с нуля писал ни разу не заглядывая в HLSDK используя метод чёрног ящика? Или все же смотрел в HLSDK? Тогда это прямое нарушение лицензии, т.к. hlsdk запрещено использовать за пределами оригинальной игры. За это кстати предъявляют Дяди Мише, что у него в клиентскоц и серверной библиотеке hlsdk содержится. С другой стороны великодушный Габен ещё не заслужил авторов И̶г̶р̶ модов на Xash3d использующих в библиотеках hlsdk, игровые ресурсы HL, не требующих оригинальной игры и не совместимых с ней.

johndoe3
()
Ответ на: комментарий от Dr64h

Q2 под PS1 отличался от ПК версии упрощённой геометрией уровней. После ПК версии смотрится уныло. HL1 под PS2 вроде тоже отличается, но про геометрию уровней не уверен, в основном моделями отличалась.

johndoe3
()
Ответ на: комментарий от Bfgeshka

Глупости не говори. Твоя позиция это классический образец антропо-шовенизма. Всё человеческое искусство вторично в своей основе. Человек который никогда ничего не слышал и не видел не сможет создать так называемое «искусство». Для искусства человеку нужна «насмотренность». ИИ точно также сначала учатся на чужих данных и потом генерируют на из основе «своё» «искусство».

johndoe3
()
Ответ на: комментарий от question4

Раньше были олени которые насталтгировали по Денди и Сега, сейчас настальгируют по ПС. Если есть олени желающие купит устаревшее аппаратное оборудование втридорога, почему бы не продать ему их?

johndoe3
()
Ответ на: комментарий от Bfgeshka

Искусство может быть создано только разумом

И вот мы плавно перетекаем к тысячному обсуждению того, а что такое «разум»? Какие его критерии? Из чего следуют именно такие критерии?

mamina_radost
()
Ответ на: комментарий от johndoe3

Раньше были олени

Вы чувствуете себя очень высокомерным и правильным, оскарбляя людей, которые знают от чего хотят получить удовольствие и погрузиться в приятные, не мешающие никому, ощущения?

mamina_radost
()
Ответ на: комментарий от mamina_radost

И вот мы плавно перетекаем к тысячному обсуждению того, а что такое «разум»? Какие его критерии? Из чего следуют именно такие критерии?

Конкректно в этом вопросе сильно гадать не надо - определять искусство в широком смысле можно разными словами; но в любом случае нужно либо сознание, либо намерение, а ллм в такое не умеет.

Bfgeshka ★★★★★
()
Ответ на: комментарий от mamina_radost

Я за интернет плачу деньги чтобы самоутверждаться за счёт других людей. А ты сюда зачем ходишь? За этим же?

johndoe3
()
Ответ на: комментарий от Bfgeshka

Как же у некоторых подгорело от моего комментария про искусство. Я помню пару лет тому назад общался с одним младшм коллегой, он по своей неопоности и наивности начал рассказывать мне что ни одна нейронка не сможет написать музыку или написать картину. Прошло всего-лишь 2 года и нейронки пишут музыку о элементарному описанию, результат лучше чем трек на который потратили часы на запись и столько же на материнг и сведение. То же самое и про изобразительное искусство и .т.д и т.п. Вы бы ещё про то что у человека есть душа, а машины нет души, поэтому она не способна делаь искусство. Я на полном серьёзе ожидаю такого аругмента. И ещё про созднание. Вот откуда ты заешь, что ты находишься в сознании? Какие у тебя есть доказательства? Я обсалютно серьезно, как ты можешь быть увеен что ты находишься в сознании и что оно у тебя есть?

johndoe3
()
Ответ на: комментарий от Bfgeshka

нужно либо сознание, либо намерение

И вот мы плавно перетекаем к тысячному обсуждению того, а что такое «сознание»? Какие его критерии? Возможно ли доказать свободу воли в мире причинно-следственных процесоов, чтобы доказать, что ваше намерение берётся из ниоткуда, то есть оно не причинно, а вот намерение машины, это только реакция.

mamina_radost
()
Ответ на: комментарий от johndoe3

Я за интернет плачу деньги чтобы самоутверждаться за счёт других людей.

Читаю, изучаю, смотрю разные видео, общаюсь

mamina_radost
()
Ответ на: комментарий от mamina_radost

С каких пор LLM начали придумывать креативные способы сделать невозожное? Ну серьёзно, это Халва на железе, где Дум2 будет чувствовать себя не слишком то вольготно.

kirill_rrr ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.