21 мая 2017

Разработка Android игр на Delphi


Ещё не перевелись поклонники Delphi в мире, и теперь у них появилась возможность разрабатывать графические игры на движке Vulkan под Android.

Важное примечание!

Официальным средством разработки для Android от компании Google является на данный момент Android Studio 3.0, которое предоставляет многократно большие возможности по разработке, отладке и точному тюнингу приложений под Android. По этой причине, если вы уже пользуетесь Android Studio, то дальше можно не читать.


Историческая справка

Язык Pascal был представлен миру в 1970 году и стал крайне популярен в учебных заведениях, однако, ввиду того, что он не стал полностью кросс-птаформенным, как более простые языки С/С++, он не стал промышленным стандартом, хотя и использовался повсеместно, в т.ч. для разработки игр (см. рис. выше). 

В 1985 году вышел Object Pascal, который уже открывал возможность использовая объектного программирования в среде MS-DOS, что позволяло создавать уже очень сложные программы для ПК. Однако настоящий расцвет Object Pascal произошёл в 1995 году с выходом среды быстрой разработки Delphi от фирмы Borland, которая позволяла из готовых компонентов мышкой создавать визуальные интерфейсы под Windows и вставлять код обработчиков событий компонентов на особой версии Object Pascal, по мере необходимости.

Ввиду фактического отсутствия общепринятых стандартов программной разработки в России вплоть до середины 1990-х годов, сразу после выхода Delphi в 1995 году стал в России сначала супер популярным, а затем фактически стандартом де-факто для разработки бизнес приложений под Windows, в т.ч. стал официальным языком разработки для 1С и пр.  

Однако, после того, как Microsoft сначала выдавил с рынка Linux, что привело к фактическому закрытию проекта Boland Kylix (Delphi для Linux), затем саботировал развитие Java, выпустив несовместимый с ним .Net, что привело к фактическому забвению проекта Borland JBuilder (RAD оболочка Delphi для языка Java), затем выкупил патенты на RAD и переманил программистов из Borland, для работы над собственным средством разработки Visual Studio, компания Borland захирела и фактически обанкротилась. В итоге Borland продал за бесценок всю линейку RAD, включая Delphi, маленькой компании Embarcadero Technologies в 2008 году.

С тех пор, подавляющее большинство программистов, в т.ч. в России, вынужденно перешло с Borland Delphi на Microsoft Visual Studio, однако, небольшая, но очень упорная группа любителей Delphi тем не менее осталась верна Delphi, пусть и при поддержке Embarcadero.

Castle Game Engine

К сожалению, компания Embarcadero Technologies не может развивать продукт Delphi опережающими весь мир темпами, как когда-то делал Borland, поэтому появились отдельные сообщества фанатов, которые дописывают под неё свои бесплатные библиотеки.

Одно из таких сообществ написало графический движок Castle Game Engine на Object Pascal, который можно использовать на Delphi для создания графических трёхмерных игр.

Castle Game Engine (https://castle-engine.sourceforge.io) стал недавно поддерживать графическое ядро Vulkan и возможность запуска на Android, что позволяет писать трёхмерные игры для Android на Delphi.

В общем, если вы всё ещё программируете на Delphi, но хотите перейти от программирования под Windows к разработке Android приложений, теперь у вас есть такая возможность. 


Тем не менее, ещё раз хочу напомнить, что поскольку среда Delphi изначально никак не предназначена для удалённой отладки приложений на мобильных устройствах, сколь-нибудь серьёзные проекты 3D игр на Delphi под Android затевать не стоит. Гораздо лучше для этих целей подойдёт Android Studio 3.0, которое позволяет находить проблемы производительности на реальных устройствах в реальном масштабе времени, и показывать конкретную строку кода, которая тормозит больше всех, прямо на лету, что крайне критично для любых мобильных приложений.

1 комментарий:

Unknown комментирует...

Используюя среду Delphi - можно, также, комбинировать: разрабатывать игры в комплексе взаимодействующих приложений (ОС Windows и ОС Android).
Для этого можно использовать DataSnap-технологию на примере разработки комплекса взаимодействующих приложений (ОС Windows и ОС Android) в среде Delphi 10.2 Tokyo.
Общий подход см., например, здесь:
https://roamer55.ru/main_programming/delphi/delphi_10_2_hybrid/delphi_10_2_hybrid_datasnap/delphi_10_2_hybrid_datasnap_spBallCollision/