Как на самом деле выше,
В свое свободное время я пишу игру для Android (андроид, потому что он бесплатный, и у меня нет никаких реальных намерений делать что-то коммерческое).
Логика игры основана на очень типичной компонентной модели, в которой сущности существуют и к ним прикреплены компоненты, а сообщения отправляются туда и обратно для того, чтобы что-то произошло.
Очевидно, что слой для фактического выполнения является тонким, и если бы я должен был написать версию этого приложения для iPhone, мне пришлось бы переписать рендер и драйвер ядра (этой системы на основе компонентов) в Objective C.
Сущности - это просто плоские файлы, определяющие имена добавляемых компонентов, а сами компоненты представляют собой простые, универсальные объекты, содержащие логику для сущности.
Теперь, если я напишу всю логику для этих компонентов в Java, то мне придется переписать их в Objective C, если я решу сделать порт для iPhone. Поскольку основная часть логики приложения содержится в этих компонентах, в идеальном случае они будут написаны на не зависящем от платформы языке / script / DSL, который затем может быть просто загружен в приложение на любой платформе.
Однако я был убежден, что это не идеальный мир, и что производительность Lua и т. Д. На мобильных устройствах все еще не до конца понятна, что накладные расходы слишком велики и что я столкнусь с проблемами позже, если я пошел по этому маршруту?
Это действительно так? Очевидно, что это всего лишь гипотетический вопрос, я рад написать их все на Java, так как это просто и легко начать работу, но скажу, что мне действительно нравится создавать эту игру (маловероятно, учитывая, насколько я в настоящее время не люблю иметь дело с со всеми этими различными мобильными устройствами) и я хотел сделать коммерчески жизнеспособную игру - буду ли я использовать Lua или просто получу удар, когда дело доходит до портирования, и просто переписать весь код?