2D игры на Golang c Ebiten. Введение

Решил попробовать пописать простые 2D игры на Golang. Основная цель — развлечение и более углубленное понимание того как можно писать простые любительские 2D игры на Go.

В начале пути

Скорее всего это будет цикл небольших, но полезных статей для всех интересующихся 2D играми и Golang. Первое, что нам необходимо решить — каким инструментом мы будем пользоваться для разработки игры. Я остановился на довольно простом игровом фреймворке — Ebiten. Основная идея библиотеки — все что есть это просто изображение. Порядок, позиция, угол наклона и масштаб зависит от вашей игровой логики.

Игровой цикл:

  1. Инициализация игровых объектов
    1. Повторить:
    2. Проверка пользовательского ввода, данных по сети.
    3. Обновление игрового мира (один тик)
    4. Отрисовка

Цикл повторяется много много раз в секунду (тики): обновление координат игроков в зависимости от игровой логики, отрисовка и так далее. Итого задача сводится к инициализации игрового мира, ведения расчетов и отрисовки.

В Ebiten это сделано довольно элегантно. Ниже мой измененный пример базовой игровой структуры:

Итого вся логика будет написана в нашей структуре Game:

В следующих статьях рассмотрим более подробнее пользовательское взаимодействие, отрисовку игровых объектов, расчет коллизий.

Leave a Comment

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.