Golang кроссплатформенный игровой движок с использованием мобильного ПКГ?
Можно ли создать кроссплатформенный (mobile + destkop) игровой движок, используя ресурсы мобильного пакета Go? Или это как-то связано с мобильными и мобильными архитектурами?
Первая проблема заключается в том, что glsprite и другие пакеты рендеринга, которые я буду использовать, построены поверх OpenGL ES, поэтому мне придется игнорировать все, что gl
и использовать только более общие пакеты, такие как https://godoc.org/golang.org/x/mobile/exp/sprite/portable? Или я все еще мог бы использовать glsprite практически без проблем при таргетинге на мобильные устройства?
Теоретически аудио должно хорошо кросс-компилироваться с https://godoc.org/golang.org/x/mobile/exp/audio?
Это выполнимо / жизнеспособно? Или слишком много хлопот?
1 ответ
В прошлый раз я попробовал gomobile OpenGL на Windows, он не работал. Я смог собрать только для Android. Может быть, эта ошибка исправлена сейчас, не уверен..
Тем не мение; для кроссплатформенности вы можете просто использовать gomobile для мобильных платформ и создать интерфейс для универсального opengl на рабочем столе, и вы без проблем получите и то, и другое. Просто выделите интерфейс между обычными opengl и gomobile opengl es.
Обновить:
на самом деле просто попытался запустить "базовый" пример с помощью go run, и он работал на Windows. Так что ошибка должна быть исправлена. Итак, в вашем ответе да можно использовать Go Mobile X для кроссплатформенного мобильного + настольного компьютера:
https://github.com/golang/mobile/blob/master/example/basic/main.go
Тем не мение; Аудио НЕ компилируется в Windows из-за специфических для Linux библиотек Open AL. Если вы посмотрите на флаги сборки, darwin, только linux, без окон.