uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

Master of Luna

Master of Luna

Kanalga Telegram’da o‘tish

Ведет @atiupin Master of Luna в Steam: https://steampowered.com/app/2393510

Ko'proq ko'rsatish
677
Obunachilar
-124 soatlar
Ma'lumot yo'q7 kun
Ma'lumot yo'q30 kun
Postlar arxiv
В рамках ликвидации игровой безграмотности я на той неделе погонял несколько часов в первый Master of Orion для DOS. Столп жанра, породивший сам термин 4X. Первые четыре партии меня разваливали, потом что-то начало получаться. Игра невероятно изящно сделана. Вам нужно стать императором галактики, набрав на выборах 2/3 голосов. Такое условие победы уже провоцирует играть проактивно — захватывать планеты, растить население, вести переговоры. Последнее жизненно важно: если у вас нет друзей, то императором выберут кого-то другого и игра, скорее всего, закончена. По идее, во второй части эта механика тоже есть, но почему-то там от нее вообще не ощущаешь давления. Много смелых дизайнерских решений. Всецело одобряю принцип «одна звезда — одна планета». Переброска населения между своими планетами и десант на чужие — это одна и та же кнопка. Дизайнов кораблей только шесть, что сильно упрощает интерфейс. Корабли собираются в стеки, что позволяет иметь реально огромные флоты. Поле боя небольшое (всего 10×8), и бои очень быстрые. Древо технологий рандомизируется в каждой партии: нет никаких гарантий, что у вас в этот раз будет та самая ракета или ракеты вообще. Иногда, правда, изящество доходит до абсурда. Например, на планетах можно строить кое-какие «здания», но они висят на общих ползунках, распределяющих ресурсы планеты. И у них фиксированный порядок: если планете позарез нужна ракетная база, все равно придется ждать, пока будет закончен щит, даже если вражеский флот уже в одном ходе. А строится он долго! Помимо прочего, игра очень душевная. Вот колонист выходит на планету и ставит ваш флаг; ученый презентует новый лазер с указкой в лапе; богомог-переросток объявляет вам войну подергивая усиками... Музыки, правда, нет, уж не знаю почему. Из проблем — несколько странноватых решений. Например, для разных враждебных планет приходится строить разные корабли-колонии — просто открыть технологию недостаточно. Многие технологии идут лесенкой — терраформинг +10, +20, +50 и так далее. Если открыть +50, то потом можно открыть и +20, хотя большого смысла в этом нет. Из боя очень легко сбежать, чем ИИ постоянно пользуется, и это бесит. У MOO есть современный ремейк Remnants of the Precursors, который полностью повторяет оригинал и что-то там улучшает. Многие его хвалят, но мне он не понравился: игра выглядит как любительская поделка, и интерфейс какой-то неуловимо кривоватый. Так что играйте в оригинал! Заходите на GOG, покупайте за 2 евро — и вперед, к своему законному трону на Орионе. А потом еще и вторую часть попробуйте, она совсем другая, но тоже очень кайфовая.

Меня раз сто попросили более явно показывать выбранное существо в бою и я это сделал! Обратите внимание, что у искорок честный показатель глубины, так что они не только красиво облетают выбранное существо, но и корректно пересекаются с соседями.

Как 9 лет в одиночку разрабатывать игру и не сойти с ума? — Интервью с автором Master of Luna Продолжаем еженедельную серию наших YouTube-интервью. Гостем нового выпуска стал Александр Тюпин, соло-разработчик 4X-стратегии Master of Luna. С Александром мы поговорили об истории разработки, ее проблемах, работе над графикой и о том, как удается продолжать развивать проект многие годы подряд. https://youtu.be/N9T5Cwa6TEc

Работаю над нормальными осадами городов — со стенами, башнями и ополчением. А то неприлично как-то сражаться за город в чисто
Работаю над нормальными осадами городов — со стенами, башнями и ополчением. А то неприлично как-то сражаться за город в чистом поле. Кроме того, это должно разделить игру на более четкие фазы: ранняя экспансия, отстройка и исследование и лейтгейм с борьбой за территорию.

Как и обещал, пост с (промежуточным) пост-мортемом Луны. Со всем подробностями, финансами и прочим. 👉 https://dtf.ru/indie/5
Как и обещал, пост с (промежуточным) пост-мортемом Луны. Со всем подробностями, финансами и прочим. 👉 https://dtf.ru/indie/5300142-master-of-luna-postmortem-razrabotki

Известный стратег Дас поиграл в Луну! Я развернул маркетинговую активность, так что жду еще обзоров. К слову, если вы сам ютубер или преставитель прессы, то забирайте свой ключ на кеймелере, буквально вчера запустил.

Новый патч для Луны! Добавил мануал с описанием всех ключевых механик и советами по игре. Надеюсь, теперь будет немного проще в ней разобраться. Туда же добавлен и Архив — протосистема ачивок, где отмечаются все заклинания, существа и герои, которых вы когда-то повстречали. В Стим вернулась демка! Механически она полностью повторяет основную игру, но там фиксированный мир и ограничение в 40 ходов. Сохранения из демо-версии автоматически переносятся в полную версию. По мелочам — добавлены импы, огненные атаки теперь плавят броню, туманный колодец можно поглотить, шаманы атакуют молниями. Кроме того, исправлено более 150 ошибок, опечаток и неувязок в текстах, как в русских, так и в английских. Все изменения: https://store.steampowered.com/news/app/2393510/view/685264090267912274

Решил я, что Луне нужна демка — люди все время про нее спрашивают ну и маркетинг, все дела. Она когда-то у нее даже была, но сейчас безбожно устарела и плохо отражает игру, так что я ее из Стима убрал. Общая идея такая — демка билдится из того же кода, имеет те же самые версии и, что самое главное, позволяет продолжить игру с того же места в полной версии. Долго думал что резать. Контент вырезать очень неудобно, нужно делать отдельные файлы для того что доступно в демо-версии, а что нет. Плюс как-то выкорчевывать спрайты, звуки и так далее. Но что-то вырезать все-таки надо, иначе любой умник поменяет один флаг (код-то открытый) и превратить демку в полную версию. В итоге решил выпилить генератор карт и создание мира — игрок всегда начинает на одной и той же карте с одинаковыми оппонентами. Плюс ограничение в 40 ходов. Кроме того, вырезал из демки отладочное меню и минифицировал код. Возможность покопаться в читаемом коде и поиграть с читами останется привилегией полной версии. Решение, конечно, не железобетонное, ограничение ходов при некоторой ловкости можно и обойти, но мне кажется, что компромис хороший.

Пишу, значит, мануал и вдруг думаю — а давай-ка проверю все строки в игре на ошибки, может чего интересного найдется. Клод рапортует — 120 ошибок в текстах: опечатки, неправильные падежи, расхождения в переводе. Ругаюсь, начинаю чинить и вдруг думаю — а давай-ка проверю еще и все имена переменных, может и там чего есть. Нашлось еще 62 ошибки. Короче, недооценил я свое косноязычие, придется править теперь. Причем две ошибки такие, что надо мигрировать сохранения. Я, конечно, могу оставить в коде oppresiveAura (правильно oppressive) и поправить только строку, которую видит пользователь, но факт этого несовершенства будет меня угнетать (хе-хе).

Писать для игры мануал — самое нудное занятие в мире, даже с помощью LLM. Честное слово, я не знаю как люди пишут и редактиру
Писать для игры мануал — самое нудное занятие в мире, даже с помощью LLM. Честное слово, я не знаю как люди пишут и редактируют документацию для больших систем, это же повеситься можно. Пока готово где-то на две трети. Но зато это был хороший повод доделать мифологию мира и написать миф творения. Не Дарк Соулс, но я доволен. Меня, к слову, упрекнули что он написан слишком сухим языком, но мне иррационально нравится когда в мифе происходит рандомная жесть и непойми что, но рассказчик никак не выражает свое отношение к этим событиям, вещи просто случаются. Кажется впервые я это увидел в «цыганском» мифе из книги «Посмотри в глаза чудовищ». В любом случае, лор, ура!

Написал на DTF пост с подробностями о переводе King's Bounty. На этом эпопею считаю законченной, возвращаюсь к Луне. 👉 https
Написал на DTF пост с подробностями о переводе King's Bounty. На этом эпопею считаю законченной, возвращаюсь к Луне. 👉 https://dtf.ru/gamedev/5216489-perevod-kings-bounty-1990-na-russkiy-dlya-dos

Перевод King's Bounty на русский готов! Я бы даже гордо назвал это локализацией, потому что я не просто заменил строки, а в к
+5
Перевод King's Bounty на русский готов! Я бы даже гордо назвал это локализацией, потому что я не просто заменил строки, а в куче мест адаптировал экраны и поменял местами куски текста, чтобы он лучше читался на русском. Кроме того, в игру вшито два патча на ассемблере — один добавляет нормальный экран выбора для «Врат замка» и «Врат города», а второй перехватывает ввод с клавиатуры при создании героя и печатает кириллицу. То есть все названия городов и имя игрока тоже на русском! Конечно, патчить бинарный файл дело опасное, так что я не могу на сто процентов гарантировать, что игра нигде не упадет, не повиснет или не начнет печатать ерунду вместо текста. Но я очень много ее тестил и прошел из конца в конец — все работало прекрасно. Исходный код проекта на гитхабе: https://github.com/atiupin/kbr. Готового билда там нет, его выложу комментарием. Чуть позже я напишу большую статью со всем техническим мясом. Отдельное спасибо Дмитрию Сивухину за помощь с кириллицей, подпишитесь на его канал, он топ.

Я решил ввязаться в очередной сайд-проект о котором думал с начала года — перевести на русский великую King's Bounty! Сейчас
+3
Я решил ввязаться в очередной сайд-проект о котором думал с начала года — перевести на русский великую King's Bounty! Сейчас уже существует один перевод, но он во-первых не очень хороший, а во-вторых только заменяет строки — то есть если в коде 4 символа, то 5 туда уже не запихать. Я (ну ладно, Клод) смог найти свободное место в файле, так что подменяя указатели можно хранить там строки произвольной длины. Техническая часть, в целом, сделана, остался собственно перевод. Текста в игре не очень много, так что должен быстро управиться.

Я хочу после следующего патча устроить Луне еще один раунд маркетинга, а то всего 12 видео на Ютубе, непорядок. Есть на приме
Я хочу после следующего патча устроить Луне еще один раунд маркетинга, а то всего 12 видео на Ютубе, непорядок. Есть на примете ютуберы, СМИ, ведущие каналов и подобные люди? А может вы сами таким занимаетесь? Напишите, даже если канал маленький или нишевый.

Допиливаю архив. Вчера очень много времени потратил чтобы сделать подставочку для юнита, вон сколько пикселей извел. Хотя каз
+1
Допиливаю архив. Вчера очень много времени потратил чтобы сделать подставочку для юнита, вон сколько пикселей извел. Хотя казалось бы.

Импов добавил. Мерзкие существа — крадут ману и огнем еще плюются.

Веду работы над мануалом и архивом, который заполняется когда вы играете. Этакая прото-система ачивок. У меня наконец-то стал
+1
Веду работы над мануалом и архивом, который заполняется когда вы играете. Этакая прото-система ачивок. У меня наконец-то стало побольше свободного времени, так что следующий патч не нужно будет ждать полгода.

Расскажу как я готовлю ассеты. Начнем с графики. Весь пиксель-арт я рисую в Aseprite — умеет все, есть на Маке, стоит копейки в Стиме или собирается из сорцов бесплатно. В нем есть две супер-важные для меня фичи, это слайсы и CLI. Слайсы позволяют выделить прямоугольник, назвать его и потом экспортировать как отдельный спрайт. Таким образом можно хранить абсолютно всю графику игры в одном файле. Анимации лежат там же, на отдельном слое. Во имя простоты все они содержат только два или три кадра. Aseprite умеет экспортировать все кучей разных способов, в моем случае нужна разбивка по слоям + по слайсам. Выбирать каждый раз экспорт из меню, не особо удобно, поэтому это делает скрипт через CLI. Тут есть еще промеждуточный этап. Из кусочков гексов мне нужно собрать 64 вариации переходов — трава/вода и другие. Что-то вроде marching cubes, только для гексов. Я про это давно еще писал здоровенную статью, тут не буду повторяться. Теперь спрайты нужно упаковать в текстуры. Для этого есть прекрасная программа с оригинальным названием TexturePacker. К сожалению, она стоит аж 50 евро (25 для инди), но хотя бы лицензия вечная. Она аккуратно складывает все спрайты в текстуры, оптимизирует их размер и отдает JSON с указаниями где что лежит. Абсолютно все спрайты в Луне влезают в одну текстуру 2048х2048 (гарантированный минимум для WebGL2). TexturePacker тоже можно вызывать через CLI. Вышеописанное управляется через скрипт на TypeScript. Со звуками все куда проще. Все они лежат в одном Reaper-файле и экспортируются одновременно через Region Render — что-то вроде слайсов, но для аудио. В моем случае нужно сохранить каждый трек в одельный файл. Потом один проход ffmpeg чтобы сконверить треки из wav в ogg и все, красота.

У меня хот тейк. Электрон — отличный движок для приложений в целом и для игр в частности и если вы веб-разработчик и хотите сделать 2D-игру, то посмотрите в его сторону. Да, у JavaScript не самая лучшая репутация, местами странное поведение и все такое. На это я вам скажу — TypeScript, линтер, форматтер и не пользуйтесь всратыми частями. Неочевидное приведение типов с ==? Ну так и не надо так писать, здоровее будете. Язык при этом очень гибкий и производительный — просто потому что в V8 вбухали колоссальное количество человеко-часов. Платформа. Ну тут по-моему вообще шик. Есть API для всего — для быстрого прототипа берем старенький canvas (там текст и кривые безье из коробки), для производительности пишем шейдеры на WebGPU. Понятно что все оно не совсем игро-специфичное, так что придется допиливать. Но поскольку сейчас «допиливать» сводится к тому, чтобы взять LLM и бить ей по задаче пока она не сломается, особенных проблем не вижу. Зато от платформы получается шикарный дебаггер, встроенное хранилище (вам обычное или БД, сэр?), встроенную в язык сериализацию, встроенный зум и т.д. У вас в игре много интерфейсов? И таблицы есть? Ну вообще прекрасно — вот флексбокс и десятки UI-фремворков и компонентов. А самый кайф — все идеально работает на всех десктопных осях, вообще ничего делать не надо. Все три билда собираются секунд за пять — бинарники уже на месте. Даже Стимдек завелся без проблем. Еще демки легко делать. Собрал, выложил на Итч и все. Все нативно, не нужно переживать что движок кривой билд сделает. Тут, правда, уже нельзя ожидать, что в твою демку будут только на Хромиуме играть. Теперь к недостаткам. Про консоли можно сразу забыть. Может быть в теории и возможно докрутить Электрон так, чтобы он где-то как-то запустился, но мне кажется, что это такой титанический гемор, что даже заморачиваться не стоит. Если есть примеры обратного — поделитесь. Нет редактора. Пока вы его не написали во всяком случае. Хорошая новость — для 2D-игр это часто и не проблема. Можно использовать Tiled, можно написать свой, можно использовать процедурную генерацию. Если у вас что-то вроде Balatro, то есть игра с анимированными менюшками, то там и вообще без редактора норм. В общем я Луну сделал на Электроне, уже пару прототипов запилил на Электроне и следующую игру наверно на нем же делать буду. Электрон, йо!

К Master of Luna только что дропнулся новый большой апдейт! Добавил целую сферу магии — Тень. Наконец-то можно саммонить гулей и вампиров, отравлять жизнь врагу проклятиями и убивать пачки существ одним словом! Ну и там еще всякого — новые спящие, герои, способности. И это вы еще спрайт костяного дракона не видели! Все изменения: https://store.steampowered.com/news/app/2393510/view/689761349249532568 Второе. В Стиме сейчас проходит летняя распродажа, так что игру можно купить с головокружительной скидкой в 25%. В следующий раз только на Новый год будет! 👉 https://steampowered.com/app/2393510