Техническое задание: Разработка игры "Нарды" на Unity

Основные цели проекта

Создание полнофункциональной 2D-версии классической игры нарды для платформы Unity. Проект включает разработку игровой логики, искусственного интеллекта для игры против компьютера и сетевого режима для игры между двумя реальными игроками. Финальным этапом является интеграция готового продукта в нативное приложение социальной сети.

Ключевые функциональные требования

1. Игровой процесс и интерфейс

  • Реализация классических правил игры в нарды (длинные).
  • Создание интуитивно понятного 2D-интерфейса с доской, шашками и кубиками.
  • Разработка системы подсчета очков и отображения истории ходов.
  • Реализация системы подсказок для допустимых ходов.

2. Режимы игры

  • Игра против ИИ (бота): Возможность играть против компьютерного оппонента.
  • Онлайн-режим 1 на 1: Сетевая игра между двумя пользователями в реальном времени.

3. Искусственный интеллект (Бот)

  • Реализация ИИ с тремя настраиваемыми уровнями сложности:
    • Легкий: Бот совершает случайные допустимые ходы.
    • Средний: Бот использует базовую стратегию и оценку позиции.
    • Сложный: Бот применяет продвинутые алгоритмы для принятия решений (например, на основе дерева решений или оценочной функции).

4. Сетевая составляющая

  • Разработка стабильного онлайн-режима для парной игры.
  • Реализация системы подбора соперника или игры по приглашению.
  • Обеспечение синхронизации состояния игры между клиентами.

5. Интеграция

  • Подготовка игры к интеграции в нативное приложение социальной сети.
  • Обеспечение корректной работы в рамках среды социальной платформы.

Технические требования

  • Движок: Unity (актуальная стабильная версия).
  • Язык программирования: C#.
  • Графика: 2D.
  • Сетевое решение: На выбор исполнителя (Photon PUN, Mirror, Socket.IO и т.д.) с обоснованием.
  • Код должен быть чистым, модульным и документированным.

Модернизация и оптимизация клиента онлайн-игры

Требуется глубокая переработка исходного кода клиента игры для перехода на современные графические API, оптимизации производительности и ревизии файловой системы. Необходимо обеспечить поддержку современных ОС и 64-битной архитектуры.