Skip to content

nullptroma/Tic-Tac-Toe-AR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tic-Tac-Toe-AR

Мобильная игра "Крестики-нолики" в дополненной реальности на Unity с ECS-архитектурой.

Что это

Tic-Tac-Toe-AR - AR-версия классической игры, где поле рендерится поверх реального мира через AR Foundation. Проект построен на LeoECS + UniLeo, чтобы разделять данные и системы и упростить расширение (новые режимы, боты, мультиплеер, доп. UI).

Возможности

  • Игра в двух режимах: Игрок vs Игрок и Игрок vs Бот.
  • Несколько уровней сложности бота: Easy, Normal, Hard + Tournament.
  • Режим турнира со статистикой лучших результатов.
  • Сохранение пользовательских данных (PlayerPrefs): настройки, статистика, турнирные результаты.
  • Работа в AR на устройстве и fallback-режим для редактора (EditorOrAR).
  • Навигация по UI и игровой цикл реализованы через ECS-системы.

Технологии

  • Unity 2021.3.4f1
  • AR Foundation 4.2.3
  • ARCore 4.2.3 (Android)
  • ARKit 4.2.3 (iOS)
  • Leopotam.Ecs
  • UniLeo (конвертация Unity-компонентов в ECS)
  • TextMeshPro

Быстрый старт

1) Клонируйте проект

git clone <your-repo-url>
cd Tic-Tac-Toe-AR

2) Откройте в Unity

  • Запустите Unity Hub.
  • Добавьте папку проекта.
  • Откройте проект в версии 2021.3.4f1.
  • Дождитесь импорта пакетов.

3) Запуск в редакторе

  • Откройте сцену Assets/Scenes/Menu/Menu.unity.
  • Нажмите Play.
  • В редакторе автоматически включается не-AR-режим (см. EditorOrAR), чтобы можно было тестировать без устройства.

Сборка на устройство (AR)

Android (ARCore)

  • File -> Build Settings -> Android -> Switch Platform.
  • Добавьте сцены в Build:
    • Assets/Scenes/Menu/Menu.unity
    • Assets/Scenes/Game/Game.unity
  • Проверьте XR Plug-in Management и включенный ARCore.
  • Соберите APK/AAB и установите на устройство с поддержкой ARCore.

iOS (ARKit)

  • File -> Build Settings -> iOS -> Switch Platform.
  • Убедитесь, что включен ARKit в XR Plug-in Management.
  • Сделайте билд Xcode-проекта и запустите на устройстве с поддержкой ARKit.

Игровая логика и архитектура

Проект разделен на два ECS-контекста:

  • Menu:
    • инициализация UI меню;
    • выбор режима игры и сложности бота;
    • выбор маркера и переход в игровую сцену.
  • Game:
    • инициализация игроков и конфигурации партии;
    • игровой цикл (ходы, проверка конца игры, статистика);
    • обновление UI и визуальных эффектов клеток;
    • работа с ботами через отдельные стратегии.

Ключевые точки входа:

  • Assets/Scenes/Menu/MenuEcsStartup.cs
  • Assets/Scenes/Game/GameEcsStartup.cs

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

Assets/
  Scenes/
    Menu/      # меню, выбор режима/бота/маркера, навигация
    Game/      # игровая сцена, AR-объекты, поле, боты, UI, циклы игры
  PlayerData.cs # сохранение статистики и настроек
Packages/
  manifest.json # зависимости Unity-проектa
ProjectSettings/
  ProjectVersion.txt

Данные и настройки

Сохраняются через PlayerPrefs:

  • статистика против Easy, Normal, Hard;
  • пользовательские настройки (музыка/звук, формат даты и времени);
  • таблица результатов режима Tournament.

Сброс доступен из меню настроек.

Разработка

  • Основные сцены проекта уже добавлены в Build Settings.
  • Логика по системам распределена по папкам Menu/Systems и Game/Systems.
  • Для новых механик лучше добавлять:
    • отдельные компоненты данных;
    • отдельные ECS-системы;
    • инъекцию зависимостей через существующие *EcsStartup.

Идеи для развития

  • Онлайн-мультиплеер.
  • Более продвинутый ИИ (minimax/alpha-beta).
  • Гибкая настройка размера поля и условий победы.
  • Синхронизация профиля/статистики через облако.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors