Путешествие Нимэ: игра-квест, завершенный пролог [ищу тестера с MacOS]
Спустя год неспешной разработки, добычи профессиональной графики и написания специализированного скриптового движка, я выпускаю завершенный пролог игры-квеста в поджанре «коллекционирование заклинаний».
Это полностью готовая игра-пролог со всем, что необходимо (включая справку по механике игры) — только ограниченная началом сюжета. В полной версии игры будет примерно 50 сцен и пропорционально большее количество заклинаний.
Установщик игры для Windows:
tereshenkov.ru/nimetravel/NimeTravel-prologue-1.0.0.2-Win32.exe
Для предпочитающих запуск без установки — zip-архив с игрой для Windows:
tereshenkov.ru/nimetravel/NimeTravel-prologue-1.0.0.2-Win32.zip
после загрузки распаковать в любой каталог и запускать exe-файл NimeTravel.exe
Упакованная игра в формат AppImage для Linux 64bit.
tereshenkov.ru/nimetravel/NimeTravel-prologue-1.0.0.2-x86_64.AppImage
Проверено на основных дистрибутивах, работает на всех, включая Slackware и портативные дистрибутивы вроде Slax (GLIBC от 2.23 и выше). После скачивания сменить права файла на 544 и запускать как обычный исполнимый файл через менеджер оболочки или командную строку.
Установщики для MacOS и FreeBSD пока не собрал — для первой мне нужен рабочий Mac, а для второго освоить систему портов. Если будет запрос, форсирую эти процессы.
Движок игры написан на ObjectPascal, совместим с компиляторами Delphi 10 и FreePascalCompiler, игровая логика — на языке PascalScript. Репозиторий с исходниками игры:
github.com/tereshenkovav/NimeTravel
Там же можно взять бинарные файлы, если мои ссылки недоступны
github.com/tereshenkovav/NimeTravel/releases
Лицензия, как и в прочих моих общественных проектах — СС0. Можно брать исходники и делать с ними что угодно.
Под катом скриншоты и дальнейшие планы.
Пони у себя дома
Пони гуляет
Пони колдует
О дальнейших планах:
На данном этапе, у меня уже есть абсолютно всё, что нужно для перехода от пролога к полноценной игре, не ограниченной шестью сценами. По сути, задача сводится к написанию скриптов сцен и установке графики/звуков. Для этого, внезапно, нужны деньги. Пролог я целиком разрабатывал за свои средства, и вышло хоть не бесплатно, зато хорошо. Ценное наблюдение — если художникам платить, они рисуют :-)
Так что в ближайшее время я буду размещать проект на паре-тройке платформ, где добрые люди дают денежку на интересные им проекты. Ну и от помощи Табуна не откажусь. Пост о сборе средств на завершение игры сотворю в ближайшие дни, по согласованию с администрацией, разумеется.
А пока что жду отзывов об игре, указаний на баги и предложений по улучшению.
Это полностью готовая игра-пролог со всем, что необходимо (включая справку по механике игры) — только ограниченная началом сюжета. В полной версии игры будет примерно 50 сцен и пропорционально большее количество заклинаний.
Установщик игры для Windows:
tereshenkov.ru/nimetravel/NimeTravel-prologue-1.0.0.2-Win32.exe
Для предпочитающих запуск без установки — zip-архив с игрой для Windows:
tereshenkov.ru/nimetravel/NimeTravel-prologue-1.0.0.2-Win32.zip
после загрузки распаковать в любой каталог и запускать exe-файл NimeTravel.exe
Упакованная игра в формат AppImage для Linux 64bit.
tereshenkov.ru/nimetravel/NimeTravel-prologue-1.0.0.2-x86_64.AppImage
Проверено на основных дистрибутивах, работает на всех, включая Slackware и портативные дистрибутивы вроде Slax (GLIBC от 2.23 и выше). После скачивания сменить права файла на 544 и запускать как обычный исполнимый файл через менеджер оболочки или командную строку.
Установщики для MacOS и FreeBSD пока не собрал — для первой мне нужен рабочий Mac, а для второго освоить систему портов. Если будет запрос, форсирую эти процессы.
Движок игры написан на ObjectPascal, совместим с компиляторами Delphi 10 и FreePascalCompiler, игровая логика — на языке PascalScript. Репозиторий с исходниками игры:
github.com/tereshenkovav/NimeTravel
Там же можно взять бинарные файлы, если мои ссылки недоступны
github.com/tereshenkovav/NimeTravel/releases
Лицензия, как и в прочих моих общественных проектах — СС0. Можно брать исходники и делать с ними что угодно.
Под катом скриншоты и дальнейшие планы.
Пони у себя дома
Пони гуляет
Пони колдует
О дальнейших планах:
На данном этапе, у меня уже есть абсолютно всё, что нужно для перехода от пролога к полноценной игре, не ограниченной шестью сценами. По сути, задача сводится к написанию скриптов сцен и установке графики/звуков. Для этого, внезапно, нужны деньги. Пролог я целиком разрабатывал за свои средства, и вышло хоть не бесплатно, зато хорошо. Ценное наблюдение — если художникам платить, они рисуют :-)
Так что в ближайшее время я буду размещать проект на паре-тройке платформ, где добрые люди дают денежку на интересные им проекты. Ну и от помощи Табуна не откажусь. Пост о сборе средств на завершение игры сотворю в ближайшие дни, по согласованию с администрацией, разумеется.
А пока что жду отзывов об игре, указаний на баги и предложений по улучшению.
96 комментариев
А ещё ценное наблюдение — игры большие, и можно потратить деньги на художников зря =( Поэтому хочется как-то заранее определять затраты.
Обычно это понимание приходит после частичной реализации игры и нахождения баланса между красотой и механикой. Что толку от графики высшего уровня, если движок позволяет только самый минимум вроде позиционирования по z?
В текущей версии баланс графики и кода почти идеален — код, который я могу писать сам, и графика, за которую смогу заплатить, не продавая последние штаны.
На могиле учительницы написано «юникорн», а в диалогах используется «единорог» касательно сего вида пони — намеренно? Ну и разговор с почившей наставницей немного внезапный — не ожидал такого развития событий.
Пара пони, которые называются «пони», хотя в диалогах один из них — пекарь. Можно было и обозвать его пекарем, думаю, а второго — алхимиком каким-нибудь. Стражники, впрочем, «стражники».
Больше ни обо что не зацепился, хотя, подумав немного — не сильно удобно в пятнышки мышкой тыкать-выцеливать, но этих пятнышек много будет, как я понимаю, а пространство для них не безграничное). Цифирки, как альтернатива, работают, если что.
Я пытался в разделение высокой речи и бытовой, но возможно, перемудрил. Диалоги еще будут шлифоваться, конечно.
Я до последнего момента думал о десяти, но в итоге, уже пришел к мысли, что семи достаточно, как в Loom. Размеры подгоню покрупнее, да и сам рог закажу к перерисовке — сейчас он из стандартных взят.
На момент появления стражников, уже есть два заклинания, одно из которых, правда, пока недоступно — не хватает опыта.
А еще не хватает возможности бегать по двойному нажатию ЛКМ, как это было в некоторых других квестах. Поняха довольно медленно ползет, и на 3+ попытке перепройти и не встрять в «софт-лок», когда непонятно, что делать дальше, это начинает немного раздражать.
И я б еще добавил возможность сохранять заклинания в какой-нибудь журнал. Если не автоматически, то хотя бы вручную. Я, возможно, понимаю суть этой фичи в необходимости напрячь память и запомнить все эти комбинации. Но я же в любом случае могу просто записать их на бумажку, просто жаль её тратить. А так, бумажка была бы прям в игре.
Это эпоха до Гармонии. В античной Эквестрии привод стражей к правителю мог означать как хорошее, так и плохое. Это осталось даже в коллективно-бессознательном, вроде «она заточит тебя или сошлет, или заточит там, куда сошлет».
Это так и задумано. Заклинание не имеет четкого определения (кроме цепочки нажатий), его получаешь от окружения и думаешь, куда применить.
Я мог бы назвать заклинание «левитация» или «огонь», но это нарушит дух игры.
Как вариант, сделаю просто журнал, в котором будут записаны именно последовательности нажатий, без раскрытия, что это и зачем.
Вот это хорошая идея, спасибо.
Однако, это ж не фанфик, а игра, в которой игрок управляет персонажем и совершает свои собственные выборы. А в этом месте игра не только не дает игроку выбора, но при этом так же и не говорит ему, что от него требуется.
Как по мне, тут нужно либо добавить сверху еще возможность посмотреть текущую цель — например, по нажатию на F1 с надписью «сбежать от стражи», либо добавлять возможность выбора в подобных местах и предсказывать в них, чего возможно захочет игрок. Даже если это заведомо неправильный путь, ведущий к поражению — лучше всего было бы показать это самое поражение в виде отдельной сцены с диалогом: «я Селестия и я сажаю тебя на вечность, так как я плохая!» и надписью «вы проиграли».
Первый вариант проще, а второй интереснее.
Так же и в примере выше можно было бы согласиться и проиграть. Тогда игра через такой толстый намек покажет игроку, что именно от него здесь требуется, и «сбежать от стражи» от захочет сам, а не потому что этого требует игра.
Вообще, как по мне, такого рода развилки и выборы — одна из главных фич для игр жанра «квест», делающая их намного интереснее.
Далее, конечно, планируется чуть побольше поворотов и вариантов. Но проиграть в принципе невозможно — я сторонник концепции квестов без поражений.
Разумеется, когда заклинаний побольше станет, я предусматриваю некоторые развилки и даже секретные локации. Но это не значит, что в какой-то момент вместо применения заклинания невидимости для прохода мимо дракона, героиня достанет ятаган и порубит дракона на гуляш.
Иначе будет игра в перепробывание всех элементов инвентаря на всех активных объектах.
Это и есть определение квеста, разве что в хороших квестах сочетания остроумные (и возможны несколько вариантов), а в плохих — не очень.
Это идеальный вариант. Но порой авторы так закручивают, что реально пытаешься запихнуть слона в чайник.
А вообще-то я говорил про вот непосредственно тот вопрос, с которого началась ветка. Почему гг не может пойти со стражниками, ведь Селестия хорошая? Потому что яскозал? Так сюжеты не делаются. Ты объясни игроку либо что он тут не отыгрывает, и гг не просто болванчик, либо что у гг есть внятные причины поступать именно так и никак иначе.
«Очень смешно. Я два года не покидала эту деревню. И вообще не подданная принцессы.»(из скриптов игры)
По-моему, исчерпывающая мотивация. ГГ не желает идти с борзыми стражниками к какой-то принцессе с бугра.
(забегая вперед (огромный спойлер) — нежелание окажется оправданным на 50%, тут сильно завязано на самосбывающееся пророчество)
Алсо, мотивация похожа на таковую у не шибко прошаренного подростка с изрядным чсв — но может она такая и есть?
Почти такой диалог и происходит, если второй раз кликнуть на стражу.
«Может, хотя бы расскажете, в чём моя вина?»
«Не спорьте и собирайтесь быстрее.»
Достаточно независимый пони, не чувствующий за собой никакой вины и не особо считающий Селестию своим правителем — может и свалить.
землепашецмаг, хотите видеть — пригласите вежливо, и пришлите кого почище, а не мордоворотов ваших.Подданые не приносили присяги, факта проживания (нахождения) на земле монарха и отсутствия какой-либо внешней силы, которая за тебя поручилась, достаточно.
Вообще, если тебе надо показать недоверие к солнцезадой, почему не сделать ее деревню недавно захваченной/присоединенной, распустить в народе всяких суеверные слухи, etc..?
«Бросил Гэндальф Кольцо в огонь, а оно и расплавилось»©
В целом, суть замечаний понятна — нужно обосновать сюжет, а не просто «ГГ должна свалить, оказав сопротивление аресту».
github.com/tereshenkovav/NimeTravel/releases
На этом пока всё, буду осваивать способы сбора пожертвований и готовить соответствующий пост. Ну еще страничку игры надо склепать, конечно.
Давненько не видел его, но пока что впечатление одно — Трикси заменена на ОСку, а в остальном всё так же.
Чисто как по мне — очень страдает диалоговая часть, прямо картон картоном. Тебе точно надо взять в команду скриптрайтера, который бы прописывал хороший диалог на каждую ситуацию, плюс по паре-тройке на повторяющиеся (чтобы при повторных кликах хоть какое-то разнообразие было). Удачно ещё в этих вариантах диалогов давать подсказки: в первом варианте сложную, а потом проще и проще, чтобы можно было несколько раз прокликать диалог и понять, что от тебя хотят.
К примеру, про куст можно сделать реплики типа таких (по реплике на клик):
— Не пойму, кто так ухаживает за кладбищем? Кусты прямо на дороге растут…
— Что же делать? Не обойдёшь ведь. Как бы мне его убрать?
— Ух, достал этот куст! Могла бы — сожгла бы его, чего он на дороге растёт, а?
Кстати, в той же второй Кирандии схема реплик обычно 1-2-3-2-3-2-3-..., т.е. первая не повторяется потом. Это помогает обратить внимание на очевидные подсказки ещё раз, если с третьего раза не дошло.
Да, ещё я бы немного покритиковал анимацию движения. В классических VGA-квестах (да-да, те же самые Loom, трилогия Кирандии, Leisure Suit Larry и т.п.) смена спрайтов синхронизирована с перемещением, т.е. персонаж не «скользит». Ну и да, есть вид не с двух, а со всех четырёх сторон (это позволяет красиво отобразить движение вглубь сцены и обратно). Если над этим посидеть и сделать качественно, впечатление от визуала будет совсем другое.
Ну и фоны перерисовать дать хорошему художнику, чтобы квестовые предметы зорошо вливались в фон — но это уже совсем потом, думаю.
… делались студиями за прямое бабло. Никакого сравнения с NTFS-ои, который каждый раз, запуская комп, думает, то ли игру продвинуть, то ли монету заработать.
В остальном, согласен, это не тянет на полноценную игру, но уже намного лучше, чем ничего. Понификация Loom-а всё ещё незанятая ниша.
О, кстати, что ещё забыл: хотелось бы вместо вкл/выкл BGM/SFX иметь регулировку их громкости. Ну, например, потому что в некоторые моменты BGM сильно громче желаемого.
С анимацией что-то надо делать, согласен. Сейчас пони натуральной лунной походкой движется — лучше, чем статика, но хуже всех прочих вариантов.
Насколько я знаю, обычно это делается не перемещением спрайта, а отрисовкой его на фиксированных позициях в разных фазах. То есть, ты как бы двигаешь центр масс, но не рисуешь спрайт в каждой точке по мере движения, а рисуешь тогда, когда он ближе к ключевой точке, причём не в центре масс, а именно в этой ключевой точке.
Ну, допустим, ты двигаешься от координаты 100 до 200 с шагом 10, и у тебя есть фазы А, В, С и D, каждая из которых соответствует перемещению на 20 пикселей. Сейчас ты рисуешь так:
100 А
110 А
120 B
130 B
140 C
150 C
160 D
170 D
180 А
190 А
200 B
А на деле надо как-то так (я округляю вниз, повторное рисование той же фазы на той же координате можно оптимизировать как скип рисования вообще, но я для ясности этого тут не делаю):
100 А (центр масс на 100)
100 А (центр масс на 110)
120 B (центр масс на 120)
120 B (центр масс на 130)
140 C (центр масс на 140)
140 C (центр масс на 150)
160 D (центр масс на 160)
160 D (центр масс на 170)
180 А (центр масс на 180)
180 А (центр масс на 190)
200 B (центр масс на 200)
Да, понька будет перемещаться менее плавно, но зато покадровая анимация движения будет выглядеть намного приятнее.
Там много мелких проблем, вроде хождения пони через стены дома и проскакивания контрольных точек, отладка поможет.
tav-developer.itch.io/nimetravel
Менюшка со свитчем языка
Если у кого есть знакомые по ту сторону Атлантики, можно уже делиться.
Собственно
Такую работу завершить, и уже не стыдно на GOG/Steam идти.
Но конечно, пахать ещё от забора до обеда.
бесплатныхнедорогих художников. Серьезно, кушать всем надо, бюджет игры пополняю.Ссылки:
tereshenkov.ru/nimetravel/NimeTravel-prologue-RU-1.1.0-MacOS.app.zip
tereshenkov.ru/nimetravel/NimeTravel-prologue-EN-1.1.0-MacOS.app.zip
Дистрибутивы одинаковы, отличия только в языке по умолчанию. После скачивания, Safari автоматически распакует NimeTravel.app, который и нужно запускать. Скорее всего, MacOS ругнется, что разработчик не подписан, нужно разрешить запуск приложений не из AppStore.
Никаких дополнительных фреймворков ставить не нужно, по замыслу, всё уже включено в пакет.
Собрано на MacOS High Sierra (версия 10.13), должно работать на всех версиях около неё и лучше. Будет ли работать на M1 — фиг знает, у меня виртуалки на Intel/AMD.
При проблеме с запуском — по возможности, сбросить скрин с отчетом об ошибке, он формируется системой.
Спасибо заранее.
Основная проблема, что для нормальной работы, нужны две машины — одна чистая для испытаний уровня пользователя, вторая со всеми инструментами для сборки и отладки. И два мака — это разорение, полное.
С Windows и Linux попроще — даже не беря в расчет виртуалки, четыре умеренно старых ПК для последних версий обойдутся в 5 раз дешевле.
Да, разработка под Mac дело дорогое — если на Windows и Linux можно натыкать виртуалок (для первой еще купить самую дешевую электронную лицензию), то на каждый Mac нужна отдельная машина.
У MS не так — даже сейчас они поддерживают почти все свои продукты под Windows 7, кроме того, что исходно делалось для десятки, и сохраняют 32-битные системы для старых машин, чтобы последний разработчик из деревни Нижние Хрюки мог установить систему на свой Intel Core Duo и получить доступ к разработке (со скрипом, но получить).
А, это да. Все приложения под Mac теперь только 64-битные, делать 32-битную сборку более неактуально.
Но 32-битная винда стоит лишь на древнем как мир железе, которое сегодня вряд-ли на что-то способно, и то скорее всего это будет уже не поддерживаемая Windows 7. Но 32-бита игнорирует лишь софт, который явно не будут ставить на настолько древнее железо вроде игр и «профессионального» софта. Первый процессор с поддержкой x86-64 вышел в 2003, в этом году ему будет аж 20 лет!
Windows это позволяет очень хорошо. MacOS и Linux — очень плохо.
На Windows это решается легко (хотя десятка внутри Virtual Box, конечно, работает отвратно, но работает), на Linux — разовый танец с пакетами и сетевой конфигурацией, дальше норм.
Заставить работать MacOS в виртуалке со звуком, аппаратным ускорением — я не смог, а сделать это легально — невозможно в принципе (для текущих задач можно на это забить, но когда дойду до этапа публикаций в Steam/GOG — уже не забить).
А Хакинтош это уровень виртуалки, что-то сделать можно, но не гарантирует, что у клиентов заведется.
В общем, собираю сто тысяч и буду покупать Mac. Со временем.
Конечно, если приложение подписано разработчиком. Для васянского софта — нужно разово разрешить установку от админа, но с этим может помочь саппорт.
Короче, это просто шелл (не более, чем как у меня с эльбрусами), который ради коммерческой выгоды называют VDS (хотя VDS он не является по определению VDS).
Ну а собирать и запускать приложения локально можно и на линухе (просто собираешь с префиксом в домашнем каталоге и всё), вот только вопрос про system-wide сервисы.
Но иногда и это бывает нужно.
и ПКМ по файлу с игрой, затем «открыть». P.s. Играла сестра, прошла за пять минут с моими минимальными подсказками.
Любопытно, попробую воспроизвести.
Спасибо за тест, значит, приложение работает.
Когда сделаю DMG и PKG — могу еще раз обратиться за тестом?