Введение

Начинаю цикл статей о создании 2д игры-платформера, на основе документации библиотеки arcade. Вначале буду показывать самые простые этапы, могу данные этапы преобразовывать или даже удалять, в итоге будут написаны классы (это ООП) и создан exe файл.

Этапы разработки платформера

1.      Придумать идею игры

2.      Показать простые примеры для новичков в программировании (создание окна и главного героя, элементов игры, подготовка файлов и папок)

3.      Реализация механики персонажа

·       Загрузка текстур и спрайтов персонажа 

·       Реализация движения, прыжков и физики

·       Использование физического движка (PhysicsEnginePlatformer или Pymunk) 

4.      Создание карты и тайлов

·       Используйте Tiled Map Editor для создания уровней 

·       Сохраните карту в той же директории, что и код

·       Добавьте тайловые изображения в подпапку

5.      Добавление игровых элементов

·       Коллизии со стенами и платформами

·       Сбор предметов, монеты

·       Враги и взаимодействие с ними

·       Анимация персонажа

6.      Система сохранения

·       Реализация сохранения прогресса игры

·       Сохранение уровня, здоровья, предметов

7.      Уровни игры

8.      Меню игры

9.      Экспорт в EXE файл

 

Часть 1. Установка arcade, создание окна, добавление главного героя

 

_____________________________________________________________________

Сюжет: пока буду держать в секрете)))

_____________________________________________________________________

1.      Подготовка рабочего пространства

Создание нового проекта в PyCharm

Придумываем имя проекты

Определяю структуру папок (в моём случае сначала придумала идея игры, держу идею пока в секрете):

Можно создать все папки сразу, а можно постепенно, по наполняемости файлов.

Установка библиотеки arcade

·        Внизу находим Терминал, нажимаем

·        Вводим команду pip install arcade и нажимаем Enter

·        После нажатия Enter должны увидеть процесс установки, ждём пока установится

2.      Создание простого окна

Ниже информация для новичков: сначала создам простое окно игры в файле main.py 

·        Окно с синим цветом

import arcade

# Создаем окно без использования классов
window = arcade.open_window(800, 600, "Моя игра")

# Устанавливаем синий фон
arcade.set_background_color(arcade.color.BLUE)

# Начинаем рендеринг в буфер (правильный способ для статического изображения)
arcade.start_render()

# Здесь можно рисовать статические элементы
# Например: arcade.draw_circle_filled(400, 300, 50, arcade.color.RED)
arcade.draw_circle_filled(400, 300, 50, arcade.color.RED)
# Завершаем рендеринг
arcade.finish_render()

# Запускаем игровой цикл (будет повторно отображать буфер)
arcade.run()

·        Теперь фон будет в виде картинки

Картинку создаю с ии на сайте https://app.leonardo.ai/realtime-canvas

·        Создаю папки и добавляю картинку

·        Узнаю путь до картинки (ПРЕДУПРЕЖДЕНИЕ: так путь никто не пишет, я показываю данный способ для ознакомлением с абсолютным путем к картинке, в будущем исправлю на относительный, всё в душе я учитель, вот учу)

Копирую путь и изменяю код (перед кавычками поставьте букву r)

import arcade

# Создаем окно
window = arcade.open_window(800, 600, "Моя игра")
arcade.start_render()
# Загружаем текстуру фона
background = arcade.load_texture(r"D:\po\platformer_silver\ resources\image\backgrounds\abstract_1.jpg")

# Очищаем окно
window.clear()

# Рисуем фон на весь экран
arcade.draw_texture_rect(
    background,
    arcade.LBWH(0, 0, 800, 600)
)

# Завершаем рендер и запускаем игровой цикл
arcade.finish_render()
arcade.run()

3.   Добавление картинки-земли, по которой будет бегать главный герой

·        Создаю картинку и убираю фон (в поисковике набрала «удалить фон с картинки онлайн»)

Сохраняю картинку в расширении png, чтобы сохранить прозрачный фон

 

4.   Добавляю картинку главного героя

 

Продолжение в следующей части...