Знаком ли ты с Unity и LibGDX
Что проверяют
Фронтенд-разработчику такой вопрос задают, когда у компании есть игровое направление: браузерные игры, playable-реклама, геймификация в продукте. Хотят понять, был ли у вас реальный опыт с игровым циклом и рендерингом и насколько быстро вы войдёте в тему. Следом обычно спрашивают, как бы вы встроили игру в веб-страницу.
Как отвечать
Если опыт есть, говорите конкретно: жанр, платформа, ваша роль, что сделали сами. Опорные точки по обоим инструментам:
- Unity: движок с редактором, скрипты на C#, поведение объектов через
MonoBehaviour, физика черезRigidbody, анимации черезAnimator. Для веба важна сборка под Web на WebGL и WebAssembly: её размер, время загрузки, память на мобильных, связь со страницей через.jslibиSendMessage; - LibGDX: фреймворк без визуального редактора, код на Java или Kotlin, лицензия Apache 2.0. Игровой цикл через
ApplicationListenerилиGameиScreen, отрисовка черезSpriteBatch, ассеты черезAssetManager, физика через обёртку Box2D. Веб-бэкенд у него на GWT, поэтому не всё из JVM работает в браузере; - сравнение: Unity даёт редактор, экосистему и готовые пайплайны, но веб-сборка у него тяжелее. LibGDX лёгкий и гибкий, зато сцены, редакторы уровней и UI часто приходится собирать самому.
Мостик к фронтенду делает ответ сильнее: если вы работали с Canvas, WebGL, PixiJS, Phaser или Three.js, скажите об этом. Понятия те же: игровой цикл на requestAnimationFrame, атласы спрайтов, пулы объектов, профилирование кадра.
Если с Unity и LibGDX вы не работали, признайтесь сразу, расскажите, что делали из близкого, и как бы вошли в тему, например через прототип на выходных. Примеры и цифры берите только из своих проектов.
Где спотыкаются
Приписывают себе опыт по туториалу. Первый же вопрос про разницу Update и FixedUpdate или про жизненный цикл Screen это вскрывает.
Сводят сравнение к «Unity для 3D, LibGDX для 2D». На Unity делают множество 2D-игр, а выбор чаще решают команда, целевые платформы и размер сборки.
Забывают, что спрашивают фронтенд-разработчика, и не связывают опыт с вебом: встраивание, загрузка, производительность в браузере.