TGViewer
Galactic Network Engineer Galactic Network Engineer @galacticnetworkengineer · 33 subscribers
Post #17 77
🚀 Как изменилась архитектура Galactic Network Engineer
Когда я только начал создавать игру, мне было интересно понять: получится ли у меня вообще довести эту идею до рабочего результата?
Поэтому первые промты просто добавляли в игру новый функционал. Об архитектуре кода я тогда практически не думал.
В результате игра получилась почти монолитной: большая часть геймплея, интерфейса, терминала и сетевой логики находилась в одном огромном файле game.js и нескольких тесно связанных модулях.
Проект работал, но с появлением новых уровней и механик любое изменение становилось всё сложнее и рискованнее. ⚠️

🛠 Что было сделано
Архитектура проекта прошла две большие миграции.
🌐 Сетевой движок стал единым источником истины
Вся работа сети была централизована в GNENetworkEngine:
🔹 VLAN, OSPF, BGP и статическая маршрутизация
🔹 ping и расчёт связности
🔹 состояние сетевых устройств
🔹 Cisco-подобный CLI
🔹 таблицы маршрутизации и топология
Более того, сетевой движок теперь можно перенести из GNE в другую программу.
Я изначально предполагал, что хороший сетевой симулятор может пригодиться мне и в других проектах. Для его тестирования и развития я даже создал отдельную браузерную программу наподобие Cisco Packet Tracer.
В ней можно создавать сетевые устройства, соединять их между собой, настраивать через CLI и проверять связность.
После того как движок был протестирован и доработан отдельно, я внедрил его обновлённую версию обратно в игру.
Теперь миссии, терминал и интерфейс используют одно и то же состояние сети — без дублирования логики.

🧩 Монолитный game.js был разделён на подсистемы
Из него постепенно вынесли:
🔹 игровые состояния и миссии
🔹 взаимодействие игрока
🔹 терминал и его view-models
🔹 инвентарь, кирку и реактивный ранец
🔹 сохранение и восстановление состояния
🔹 каталоги уровней, предметов, способностей и устройств
Теперь контроллеры принимают решения и формируют планы действий, а game.js в основном координирует работу подсистем и применяет игровые эффекты: физику, анимации, сообщения и изменения игрового мира.

✅ Результат
Архитектура стала модульной и расширяемой:
🧠 правила находятся в контроллерах
📚 контент — в каталогах
🌐 сеть — в отдельном движке
💾 сохранение — в отдельном pipeline
🎮 game.js — orchestration layer

Текущий этап архитектурной миграции завершился в версии v581 со статусом:
🟢 MIGRATION_COMPLETE
Теперь новые уровни, предметы, способности и сетевые устройства можно добавлять безопаснее, не превращая основной файл игры в ещё больший монолит. 🌌🔧
Но на этом работа не заканчивается. В планах ещё третий этапа миграции, чтобы продолжить отделять игровые модули от game.js и сделать архитектуру проекта ещё более независимой и масштабируемой.
  • 🔥 5
More from @galacticnetworkengineer
  1. Sep 21, 2026Обещанный релиз Galactic Network Engineer для первых тестеров немного задерживается. Перед…
  2. Sep 18, 2026Продолжаю готовить Galactic Network Engineer к первому релизу. Несколько сетевых инженеров…
  3. Sep 15, 2026Ну что, Galactic Network Engineer уже в онлайне 🚀 Игра запущена на сервере, но доступ пок…
  4. Sep 12, 2026Вчера я писал пост о том, как бодро занялся архитектурной миграцией Galactic Network Engin…
  5. Sep 11, 2026Сразу после окончания конференции я буквально засел за большую миграцию архитектуры Galact…
  6. Sep 10, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →