# NeurOX: Крестики‑нолики с ИИ (личный челлендж) 🔧 Личный проект‑вызов: создать полностековую игру «Крестики‑нолики» с самообучающимся ИИ и шифрованием трафика. Цель — проверить собственные навыки на всех уровнях стека: от низкоуровневого C до мобильного клиента. **Почему это вызов** Полный типовой стэк разработки с нуля с минимумом библиотек, главный упор на эффективность кода. Основная цель - запустить полноценный сервис с минимумом затрат в условиях крайне ограниченных системных и временных ресурсов. ## Суть челленджа Собрать систему «с нуля», в минималистичном стиле с мнимумом инструментов: * нейросеть на чистом C (без ML‑библиотек); * ядро игры с ручным управлением памятью; * NGINX + PHP + CodeIgniter (REST API); * десктоп‑клиент на C++/SFML; * Android‑клиент Java/Kotlin; * сетевая связь по TCP/IP; * шифрование: RSA (2048 бит) для рукопожатия + динамический XOR для данных. ## Для кого этот проект * подойдёт для изучения новичкам * для себя - восстановление навыков ## Дисклеймер * В коде может, вернее - будет, использоваться неочевидная логика * Если вы считаете что я где-то что-то сделал не по фэн-шую - я эстет, но в плане эффективности * Если когда-нибудь кто-нибудь найдёт совпадение названия проекта и репозитория нарушением авторских прав - Бог Вам судья =) * Проект личный, код открытый, милости просим, заходите и смотрите. ## Текущий статус Проект стартует с чистого листа. На данный момент: * определена архитектура системы; * выбран стек технологий; * начата работа над ядром на C. **Что предстоит:** * реализовать базовую логику игры (3×3); * написать нейросеть на C (обучение на партиях); * создать REST API на PHP для связи компонентов; * разработать десктоп‑ и Android‑клиенты; * внедрить схему шифрования; * интегрировать все части в единую систему. ## Реалистичный план этапов (дорожная карта) **Принцип планирования:** * работа ведётся небольшими сессиями (30–60 минут) в свободное время; * приоритет — последовательность, а не скорость; * каждый этап завершается минимально жизнеспособным результатом (MVP‑подход); * гибкость: этапы можно менять местами или дробить на подзадачи. ### Этап 1. Ядро на C (логика + нейросеть) — 3–4 месяца * базовая логика игры (3×3 доска, проверка победы); * простая нейросеть (3 слоя, сигмоида, обучение на 100+ партиях); * консольный режим для тестирования; * битовые маски для оптимизации доски. ### Этап 2. Сервер на PHP (API + БД) — 2–3 месяца * REST API (`/start_game`, `/make_move`, `/get_state`); * интеграция с ядром через Unix‑сокеты; * SQLite для хранения партий и статистики; * логирование запросов. ### Этап 3. Десктоп‑клиент (C++/SFML) — 3–4 месяца * базовый UI (доска 3×3, кнопки); * связь с сервером по TCP/IP; * анимация ходов и победы; * кэширование состояния для офлайн‑режима. ### Этап 4. Шифрование (RSA + XOR) — 1–2 месяца * RSA‑рукопожатие (256 бит, OpenSSL); * динамический XOR (смена ключа по таймеру/счётчику); * проверка целостности пакетов (CRC32); * тесты на утечку памяти и производительность. ### Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев * MVP: доска 3×3 и связь с сервером; * вызов C‑библиотеки через JNI; * поддержка шифрования; * оптимизация под мобильные устройства. ### Этап 6. Интеграция и тестирование — 2–3 месяца * синхронизация состояния между десктопом и Android; * стресс‑тест (10+ одновременных игр); * отладка многопоточности; * финальная оптимизация. ### Этап 7. Релиз MVP — 1 месяц * сборка дистрибутивов (Windows, Linux, Android); * документация для запуска; * публикация демо‑видео. --- ## Гибкость и адаптация **Если времени меньше:** * пропускаю Android‑клиент — фокусируюсь на десктопе; * заменяю RSA на OpenSSL (готовые функции); * упрощаю нейросеть до минимакса; * откладываю динамический XOR на будущее. **Если появляется больше времени:** * ускоряю этапы за счёт увеличения сессий; * добавляю фичи (режим PvP, статистика, темы UI). ## Технологии * **Ядро/нейросеть:** C (GCC, POSIX). * **Сервер:** PHP 8.3+ + CodeIgniter. * **Десктоп‑клиент:** C++17 + SFML 2.5. * **Android‑клиент:** Kotlin + Android NDK. * **Сеть:** TCP/IP, Unix‑сокеты (Web ↔ TCP/IP Сервер ↔ Ядро). * **Шифрование:** RSA 2048 бит, XOR с динамическим ключом. * **БД:** MySQL 8.0+. * **Инструменты:** Git, CMake, Makefile. ## Лицензия Apache License 2.0 — код открыт для изучения. ## Контакты * GitHub: [@felex67](https://github.com/felex67) * Email: ваш_email@example.com --- **Важно:** проект в активной разработке. Сроки ориентировочные — зависят от свободного времени. Это дневник челленджа: фиксация прогресса, решений и находок. Спасибо, что следите за ходом! 🍰 Пусть каждая строка кода будет шагом к победе — в своём темпе! 🎉 # Neurox: Крестики‑нолики с ИИ (личный челлендж) 🔧 Личный проект‑вызов: создать полностековую игру «Крестики‑нолики» с самообучающимся ИИ и шифрованием трафика. Цель — проверить собственные навыки на всех уровнях стека: от низкоуровневого C до мобильного клиента. ## Суть челленджа ## Текущий статус Проект стартует с чистого листа. На данный момент: * определена архитектура системы; * выбран стек технологий; * начата работа над ядром на C. **Что предстоит:** * реализовать базовую логику игры (3×3); * написать нейросеть на C (обучение на партиях); * создать REST API на PHP для связи компонентов; * разработать десктоп‑ и Android‑клиенты; * внедрить схему шифрования; * интегрировать все части в единую систему. ## План этапов (дорожная карта) 1. **Ядро на C** (логика + нейросеть) — 1–2 месяца. 2. **Сервер на PHP** (API + БД) — 3–4 недели. 3. **Десктоп‑клиент** (C++/SFML) — 4–6 недели. 4. **Android‑клиент** (Kotlin + NDK) — 5–8 недель. 5. **Интеграция и тестирование** — 2–3 недели. 6. **Доработка и релиз MVP** — 1–2 недели. ## Технологии * **Ядро/нейросеть:** C (GCC, POSIX). * **Сервер:** PHP 8.3+ + CodeIgniter. * **Десктоп‑клиент:** C++17 + SFML 2.5. * **Android‑клиент:** Kotlin + Android NDK. * **Сеть:** TCP/IP, Unix‑сокеты (Web ↔ TCP/IP Сервер ↔ Ядро). * **Шифрование:** RSA 2048 бит, XOR с динамическим ключом. * **БД:** MySQL 8.0+. * **Инструменты:** Git, CMake, Makefile. ## Лицензия Apache License 2.0 — код открыт для изучения. ## Контакты * GitHub: [@felex67](https://github.com/felex67) * Email: admin@felexdev.ru, felexxx67@yandex.ru --- **Важно:** проект в активной разработке. Структура папок, API и код могут меняться. Это дневник челленджа — фиксация прогресса и решений. Спасибо, что следите за ходом! 🍰 Пусть каждая строка кода будет шагом к победе! 🎉