13

Оживление покойника

Примерно в 1997 году, когда мне было 12 лет, у меня появился мой первый компьютер 80386SX. В 1993 году появились первые Pentium-ы, но а у нас хватило денег только на это "старьё". По тем временам этот компьютер считался уже устаревшим, так как 80386SX вышел в 1988.

Одна из первых игр, которую я прошёл от и до с большим удовольствием на моём первом ПК - это игра 1995 года под названием Tyrian:

Кадры из игры Tyrian

Tyrian - это аркадный вертикальный скроллер, разработанный компанией Eclipse Productions под DOS. Игра, кстати, была выпущена издателем Epic Megagames, который в будущем переименовался в Epic Games и наверняка многие знают эту компанию сегодня. В 1999 году игра была переиздана как Tyrian 2000. А позже появился опенсорсный порт OpenTyrian, который я несколько раз перепрошёл на современном ПК и даже на макбуке с огромным удовольствием.

Игра приносит удовольствие благодаря своей простоте и возможности перед каждым уровнем прокачивать 3 вида оружия, корабль, генератор и щит. Буквально после каждой пройденной миссии ты можешь вдоволь поиграться с ползунками прокачки своих орудий и подобрать оптимальное сочетание разброса и мощи под следующих противников. А ещё после каждого уровня появляются новые виды девайсов, коих в игре огромное множество.

Меню прокачки оружия и брони

Однако 2 вещи меня расстраивали в этой игре на протяжении 30+ лет.
1. В ней нет возможности выбора языка и никто никогда не выпускал локализаций для этой игры. А в игре есть что-то типа кат-сцен иногда и сообщений (писем), которые приходят каждый уровень. Мне всегда было интересно знать смысл истории, но скудные знания английского не позволяли отчётливо понимать литературный английский текст.
2. Я так и не смог поиграть в сетевой режим (Modem/Network Game). В 1997 году у меня ещё не было модема. А когда появился Pentium 166 и модем - уже была эра Windows 98. Друзья играли в более современные игры под Windows и найти союзника с модемом и желанием играть в это старьё - не удалось. А в текущих реалиях это стало невозможным, так как игра поддерживает только игру по модему, serial кабелю и протоколу IPX, который давно мёртв. Его вытеснил более современный TCP/IP.

Меню сетевой игры

Меню сетевой игры

Поскольку я являюсь программистом со стажем 20+ лет профессиональным вайбкодером, а не так давно вышла обновлённая нейросеть Grok 4.5 от xAI, заточенная под задачи, связанные с разработкой, я подумал - чёрт возьми, Илон Маск! Ты должен осуществить мою мечту, твой выход!

Я решил немного оживить легендарную игру и добавить следующие возможности:

  1. Возможность играть в неё в браузере, в том числе с мобильных устройств (к слову, такая возможность была и раньше, через DOSBox). Но без адаптации под мобильные экраны и тач управление.

  2. Добавить поддержку мультиязычности, чтобы в настройках можно было выбирать язык.

  3. Сделать русский перевод всей игры.

  4. Добавить возможность играть по сети, через интернет. Функцию создания комнат, в которые другой игрок может заходить.

И за пару дней мне удалось это сделать на платной подписке Cursor с Grok 4.5!

Tyrian 2000, русский язык

Так я узнал, что главного героя игры зовут Трент. И что ему периодически пишет Мама, помимо прочего :D

Сообщения в меню игры Данные

Сообщения в меню игры Данные

Ну и периодически можно найти полезные предупреждения касательно следующей миссии

Инфо в игре Tyrian 2000

Инфо в игре Tyrian 2000

Сложность перевода заключалась в том, что шрифт в игре - это по сути "спрайты", а не реальный шрифт с поддержкой символов всех языков, как сейчас. То есть чтобы добавить новый язык в игру - нужно ещё и перерисовать изображения каждой буквы алфавита. Нейронка отлично справилась с этой задачей. Вручную процесс бы занял дни/недели.

Литературный перевод местами хромает. Для качественного перевода было бы лучше использовать специализированные для этого нейросети, типа DeepL или живого человека. Но у меня была цель - протестировать Grok 4.5, поэтому весь скоуп задач был отдан ему.

Также я добавил возможность играть не только в полноэкранном/оконном режиме, но и на легендарном мониторе Samsung SyncMaster 3, который выпускался в те годы. Особенно это удобно на больших мониторах, от 27 дюймов. Так как нативное разрешение игры всего 320х200 точек. И в полноэкранном режиме при такой диагонали это сильно бьёт по глазам устаревшей графикой.

Оживление покойника

Идея создать полноценный работающий сетевой режим, через интернет, да ещё и через браузер - изначально вообще казалась призрачной. Но я подумал: в браузерах есть WebSocket. Значит нужен какой-то транслятор из старого протокола в WebSocket. И какая-то внешняя надстройка, позволяющая создавать комнаты и заходить в них. Было решено сделать обычное Web окно поверх игры и результат превзошёл мои ожидания:

Игра по сети

Удалось создать многокомнатный сетевой режим! Кинул ссылку своему другу и впервые за 30 лет я смог поиграть в русскую Tyrian по сети! Моей радости не было предела, ведь сбылась моя давняя мечта!

Я, кстати, нашёл OpenTyrian в Google Play на Android. Но увы: Это приложение недоступно для ваших устройств. Но мне стало интересно почитать отзывы, и вот что я там нашёл:

Отзывы к игре OpenTyrian в Google Play

Отзывы к игре OpenTyrian в Google Play

Некоторые игроки жаловались на неудобное управление и движение корабля с инерцией. Я тоже замечал, что при движении мыши корабль двигается с инерцией, как желе. Это немного портило впечатления от игры. Поэтому я решил исправить и этот момент. И теперь в настройках можно выбирать тип управления: Точное либо Классика (по умолчанию стоит Точное):

Выбор типа управления в Tyrian

Выбор типа управления в Tyrian

Наверное, данный пост следовало разместить на Хабре, а не здесь, скажете вы. Но он, всё-таки, больше про вайб 90х и несбывшуюся мечту. Технические детали я упомянул тоже, для тех, кому это интересно.

Я выложил игру на свой слабенький сервер (VDS на 2 ядрах):

https://tyrian.lukmanov.net/

чтобы все, кто её пропустили 30 лет назад или никогда не играл - мог поиграть и насладиться прекрасным геймплеем и великолепной MIDI музыкой. Теперь ещё и на русском языке и с возможностью поиграть в пати с другом в аркадный режим.

Несмотря на ОЧЕНЬ старую графику - игра, я уверен, понравится многим. А ещё она проходится за пару-тройку часов.

P.S. Для IT-шников:

Потрачено 10% от подписки Cursor за 60$, то есть примерно 6$. Но сейчас на Grok 4.5 скидка 50% в Cursor. Поэтому реальные затраты на подобную доработку обошлись бы порядка 12$.
По бенчмаркам модель приближается к Claude Opus 4.8. В реальности ощущается всё же слабее, но незначительно. Получается, что чуть слабее чем Opus, но точно умнее чем Composer 2.5. Composer не смог сделать корректный перевод в техническом плане с нескольких попыток. Возникали сложности с генерацией спрайтов шрифтов и их внедрением. Из существенных плюсов - Grok 4.5 входит в "First-party models" в Cursor и расходуется по отдельным лимитам (раньше туда входил Composer 2.5 и Auto только, теперь ещё и Grok 4.5).

Фронт написан на html+css+js без фреймворков. Бэк на Go (Clean Architecture). Доработки в игре - на чистом C. Портирование в браузер через WASM.

Извиняюсь за длиннотекст и спасибо, что дочитали!
Goodwin85, 41 годик.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества