Skip to content

VectorGCC/cyber-cat

Cyber Cat (Кибер кот)

Лицензии:

Игра с решением олимпиадных задач по программированию на языке Си. Вы играете котом в университете, помогаете студентами преподавателям - решая задачи на языке Си.

Если что-то не работает, документация не актуальна или есть проблемы с лицензиями, пожалуйста, свяжитесь со мной по адресу karim.kimsanbaev@gmail.com

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

  1. Установите Unity версии 2020.3.27f (тут нажмите на Install this version with Unity Hub или найдите версию и установите самостоятельно здесь)
  2. Склонируйте репозиторий
  3. Откройте
  4. Возле кнопки "Воспроизведения" в Unity - выберите Serverless.
  5. Запустите сцену MainScene

Как запустить проект с сервером в докере

  1. Установите докер декстоп
  2. Выполните backend/CyberCatServer/start_dev_server_in_docker.sh
  3. Сервер будет доступен на localhost:80
  4. В Unity
  5. Возле кнопки "Воспроизведения" в Unity в выпдпающем списке - выберите Localhost
  6. Запустите сцену MainScene

Архитектура

Клиент-серверная архитекутра. Клиент - Unity. Сервер - Asp Net Core (микросервисы). Большая часть кода покрыта тестами. Почти весь серверный код покрыт тестами

  • Клиент
    • Unity
    • UniTask
    • Zenject
    • Bonsai Behaviour Tree (деревья поведений, подключен как саб репозиторий)
    • ApiGateway.Client.dll (SDK для связи с сервером)
    • InGameCodeEditor (платный ассет, редактор кода)
    • Тесты, в том числе и тесты ApiGateway.Client.Tests.dll запускается внутри Unity
  • Сервер
    • Комплияция и выполнение кода на языке Си
    • MongoDb
    • Авторизация через JWT токены
    • Docker
    • Grpc (protobuf-net)
    • E2E (ApiGateway.Client.Tests.dll) и интеграционные для отдельных микросервисов

Apache v2.0 (Kimsanabev Karim)

Ассет, используемые для редактора кода Если вы используете этот проект, вы так же обязаны купить право на использование данного ассета. Купить можно здесь

Участники проекта и контрибьюторы

ФИО Роль Контакты для связи
Кимсанбаев Карим Team Lead LinkedIn или karim.kimsanbaev@gmail.com
Крылов Кирилл Backend Programmer https://kee-reel.com/
Карпинский Артем Programmer of Gameplay artem.karpinsky21@gmail.com
Пекуш Даниил Programmer of Server (Backend) dap0602@mailru
Ермолаев Святослав Programmer of code editor ledumblasphemus@gmail.com
Востриков Виталий 3D Artist talytriko@gmail.com
Слава Снегирев Leve Designer slavick.snegirev@icloud.com
Миша Лукашев Game Designer boyskyfall@vk.com