Компоненты симулятора

Компоненты симулятора

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

  • launcher — пользовательский интерфейс для настройки поездки и запуска игры
  • simulator — физический движок игры, выполняющий моделирование движения подвижного состава
  • viewer — графическая подсистема, реализующая функции трехмерной визуализации

За непосредственное взаимодействие с игроком отвечает viewer — он обрабатывает пользовательский ввод с клавиатуры и мыши и отображает на экране поезд и окружающую его обстановку. Viewer является «лицом» игры, но не самым важным её компонентом.

Процесс simulator несет на себе основную нагрузку, выполняя такие функции как: формирование поезда, в соответствии с выбранной пользователем конфигурацией; загрузку и инициализацию модулей подвижных единиц; математическое моделирование движения поезда и работу его систем в реальном масштабе времени; взаимодействие с графической подсистемой — прием от неё управляющих команд и передачу данных о фактическом положении поезда на участке. Именно в этом процессе крутится код модулей DLL подвижного состава, который нам предстоит научится писать.

Обмен информацией между simulator и viewer осуществляется за счет стандартных средств межпроцессного взаимодействия (IPC). В текущей версии симулятора используется общая память (shared memory), в будущих версиях наиболее вероятен переход к взаимодействию через механизм сокетов. На данном этапе можно абстрагироваться от всех этих механизмов — вся необходимая информация распределяется между компонентами симулятора без участия разработчика модулей подвижного состава. Пока важно знать следующее:

  • процесс simulator и используемые им библиотеки — это физический движок игры, технологически именуемый TrainEngine 2. Все модули подвижного состава и оборудования работают в контексте этого процесса;
  • процесс viewer — графическая подсистема игры, работающая на базе открытого графического движка OpenSceneGraph;

Назад Вперед
Содержание