Вопрос или проблема
Ищу и нуждаюсь в:
-
Работает на большинстве или всех Linux мобильных/планшетных устройствах, кроме Android (может работать и на Android), поддерживает сенсорные экраны, например, Plasma Mobile или postmarketOS
-
Можно программировать с помощью языка
-
Обработка сенсорного ввода
-
Возможности чтения и записи файлов, включая то, где находится домашняя директория (может быть как “создать свой собственный поиск домашней директории”)
-
Отрисовка в некоторой форме
-
Отрисовка текста, даже если это как имя приложения
-
Может знать, когда закрыть/завершить приложение
Хотелось бы, но можно и без этого:
-
Безплатное использование
-
Поддержка шейдеров для градиентов на GPU (очень хочется)
-
Вычислительные шейдеры на GPU
-
Ввод текста с помощью программной клавиатуры (очень хочется)
-
Аудиовыход, например, через динамики
-
Знание плотности пикселей во время выполнения
-
Многопоточность в программах, например, конкурентность
-
Почти один исходный код для всех платформ
-
Действительно не нужно, но доступ к нативным устройствам и датчикам
Существует ли что-то подобное? Это будет для игр, не могли бы вы направить меня туда, где указывается, что ваше предложение может быть тем, что мне нужно?
.
Ответ или решение
Когда речь идет о разработке игр для мобильных устройств на основе Linux, например, Plasma Mobile или postmarketOS, выбор подходящего игрового движка становится критически важным для успешного выполнения проекта. В контексте вашего описания, у вас есть определенные требования и желания относительно функциональности и возможностей, которые должен предоставить движок. Рассмотрим потенциальные варианты, которые соответствуют вашим критериям.
Теория
Идеальный игровой движок для платформ, подобных Plasma Mobile или postmarketOS, должен поддерживать следующее:
- Совместимость с различными Linux-платформами и возможность запуска на Android.
- Программирование на каком-либо языке.
- Обработка вводов с тачскрина.
- Работа с файловой системой для чтения и записи данных, включая определение домашней директории.
- Поддержка рендеринга, включая текстовый рендер.
- Управление состоянием приложения, включая завершение работы.
Дополнительно желаемые, но необязательные функции включают:
- Бесплатное использование.
- Поддержка шейдеров для рендеринга градиентов и вычислительных шейдеров.
- Ввод текста с помощью экранной клавиатуры.
- Аудиовывод.
- Восприятие плотности пикселей на устройстве во время выполнения.
- Поддержка многопоточности.
- Единый исходный код для всех платформ.
- Доступ к сенсорам и устройствам, если необходимо.
Примеры
Среди возможных вариантов, которые могут соответствовать вашим потребностям стоит обратить внимание на следующие движки:
-
Godot Engine:
- Совместимость: Один из наиболее универсальных движков с поддержкой различных платформ, включая Linux. Может компилироваться для Android.
- Программирование: Использует собственный язык GDScript, а также поддерживает язык программирования C++ и VisualScript.
- Обработка тачскринов: Имеет встроенную поддержку ввода с тачскрина.
- Работа с файлами: Предоставляет API для чтения и записи файлов.
- Рендеринг и текст: Возможности рендеринга 2D/3D и текстов.
- Добавочные функции: Поддержка шейдеров, аудио, мультитрединг, и т.д.
- Лицензия: Полностью бесплатен и открыт с лицензией MIT.
-
LÖVE (Love2D):
- Совместимость: Поддерживает основные настольные операционные системы, а также может быть адаптирован для работы на Linux-устройствах.
- Программирование: Использует язык программирования Lua.
- Функции рендеринга и текстовая поддержка: Имеет хорошие возможности для 2D-рендеринга и рендеринга текста.
- Удобство использования: Прост в освоении и разработке.
- Дополнительно: Поддержка аудио, базовая поддержка обработки ввода с тачскрина через платные и бесплатные плагины для мобильных устройств, работа с файловой системой.
-
Unreal Engine:
- Совместимость: Известен своей мощью и кросс-платформенностью, поддерживая Linux и мобильные устройства.
- Программирование: C++ и собственная система визуального программирования Blueprints.
- Особенности рендеринга: Современные функции рендеринга и работа с шейдерами.
- Обработка ввода: Поддержка тачскрина и ввода с клавиатуры.
- Лицензирование: Бесплатен до достижения определенного объема дохода.
Применение
Исходя из вашего описания, Godot Engine представляется наилучшим вариантом благодаря своей бесплатности, простоте использования, всесторонней поддержке различных платформ и огромному сообществу поддержки. Этот движок легко адаптируется под различные требования к платформам и способен обрабатывать многие аспекты разработки игры, которые вы описали.
Поддержка шейдеров, аудиосистема и возможность работы с многопоточностью, предлагаемые Godot, способны удовлетворить ваш интерес к более графически насыщенной игре с мультимедиа аспектами.
Кроме того, для адаптации Godot под Linux устройства может потребоваться определенная настройка и работа с сообществом, поскольку Plasma Mobile и postmarketOS, возможно, не покрыты полноценно. Несмотря на это, открытая архитектура и активные форумы поддержки облегчают решение таких вопросов.
Заключение
В результате, существует несколько движков, которые могут удовлетворить ваши целевые потребности. Владение такими инструментами, как Godot или LÖVE, с их способностью работать кроссплатформенно и поддерживать основные игровые функции, даст вам важное преимущество в разработке игр для Linux-устройств. Все зависит от степени вашей готовности адаптироваться и экспериментировать с доступными инструментами.