OpenTTD (14) в браузере + Сетевые игры
Всем привет! Удивитесь вы или нет, но я был первый кто запустил OpenTTD в браузер, и было это аж 2012 году (*). Оказывается в youtube даже сохранилось видео этой сборки:
На тот момент игра работала в разрешении 800x600 и с трудом давала 24 фпс (в видео заметно лагает курсор). С тех пор прошло 12 лет, сообщество OpenTTD стремительно развивало проект, системы компиляции C++ в js развались, появился WebAssembly.
Сегодня, OpenTTD скомпилировать в браузер может каждый, соответствующие опции включены в основной код игры. Однако, что бы все работало из коробки нужно скачать дополнительные ресурсы, скрипты и запустить серверную инфраструктуру для поддержки сетевых игр.
release-14 был издан буквально неделю назад. Его-то я и взял за основу. Итоговая сборка работает быстро благодаря WebAssembly, и позволяет играть практически на любом разрешении экрана. В игру включены:
Свободная графика (newgrf)
Свободная музыка (open-msx)
Свободные звуки (open-sfx)
AI: AdmiralAI, AiAi, ChooChoo, DictatorAi, FastPTPAI, MogulAI, NoCAB, RoadRunner, Rondje, SimpleAI, TrackAI, trAlns
3 многопользовательских сервера для игры по сети
Игра сохраняет свои прогресс в хранилище браузера, т.е. пока вы играете на том же браузере ваш прогресс будет сохранен.
Почему я не обновлял игру 12 лет? Первый порт имел много значительных изменений относительно оригинально кода игры, и со временем это ком изменений копился делая процесс обновления все сложнее и сложнее. По факту пришлось заниматься поритрованием с чистого листа, но я потратил время что бы сделать все правильно, и теперь надеюсь регулярно обновлять игру в соответствии с новыми релизами OpenTTD.
--