Игры на Rust под мобильные телефоны

Доброго времени суток. Посмотрел все что смог выдать google и все равно остался вопрос. Согласно прошлому Rust Survey Redirect мобильные платформы и web имеют неплохой интерес и в то же время вообще никаких инструментов.
Я просмотрел несколько движков и библиотек типа amethyst, ggez и т.д. И нигде мобильные платформы не заявлены в поддержку.
В то же время есть отдельные библиотеки, которые на мобильниках должны работать типа winit и gfx-hal. На том же https://arewegameyet.com/ можно найти еще, но как-то все отдельно и непонятно будет-ли это все работать вместе.
Делал ли кто-нибудь игры или игровые приложения на Rust под Android/iOS?

1 лайк

Я делал приложения для Android которое рисовало 2D картинку.
Но это была не игра. Приложения состояла из двух частей: Java и Rust.
К Rust части прилинковал skia и формировал картинку на Bitmap,
а потом передавал Java которая отрисовала Bitmap на canvas.

The Snake’s Tale, например: Redirect


про мобильные и веб - посмотри Федин миниквад (хоть он и новый-сырой):

https://twitter.com/fedor_games

https://patreon.com/fedorgames/posts

Столкнулся с такой же ситуацией и полностью согласен с топикстартером. Судя по всему, действительно каких то успехов добились разработчики Zemeroth. Миниквад, который упомянули выше, я так понял как раз основан на разработках вокруг Zemeroth.

Миниквад, который упомянули выше, я так понял как раз основан на разработках вокруг Zemeroth.

Наоборот, хе)

Земерот умел работать на андроидах до перехода на ggez - тогда у меня был самописный “движок” hate на основе winit, старого gfx (pre-ll) и cargo-apk.

В данный момент lin/win/mac версии земерота используют обычный ggez, а веб версия через хак с extern crate использует старую версию Фединого good-web-game.

miniquad вырос из старых фединых поделок и этого самого good-web-game’а. Сейчас good-web-game уже является оберткой вокруг miniquad.

Поскольку Федя недавно запилил функционирубщую поддержку Андроидов, а ggez развивается еле-еле, то, скорее всего, я постепенно полностью переведу Земерот на good-web-game/miniquad.

2 лайка

К Rust части прилинковал skia и формировал картинку на Bitmap,
а потом передавал Java которая отрисовала Bitmap на canvas.

А картинка была статическая? Если нет, то как с производительностью?

про мобильные и веб - посмотри Федин миниквад (хоть он и новый-сырой):

Спасибо, посмотрю обязательно.

Я так понимаю, что в ggez отказались от поддержки мобильников? Там что-то с зависимостями?
Ну и аметист я мониторил с тех пор как они в roadmap внесли поддержку iOS и Android, но это было на конец прошлого года :smile:

Icefox не отказался, он даже тыкался пару раз, но всерьез руки у него никак не доходят. Он сначала веб хочет в 0.6 запилить.


Меня в ggez еще смущает, что Ледолис задолбался воевать с winit’ом на маках и выкинул яблочную платформу из списка официально поддерживаемых :frowning:

Картинка конечно была не статическая, иначе какой смысл бы все это городить,
а не написать все на Java. Проблем с производительностью не было никаких, но там и не особо много рисовали, где-то 200-300 линий, 50 строчек текста, несколько дуг. В skia я даже не активировал не переключал с CPU рендеринга (по умолчанию) на GPU, так как все целевые Android телефоны прекрасно справлялись.

Ох… Это печально. Apple, конечно, тоже со своей стороны постоянно вставляют палки в колеса разработчикам.

Спасибо большое. Вообще skia выглядит очень интересно

В общем, да. Вчера, вроде, решился: постепенно и с Фединой помощью портирую Земерот на “чистый” миниквад в ближайшие несколько месяцев. Надеюсь, из miniquad’а получится постепенно крутой движок для раст игр, по крайней мере не очень больших. Творим историю, на хрен, ю ноу.

3 лайка

Круто! Я вообще за разработкой Земерота давно слежу и с интересом буду смотреть как пройдет переход. Желаю удачи

UPD с лета:

Кстати, недавно Сергей выложил свой муравьиный товердефенс на godot-rust: