Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐦 BirdHero

Unity C# Platform License

Аркадная мобильная игра с птичкой, где точность и тайминг решают всё

ОсобенностиТехнологииАрхитектураУстановка


📖 О проекте

BirdHero (BirdStick) — это динамичная аркадная игра для мобильных устройств, разработанная на Unity. Игрок управляет птичкой, которая должна точно приземляться на движущиеся платформы различного размера. Чем точнее приземление, тем больше очков!

🎮 Геймплей

  • Точные прыжки: Приземляйтесь в центр круга для максимальных очков
  • Процедурная генерация: Бесконечная игра с динамически создаваемыми платформами
  • Система скинов: Разблокируйте новых персонажей из яиц
  • Система заданий: Выполняйте задания для прогресса
  • Рекорды: Отслеживайте свои лучшие результаты

✨ Особенности

Игровая механика

  • Динамический геймплей: Процедурная генерация уровней с изменяющимся размером платформ
  • Система точности: Оценка приземления (точное/неточное попадание)
  • Физика: Реалистичное движение птички с использованием Rigidbody2D
  • Анимации: Плавные анимации крыльев и движения

UI/UX

  • Адаптивный интерфейс: Оптимизирован для различных разрешений экранов
  • Анимированное меню: Плавные переходы и эффекты с DOTween
  • Система пауз: Удобное меню паузы в игре
  • Визуальные эффекты: Эффекты освещения и частиц

Системы менеджмента

  • ScoreManager: Управление очками, рекордами и статистикой
  • LevelGenerator: Динамическая генерация игровых объектов
  • SkinManager: Система разблокировки и выбора персонажей
  • TaskManager: Система заданий и прогрессии
  • CameraManager: Управление камерой и следованием за игроком

Сохранение данных

  • PlayerPrefs: Локальное хранение прогресса, рекордов и разблокированных скинов

🛠 Технологии

Основной стек

Технология Версия Назначение
Unity 2021.2.12f1 Игровой движок
C# 9.0 Язык программирования
DOTween Latest Анимации и твининг
TextMesh Pro 3.0.6 Рендеринг текста

Unity Packages

Основные пакеты

  • com.unity.2d.animation (7.0.3) - 2D анимации
  • com.unity.2d.sprite (1.0.0) - Работа со спрайтами
  • com.unity.2d.spriteshape (7.0.3) - Создание форм из спрайтов
  • com.unity.2d.tilemap (1.0.0) - Система тайлмапов
  • com.unity.2d.pixel-perfect (5.0.1) - Пиксель-перфект рендеринг
  • com.unity.2d.psdimporter (6.0.2) - Импорт PSD файлов

Разработка и инструменты

  • com.unity.recorder (3.0.3) - Запись геймплея
  • com.unity.test-framework (1.1.31) - Юнит-тестирование
  • com.unity.timeline (1.6.3) - Система Timeline

IDE интеграции

  • com.unity.ide.rider (3.0.12) - JetBrains Rider
  • com.unity.ide.visualstudio (2.0.15) - Visual Studio
  • com.unity.ide.vscode (1.2.5) - Visual Studio Code

Внешние активы

  • Polygon Arsenal - 3D модели
  • Polygon Particles - Система частиц
  • Simple Scroll-Snap - UI скроллинг

🏗 Архитектура

Паттерны проектирования

1. Event-Driven Architecture

Использование статических событий (Actions) для слабосвязанной коммуникации между компонентами:

// BirdController.cs
public static Action OnStartGame;
public static Action OnJumped;
public static Action OnDead;

// LevelGenerator.cs подписывается на события
BirdController.OnJumped += GenerateNext;
BirdController.OnDead += GenerateStart;

2. Singleton Pattern

Менеджеры используют паттерн Singleton для глобального доступа

3. Object Pooling

Эффективное переиспользование игровых объектов

Структура проекта

BirdHero/
├── Assets/
│   ├── Scripts/                 # Игровая логика
│   │   ├── BirdController.cs    # Управление птичкой
│   │   ├── LevelGenerator.cs    # Генерация уровней
│   │   ├── ScoreManager.cs      # Система очков
│   │   ├── SkinManager.cs       # Управление скинами
│   │   ├── MenuManager.cs       # UI менеджер
│   │   └── Tasks/               # Система заданий
│   ├── Scenes/                  # Сцены Unity
│   │   ├── Menu.unity           # Главное меню
│   │   └── Gameplay.unity       # Игровая сцена
│   ├── Sprites/                 # 2D графика
│   ├── Prefabs/                 # Префабы
│   ├── Anims/                   # Анимации
│   └── Plugins/                 # Внешние плагины
│       └── Demigiant/DOTween/   # DOTween библиотека
├── ProjectSettings/             # Настройки Unity
└── Packages/                    # Unity Package Manager

Ключевые компоненты

🎯 BirdController

Основной контроллер персонажа, управляющий:

  • Физикой движения
  • Анимацией крыльев
  • Обработкой ввода
  • Взаимодействием с платформами

🎲 LevelGenerator

Процедурная генерация игрового пространства:

  • Создание платформ случайного размера
  • Динамическое позиционирование
  • Управление сложностью

📊 ScoreManager

Централизованная система подсчёта очков:

  • Текущий счёт и рекорды
  • Статистика игр
  • Прогресс заданий

🎨 SkinManager

Система кастомизации персонажа:

  • Разблокировка новых скинов
  • Визуализация яиц
  • Сохранение прогресса

🚀 Установка

Требования

  • Unity 2021.2.12f1 или выше
  • Visual Studio 2019/2022 или JetBrains Rider
  • Android SDK (для Android сборки)
  • Xcode (для iOS сборки, только macOS)

Шаги установки

  1. Клонируйте репозиторий
git clone https://github.com/Asort97/BirdHero.git
cd BirdHero
  1. Откройте проект в Unity Hub
  • Запустите Unity Hub
  • Нажмите "Add" и выберите папку проекта
  • Убедитесь, что установлена версия Unity 2021.2.12f1
  1. Откройте проект
  • Выберите проект в Unity Hub
  • Дождитесь импорта всех ассетов
  1. Настройка DOTween (если требуется)
  • После первого открытия проекта может появиться окно настройки DOTween
  • Следуйте инструкциям мастера установки

Запуск проекта

  1. Откройте сцену Assets/Scenes/Menu.unity
  2. Нажмите кнопку Play в редакторе Unity
  3. Для тестирования на устройстве:
    • Android: File → Build Settings → Android → Build and Run
    • iOS: File → Build Settings → iOS → Build (требуется Xcode)

🎯 Навыки и технологии

Этот проект демонстрирует следующие навыки разработки:

Разработка на Unity

  • ✅ Работа с Unity Engine 2021.2
  • ✅ 2D разработка (Sprites, Animations, Physics2D)
  • ✅ Работа с Canvas и UI системой Unity
  • ✅ Управление сценами и переходами

Программирование на C#

  • ✅ Объектно-ориентированное программирование
  • ✅ Event-Driven архитектура
  • ✅ Работа с делегатами и событиями (Actions, Events)
  • ✅ Управление жизненным циклом компонентов
  • ✅ Работа с coroutines

Игровая разработка

  • ✅ Процедурная генерация контента
  • ✅ Игровая физика и механики
  • ✅ Система сохранений (PlayerPrefs)
  • ✅ Система достижений и заданий
  • ✅ UI/UX разработка для мобильных игр

Паттерны и архитектура

  • ✅ Event-Driven Architecture
  • ✅ Singleton Pattern
  • ✅ Object Pooling
  • ✅ Component Pattern
  • ✅ Observer Pattern

Мобильная разработка

  • ✅ Оптимизация для мобильных устройств
  • ✅ Touch input обработка
  • ✅ Адаптивный UI
  • ✅ Сборка для Android/iOS

Инструменты и библиотеки

  • ✅ DOTween (анимации и твининг)
  • ✅ TextMesh Pro (текстовый рендеринг)
  • ✅ Unity Package Manager
  • ✅ Version Control (Git)

📱 Платформы

  • Android: API Level 19+ (Android 4.4+)
  • iOS: iOS 11.0+
  • Тестирование: Unity Editor

📈 Статус разработки

  • Основная игровая механика
  • Система меню
  • Система скинов
  • Система заданий
  • Сохранение прогресса
  • Звуковые эффекты
  • Визуальные эффекты
  • Система лидерборда (в планах)
  • Система достижений (в планах)
  • Мультиплеер (в планах)

🤝 Контакты

Разработчик: Asort97


📄 Лицензия

Этот проект создан на заказ.


Сделано с ❤️ на Unity

⭐ Если вам понравился проект, поставьте звезду!

About

A arcade game for order about bird, Unity

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages