Какой язык использовался для программирования приложения Angry Birds?

Я никогда не программировал игру, но имею около десятка лет программирования интерфейсов. После того, как я сыграл несколько игр на своем Android-телефоне, я застрял, задаваясь вопросом, какой язык используется для программирования игр, таких как Angry Birds, и как такое графическое манипулирование может случиться. Родные языки или какой-то кросс-платформенный код?

Спасибо!

Ответы

Ответ 1

Я не уверен, но учитывая, что в папке приложений для сердитых птиц есть немало файлов .lua, я бы сказал, что они использовали LUA в некоторых аспектах. Но из того, что я слышал, LUA не является основным языком, а всего лишь с script. Тем не менее, я тоже не программист obj-c, поэтому возьми мое слово с солью.

Последующая ссылка https://web.archive.org/web/20120502071633/http://blog.anscamobile.com/2010/04/lua-the-lingua-franca-of-iphone-games/

Ответ 3

Приложения Android закодированы на Java с комплектом разработки Android, iphone-игры закодированы в объекте c

Android dev kit доступен здесь http://developer.android.com/index.html

комплект для разработки iphone (iOS), доступный здесь (для предупреждения требуется mac) http://developer.apple.com/devcenter/ios/index.action

Поскольку оба языка основаны на синтаксисе C, существует большая перекрестная совместимость между основными частями вашего кода, однако взаимодействие с телефоном выполняется через соответствующий sdk, поэтому вам нужно будет внести изменения в учтите это. Также стоит иметь в виду, что цель c на iphone не является сборкой мусора, поэтому вам нужно будет беспокоиться об управлении памятью!

Ответ 4

Должен быть C для ядра, по крайней мере. Если бы я был им, я бы написал ядро ​​в C и обернул java вокруг него для Android (я думаю, вы можете это сделать) и объективного c для iPhone (я знаю, вы можете это сделать).

Ответ 5

Я всегда предполагал, что эти разработчики программируют основные функциональные возможности в c/С++, а затем используют собственные комплекты для разработки, чтобы связать их. Например, я знаю, что в разработке Android вы можете использовать NDK для переноса java вокруг c/С++

http://developer.android.com/sdk/ndk/index.html

По иронии судьбы, Java в этом случае не является языком "build once, run every везде": p