17

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.

Первому игроку приготовиться!

--

* - История портирования игры

Уголок ретрогеймера

3.9K постов13.1K подписчиков

Правила сообщества

Регистрационный номер: № 5416719577

Правила сообщества:
1. Игры вне религии и политики

2. Уважайте игровые предпочтения других пользователей

3. Любые оскорбления других пользователей запрещены

4. Пустые и бессмысленные посты запрещены и кидаются в общую ленту

5. Игры, которые не относятся к категории ретро будут переносится в Лигу Геймеров или общую ленту Пикабу

6. Реклама любой продукции и сервисов без согласования запрещена

7. Любой поиск игр происходит в Лиге Потерянных Игр:
https://pikabu.ru/community/lost_games

9. Все договоренности игры по сети происходят в сообществе Онлайн ретро-игр:

https://pikabu.ru/community/ori