Ninja Platformer
Галлямов Камиль и Аскаров Эмиль
Динамичная игра-платформер с «околопиксельной» графикой, имеющая минималистичное и интуитивно понятное меню. С выбором главного персонажа и большим кол-вом разнообразных врагов и бонусов.
Главным классом, над которым велась основная работа является класс главного героя. В нём прописаны коллизии со всеми предметами в игре, большее кол-во анимаций. Каждый главный персонаж имеет разные характеристики. Всего их – 4. Так же есть 8 врагов, некоторые из которых имеют особую механику. Существует 3 класса-буста: зелья, дающие прибавку в скорости или уроне, рюкзак с сюрикенами (оружием ГГ) и фрукты, которые исцеляют героя. И пара ловушек: пила (движется по платформам, не останавливаясь) и шипы.
- Специальный класс-помощник по работе со звуком во всей игре
- Искусственно созданная голова врага в виде прямоугольника (pygame.sprite.rect) – своеобразный хитбокс
- Меню, предоставляющее возможности переключения или переигрывания уровня, выбора главного героя
- Закрытая система уровней. Пока не пройдёшь первый, не попадёшь на второй
- Стили для меню в формате JSON
- Имитирование частиц пыли из-под ног персонажа
- Специфический ИИ для врага-хамелеона, который движется в сторону героя
- Двойной прыжок.
6. Описание технологий. Осуществлена обработка исключений, работа с файлами, изображениями, анимацией и звуком.
В ходе написания кода были использованы библиотеки (модули):
- Pygame – непосредственно для реализации самой игры
- Pyganim – удобная работа с анимациями
- Pygame-gui – работа с меню
- Os – работа с файловой системой (проверка на существование файла и т.д.)
- Random – для выбора случайных бустов
- Pygame.mixer – управление звуком
- Collections – для удобного хранения данных