LINUX.ORG.RU

Xash3D на SDL2: Го, я создал!

 , , ,


7

3

Спустя почти 4 месяца хочу снова показать прогресс моей работы над портом этого движка на SDL2. Правда, теперь уже не только моей.

Что изменилось с прошлого поста? Честно говоря, очень многое. Начиная с того, что теперь есть организация на Github, заканчивая тем, что теперь Half-Life работает под Android.

Собственно, про порт на Android я и хочу рассказать. Спасибо товарищу Unc0nnected/nicknekit с форума cs-mapping.com.ua, который, пока я дорабатывал порт нового Xash3D, запустил старый порт на андроиде. Вот с тех пор, я, он и, с некоторых пор, mittorn занимаемся портом HL на эту мобильную платформу. Конечно, работа далеко от идеала — отсутствует сенсорное управление. В целом, с клавиатуры играть можно, поддержка джойстика пока неполная. А под линуксом так уже давно можно пройти HL полностью.

На скрине видно, что под линуксом с портом создан сервер, к которому присоединились клиенты с Android и оригинального Xash3D под Wine. Эта возможность нашлась совершенно случайно, когда я исправлял баг обнаружения серверов в локальной сети.

Я не хочу говорить, что сетевая игра под Xash3D идеальна. Она есть, но недоделана. В частности, из-за отсутвующего предиктинга, о чём говорит и сам автор движка.

Кому интересно, вот APK. Ресурсы игры можно взять прямо из стимовской версии, просто скопировать папку valve в /sdcard/xash/. А, ну и наложить сверху вот этот архив.

>>> Просмотр (1600x1380, 1986 Kb)

★★★★★

Проверено: JB ()

Респект! Такие разработки и их создателей надо чаем с печеньками отпаивать ^_^

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

С печеньками — это к Дяде Мише, который 10 лет этот движок пишет. =)

a1batross ★★★★★ ()

На днях поиграюсь, крутую ты чувак вещь делаешь!

их создателей надо чаем с печеньками отпаивать ^_^

Лучше вискарем.

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

Ну ладно, коли предлагаешь, отказываться стыдно.

a1batross ★★★★★ ()

Супер. Запустил на Samsung galaxy note 2 (n7100). В родном разрешении 720р, пока Фримен ехал на вагончике, ФПС просело до 30ти только в том моменте где G-man, но я помню ещё с времён моего п3 и gforc'a, что там тяжёлое место. А так стабильно 50-60 к/с. Поддержка модов будет?

Barsik ()

Отличная работа! Я вас умоляю, сделайте тоже самое с dosbox'ом чтобы можно было наконец нормально играть на планшете.

tranceGemini ★★ ()

Half-Life работает под Android

Ничего не имею против, но НАХРЕНА? Как вообще в неё играть на этой срани?

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

У тебя уже привычка приходить в каждый тред и плеваться жиром? Или это зависть ко всему миру?

Впрочем, на вопрос отвечу — 4fun.

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

У меня на том же месте тормоза. Можно немного фпс увеличить, убрав сглаживание у текстур.

Моды будут, но здесь как с пс3. Возможность есть, но ничего нет. Так-то мы бы ещё с радостью сделали бы блюшифт и опфорс, но от них нет исходников.

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

Клава + мышь, потом будет сенсорное, но я согласен, что хуже сенсорного управления будет только ректальное(и то до момента пока этим типом управления не займутся серёзные дядьки).

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

плеваться жиром

Я всего лишь спросил «зачем это надо на такой платформе».

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

Клава + мышь

планшет

Не самая лучшая затея, как мне кажется. Потому что в итоге мы получаем недонетбук-перепланшет. В тех условиях, где можно так расположиться с планшетом, клавой и мышью даже самый захудалый ноутбук будет предпочтительнее. Опять же - на мой взгляд.

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

Отличная работа. Хоть кто-то на лоре не для толсто вбросить.

r3lgar ★★★★★ ()

шикарно. а нет планов портировать ксашмод?

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

Вот только об этом речь идёт на ксмаппинг. В принципе, почему бы и нет. Он мог хорошо бы заменить серверную библиотеку на андроидах.

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

кстати, а можете выложить готовый билд для линакса с sdl2 в комплекте. а то она есть только в самих свежих репах.

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

Могу со своей генты дать. Пакеты пока не выйдет делать, ибо движок ищет игровые файлы там же, где и расположен.

a1batross ★★★★★ ()

А FXAA присобачить могете?
Ну и круто было б, если бы сорс или steampipe запилили бы

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

Сам андроид может включить сглаживание. Мне лично всё равно на эти сглаживания. Если сами код напишите, то так и быть, будет.

a1batross ★★★★★ ()

в

Удачи вообще
А другие игры и моды пойдут?

mystery ★★ ()

Попытался я тут на днях собрать его из сурсов под Linux. На x86_64 не сбирается - ибо либы компилит под i386. Это косяк в сценариях сборки или оно не поддерживает x86_64?

Напомню, что на двое 2015-й год.

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

Напомню, что там говнокода очень много. И вообще это воссоздание движка 1998 года. Зачем он тебе 2015?

Когда-нибудь себе поставлю x86-64, тогда займусь его сборкой. А сейчас ни одна 64-битная платформа не поддерживается. Только ARM с горем пополам.

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

<Зачем он тебе 2015?

Годных шутеров на прохождение под Linux не так много даже в 2015-м году. На безрыбье и в халва сойдёт, как говорится.

Когда-нибудь себе поставлю x86-64

Не стоит торопиться, x86_64 нынче редкостная экзотика, очень сложно где-то найти такой процессор.

Да и играть в шутеры гораздо удобнее на трёхдюймовой телефоне без мыши и клавы, чем на ПК.

Так что верной дорогой идёте, товарищ!

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

Под линукс есть тебе официальная халфа.

Ну давай, ещё начни мне рассказывать про преимущества 64 бит. Кроме, конечно, потраченной недели на переустановку и настройку генты.

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

Под линукс есть тебе официальная халфа.

Оно же не трушно-GPL-ное, как можно.

Кроме, конечно, потраченной недели на переустановку и настройку генты.

Переустанавливать систему ради халвы, ага.

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

Оно же не трушно-GPL-ное, как можно.

Я тебе открою секрет. Когда разрабатывался Xash3D были нарушены кучи лицензий. Плюс он писался на основе SDK от Valve, который несвободен совсем. Игровые библиотеки потому нельзя считать свободными, не то что GPL.

Переустанавливать систему ради халвы, ага.

В отличие от меня, ты можешь поставить 32-битные библиотеки и собрать порт. Или вместо того чтобы писать на ЛОРе, исправил бы ошибки на 64 бит. Там в принципе не так много, просто куча мест с тем же кастованием void* в int и обратно, например.

a1batross ★★★★★ ()

Бессмертная игра! Должна быть везде и никогда не умирать! Спасибо!

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

Я тебе открою секрет. Когда разрабатывался Xash3D были нарушены кучи лицензий.

Ты забыл про проприетарные ресурсы и т.п. Тем не менее, это лучше, чем бинарный блоб.

Или вместо того чтобы писать на ЛОРе, исправил бы ошибки на 64 бит.

Я как-ть сам решу что мне делать. Написал тебе отзыв, а дальше та решай исправлять ли косяки с 64-бит.

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

Это не косяк. Если бы ты заглянул в вики, то увидел бы, что порт на 64 бита не готов и чем пытаться собрать изо дня в день, лучше взять и самим всё сделать.

Поуменьшить фанатизм нужно, он до добра не доводит.

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

Ну давай, ещё начни мне рассказывать про преимущества 64 бит

Ясно все с тобой. Хотя тебе-то с легаси-железом 64-бита - как козе пятая нога.

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

У меня железо может 64 бит, самое забавное. Просто уже года три стоит эта гента и что-то с ней делать вообще желания нет. Особенно переустанавливать из-за желания каких-то анонимусов на форуме.

Впрочем, я скоро куплю себе ноут, туда уже точно что-то поновее вкачу. И по железу, и по технологиям. И наверное не генту. =(

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

и чем пытаться собрать изо дня в день, лучше взять и самим всё сделать.

Никто изо дня в день не собирает. Один раз попробовал, 5 минут портатил. Не работает - и хрен с ним. У меня есть дела поважнее, чем игрульки допиливать.

А ты чем троллить тут, сам бы уже взял и сделал.

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

Мне оно не нужно. Пока не нужно, ведь у меня самого порт работает. У кого там проблемы с 64-битами могут ключик -m32 в сборке прописать.

Я выше сказал, что ради какого-то xusrol я не буду переустанавливать идеально работающую систему.

a1batross ★★★★★ ()

Хм, а наэкранных стиков в порте нет?

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

Мне пора заливать Makefile'ы
В отдельный проект конечно, просто для упрощения крнфигурации сборки.
Ибо cmake не очень удобен в этом плане. Удобно конечно разворачивать с нуля, но изменять что-то для одной сборки - не очень. + он ещё зачем-то своё барахло в объектники пихает.

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

Да, надо бы, CMake уж очень неповоротлив.

a1batross, ты вообще зря QMake выкинул из проекта, им легко генерируются понятные человеку Makefile'ы.

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

Поддерживаю. В клиенте неплохой Makefile. Так что если его не сложно поддерживать, стоит вернуть. Я пока адаптирую их под актуальную ветку (нужно конфиги добавить) и сделаю репу.

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

В принципе, пусть будет оба тогда. Только надо придумать что с SDL делать. pkg-config? Он типа же у разных людей в разных местах может быть.

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

Не-а, нет. =(

Впрочем, с тех пор как поддерживается джойстик, они очень хорошо управляются через GameKeyboard.

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

Только надо придумать что с SDL делать. pkg-config

Можно сделать банально так:

...
INCLUDEPATH += $$system(sdl-config  --cflags)
LIBS += $$system(sdl-config  --libs) -lSDL_mixer -lSDL_ttf -lstdc++ -lm -lfreetype
...

EXL ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.