Files
neurox/README.md
T
2026-03-23 04:52:45 +05:00

183 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 + БД) — 23 месяца
* 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‑рукопожатие (2048 бит, OpenSSL);
* динамический XOR (смена ключа по таймеру/счётчику);
* проверка целостности пакетов (CRC32);
* тесты на утечку памяти и производительность.
### Этап 5. Android‑клиент (Kotlin + NDK) — 46 месяцев
* 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) — 46 недели.
4. **Android‑клиент** (Kotlin + NDK) — 58 недель.
5. **Интеграция и тестирование** — 23 недели.
6. **Доработка и релиз MVP** — 12 недели.
## Технологии
* **Ядро/нейросеть:** 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 и код могут меняться. Это дневник челленджа — фиксация прогресса и решений.
Спасибо, что следите за ходом! 🍰 Пусть каждая строка кода будет шагом к победе! 🎉