LibGDX_Logo

Пишем игры на Java: библиотека LibGDX

Познакомился с любопытной разработкой — библиотекой LibGDX для Java. Она представляет собой игровой «движок», облегчающий создание компьютерных игр. Конечно, проект куда более скромный, чем такие гиганты как Unity и Unreal Engine. Тем не менее, с его участием разрабатываются в том числе и коммерчески-успешные (пусть и небольшие) игры, которые, например, продаются в Steam или Google Play. Среди подобных проектов можно выделить, например, карточный рогалик Slay the spire, FTL-вариация Space Heaven или клон знаменитой Цивилизации для Android — проект unCiv. На сайте представлена своеобразная «витрина» таких игр.

Библиотека является открытой и кросс-платформенной: созданные приложения могут быть запущены на Desktop, на Android и iOS — и даже в браузере (с использованием HTML5). Разработка и поддержка решения продолжается уже больше 10 лет. С официальный пакет входят инструменты:

  • Для работы с 2D-графикой;
  • Для работы с 3D-графикой;
  • Встроенный физический движок с расчётом соударений;
  • Функции работы с аудио-потоком;
  • Функции для работы с видео;
  • Функции для взаимодействия с контроллерами: клавиатурой, мышью, гейм-падами и т.д.
  • Сетевой стек для написания многопользовательских игр;
  • Поддержка алгоритмов искусственного интеллекта для реализации игр с компьютерным соперником.

Кроме официального пакета, к библиотеке при необходимости к библиотеке подключаются расширения от сторонних разработчиков. Например, демонстрация плагина VisUI для проектирования оконного интерфейса:

VisUI

Создать проект очень просто, подробная инструкция размещена на официальном сайте. Там же располагается англоязычная вики-система.

К сожалению, документация (особенно русскоязычная) представлена скудно и разрозненно. Например, найти полноценный «бумажный» учебник на русском языке так и не удалось. Посему хочу выделить несколько ресурсов, которые помогут в изучении:

В завершении хочу отметить новый неожиданный для себя инструмент освоения программирования (и не только) — ChatGTP. Да-да, тот самый нашумевший за последние годы. Почему неожиданный? Поразила лёгкость, с которой нейросеть даёт тебе ответ. Просто задаёшь вопрос «А расскажи мне о…» , «А как я могу сделать…» , «А для чего нужно…» и т.д. И через минуту получаешь развёрнутый ответ с примерами. Остаётся лишь осмыслить написанное и интегрировать в свой проект. Больше не нужно тратить время на утомительный поиск в Интернете, продираться по пучинам форума, отсеивать мусор и пытаться уловить крупицы полезной информации среди бесполезного шума. Как-будто общаешься с живым умным неутомимым наставником. При должной сноровке, ChatGTP даже способен найти ошибку в коде, но всё же, здесь придётся попотеть — отладка остаётся одной из самых сложных частей в ходе разработки. Невероятно мощный ресурс для изучения практически любой темы.

А генеративные свёрточные нейросети (такие как Midjourney, Kandinsky, Dall-E) помогут с получением графической составляющей игры. Хотя бы на первое время. Вот, к примеру, персонажи для игры в Мафию, созданные Kandinsky. Всего я сгенерировал более 40 портретов для игроков за каких-то  1.5 часа — и совершенно бесплатно. Страшно представить, как долго эту работу выполнял бы «живой» художник, как сложно было бы его найти, как дорого бы он попросил за свой труд.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *