Проработать проект #1

Open
opened 2026-02-28 09:40:28 +00:00 by eaglebutt · 1 comment
Owner
No description provided.
eaglebutt added this to the City simulator MVP project 2026-02-28 09:40:28 +00:00
eaglebutt added reference null 2026-02-28 09:42:43 +00:00
Author
Owner

Серверная симуляция города с ветвлением времени

Референс: Cities: Skylines

Идея

Аналог Cities: Skylines, но с другой архитектурой:

  • Симуляция выполняется на сервере
  • Мир считается по тикам (например, 1 тик = 1 секунда)
  • Поддерживается ветвление времени
  • Клиент — только интерфейс для просмотра и изменения мира

Фокус: архитектура симуляции, а не графика.


Архитектура

Сервер

  • Просчет мира по тикам
  • Детерминированная логика
  • Хранение состояния
  • Создание веток
  • Симуляция только активной ветви

Клиент

  • Отображение мира
  • Создание / изменение / удаление дорог
  • Управление временной линией

Ключевые принципы

Тиковая модель

  • Фиксированный шаг времени
  • Нет real-time расчетов
  • Простота воспроизводимости

Ветвление

  • Любое изменение → новая ветка
  • Возможность отката
  • Неактивные ветки не считаются

Бесконечность

  • Активная ветка считается постоянно
  • При возврате — расчет продолжается

MVP

1. Система дорог

  • Граф дорог
  • Создание / удаление / изменение
  • Движение машин:
    • Учет других машин
    • Загруженность
    • Простые препятствия

2. Полоса времени

  • Перемещение назад
  • Загрузка состояния
  • Создание новой ветки

3. Сохранения

  • Снапшоты
  • Сохранение структуры ветвей

Цель MVP

Минимально работающая модель:

  • Есть дороги
  • Машины по ним ездят
  • Время можно откатить
  • Можно создать альтернативную ветку развития

Возможное развитие

  • Экономика
  • Зоны (жилые / коммерческие / промышленные)
  • Население
  • Event sourcing
  • Хранение diff вместо полного состояния
# Серверная симуляция города с ветвлением времени Референс: [[Cities: Skylines]] ## Идея Аналог Cities: Skylines, но с другой архитектурой: - Симуляция выполняется **на сервере** - Мир считается по **тикам** (например, 1 тик = 1 секунда) - Поддерживается **ветвление времени** - Клиент — только интерфейс для просмотра и изменения мира Фокус: архитектура симуляции, а не графика. --- ## Архитектура ### Сервер - Просчет мира по тикам - Детерминированная логика - Хранение состояния - Создание веток - Симуляция только активной ветви ### Клиент - Отображение мира - Создание / изменение / удаление дорог - Управление временной линией --- ## Ключевые принципы ### Тиковая модель - Фиксированный шаг времени - Нет real-time расчетов - Простота воспроизводимости ### Ветвление - Любое изменение → новая ветка - Возможность отката - Неактивные ветки не считаются ### Бесконечность - Активная ветка считается постоянно - При возврате — расчет продолжается --- # MVP ## 1. Система дорог - Граф дорог - Создание / удаление / изменение - Движение машин: - Учет других машин - Загруженность - Простые препятствия ## 2. Полоса времени - Перемещение назад - Загрузка состояния - Создание новой ветки ## 3. Сохранения - Снапшоты - Сохранение структуры ветвей --- # Цель MVP Минимально работающая модель: - Есть дороги - Машины по ним ездят - Время можно откатить - Можно создать альтернативную ветку развития --- ## Возможное развитие - Экономика - Зоны (жилые / коммерческие / промышленные) - Население - Event sourcing - Хранение diff вместо полного состояния
eaglebutt changed reference from null to null 2026-02-28 09:43:53 +00:00
eaglebutt removed reference null 2026-02-28 09:43:55 +00:00
eaglebutt added this to the MVP milestone 2026-02-28 09:49:57 +00:00
eaglebutt added the
enhancement
label 2026-02-28 09:50:29 +00:00
eaglebutt self-assigned this 2026-02-28 09:50:38 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: eaglebutt/CitySimulation#1
No description provided.