2026-04-14 00:21:03 +05:00
2026-03-23 03:46:57 +05:00
2026-03-23 03:46:57 +05:00
2026-04-14 00:21:03 +05:00
2026-03-23 05:01:16 +05:00

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‑рукопожатие (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).

Технологии

  • Ядро/нейросеть: C17 (GCC, POSIX.1).
  • Сервер: NGINX + 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.
  • IDE: VS Code(Linux), VisualStudio(Windows).

Лицензия

Apache License 2.0 — код открыт для изучения.

Контакты


Важно: проект в активной разработке. Сроки ориентировочные — зависят от свободного времени. Это дневник челленджа: фиксация прогресса, решений и находок.

Спасибо, что следите за ходом! 🍰 Пусть каждая строка кода будет шагом к победе — в своём темпе! 🎉

S
Description
Full-stack multipplayer tic-tac-toe with Neuro AI (C++, SFML, PHP/CodeIgniter, SQL, HTML/CSS/JavaScript).
https://neurox.su
Readme Apache-2.0 4 MiB
Languages
C 58%
C++ 14.7%
JavaScript 14.1%
CMake 5.8%
Kotlin 4.7%
Other 2.7%