Update README.md
This commit is contained in:
@@ -1,2 +1,182 @@
|
||||
# neurox
|
||||
Full-stack tic-tac-toe with Neuro AI (C++, SFML, PHP/CodeIgniter, SQL, HTML/CSS/JavaScript).
|
||||
# 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 и код могут меняться. Это дневник челленджа — фиксация прогресса и решений.
|
||||
|
||||
Спасибо, что следите за ходом! 🍰 Пусть каждая строка кода будет шагом к победе! 🎉
|
||||
|
||||
Reference in New Issue
Block a user