Осенние обновления, новые понные игры и планы от NTFS

+135
в блоге Gamedev is Friendship!
Прошло лето, настала осень, я немного поработал и представляю кой-чего свежего.



Прогресс с последнего поста:
— Обновление и улучшение игры «Пинки Пай и мир кексов»
— Выпущена в открытый доступ свежая игра «Поиск пони в лабиринте»
— Готовится выпуск второй главы квеста «Путешествие Нимэ», уже с новой графикой
— Число платных поддерживающих подписчиков выросло 3 до 5 человек
а также небольшие доработки/улучшения в движках, конфигурациях, руководствах сборки и упорядочивание всех исходников.

Под катом подробности по отдельным играм и ссылки на загрузки

Обновление и улучшение игры «Пинки Пай и мир кексов», 1.1.0



Я решил, что потенциал этой игры еще не исчерпан и занялся доработкой игровых механик вместе с созданием под них новых уровней.

Исправления и улучшения:
— Добавлена анимация прыжка Пинки
— Улучшения звуковых эффектов
— Добавлены блоки времени — появляются и исчезают
— Добавлены летающие и ходящие враги
— Добавлены блоки, которые перемещаются вертикально вниз после прыжка
— 9 новых уровней, начиная с уровня 22. Из них 4 демонстрационные, остальные 5 — повышенной сложности, включают в себя новые механики.

Текущее обновление доступно только для подписчиков на boosty, либо за разовый донат. Через месяц, как обычно, размещу везде.

boosty.to/ponygames/posts/a24b46c0-1911-42b6-9666-8ccf3b134ea5

Новая игра в публичном доступе — «Поиск пони в лабиринте»

Спустя месяц после публикации для подписчиков, перевожу данный проект в публичный доступ



Задачей игрока является поиск в случайно созданном двумерном лабиринте спрайтов пони и сбор их всех. Размеры лабиринта и
количество персонажей задаются при старте игры. Для упрощения поиска, игроку предоставляется мини-карта и возможность установки маркеров на стенах лабиринта.
Стилистика отображения лабиринта реализована в псевдо-3D стиле. При каждой запуске игры, лабиринт создаётся заново, таким образом, игру можно проходить много раз.

Игра доступна пока что только в релизах на github, в виде дистрибутива, ZIP-архива и AppImage для Linux.

Сам репозиторий с исходными кодами:
github.com/tereshenkovav/EndlessWalls

Дистрибутив
github.com/tereshenkovav/EndlessWalls/releases/download/v0.1.1/FindingPony-RU-0.1.1-Win32.exe
ZIP-архив
github.com/tereshenkovav/EndlessWalls/releases/download/v0.1.1/FindingPony-RU-0.1.1-Win32.zip
AppImage для Linux
github.com/tereshenkovav/EndlessWalls/releases/download/v0.1.1/FindingPony-RU-0.1.1-x86_64.AppImage

Подготовка к выпуску второй главы квеста «Путешествие Нимэ»

В данный момент, эта работа является основной и приоритетной.



— Полностью заменена графика и частично анимации
— Перестройка интерфейса
— Переход на собственный оформленный движок вместо простого набора процедур
— Новые заклинания и дальнейшее продвижение сюжета

Ориентировочная дата выпуска новой главы — декабрь 2024.
Текущая версия игры доступна для загрузок тут
nimetravel.everypony.ru/
или тут
tav-developer.itch.io/nimetravel

На этом всё, скачивайте, играйте, подписывайтесь на boosty.to/ponygames для поддержки разработки.
Если есть какие пожелания, идеи и мнения по поводу, какую игру нужно приоритетно улучшить — пишите.

51 комментарий

В ленту с играми и донатами.
NTFS
+2
Подготовка к выпуску второй главы квеста «Путешествие Нимэ»
Э-э… а первую где найти? Я что-то ее пропустил.
Кстати, раз ты вновь взялся за серьезные проекты, может у тебя в планах есть продолжение той пошаговой игры про понек? Забыл название.
MTH_Root
+1
Э-э… а первую где найти? Я что-то ее пропустил.


В посте есть ссылки на актуальную версию — брать тут
nimetravel.everypony.ru/
или тут
tav-developer.itch.io/nimetravel

у тебя в планах есть продолжение той пошаговой игры про понек?

Да, перерабатывать «Героев Эквестрии» планирую, там пахать от забора до рассвета.
NTFS
+1
Новая игра в публичном доступе — «Поиск пони в лабиринте»

Новая порция багов на Linux Devuan, KDE 5:
1) По умолчанию окно не влезает в 1336x768.
2) После выхода из полного экрана, позиция окна сбивается.
3) Хочется иметь возможность удерживать клавишу для передвижения по длинному коридору.
4) Еще вот это, хотя вроде проблем в самой игре не заметил.An unhandled exception occurred at $00007F70E2ADD527:
EAccessViolation:
$00007F70E2ADD527

MTH_Root
+1
Хочется иметь возможность удерживать клавишу для передвижения по длинному коридору.

Это можно добавить.
С оконным OpenGL-режимом, под Linux это всегда сложно.
Хотя бы полноэкранный режим работает и то хорошо.
NTFS (ред.)
0
nimetravel.everypony.ru/
или тут
tav-developer.itch.io/nimetravel

NimeTravel: error while loading shared libraries: libFLAC.so.8

libflac++10 и libflac12 установлены, естественно. Запускается только версия с itch.io.
MTH_Root
+1
О, какой я молодец, у меня на itch версия 1.1.0, а на сайте 1.0.0

Спасибо, отловил косяк. Буду перезагружать.
NTFS
0
В NimeTravel есть еще два бага: Можно развернуть игру в полноэкранное окно и поедет масштабирование. После этого так-же курсор системный и курсор игровой указывают в разные места.
MTH_Root
+1
Да, потому что в текущей версии нет полноэкрана, только разворачивание окна.
Это как раз сейчас переделываем.
NTFS
0
Еще примечания:
1) Почему на могиле Кловер написано «юникорн», а не «единорог»? В диалоге с Кловер она говорит «единорог».
2) Колба в доме алхимика двигается рывками. Но при этом, ГГ двигается плавно. Так и должно быть?
MTH_Root
0
Почему на могиле Кловер написано «юникорн», а не «единорог»? В диалоге с Кловер она говорит «единорог».

Я пытался играть с разными стилями речи, сочетая архаичный от Кловер и более современный у ГГ. Возможно, неудачно.
Колба в доме алхимика двигается рывками. Но при этом, ГГ двигается плавно. Так и должно быть?

Не совсем, но текущая механика игры так реализована.
NTFS
0
Yay! Игры плодятся и размножаются.
vorodor
+3
Да если бы, пока их не наплодишь — сами не двигаются.
NTFS
+3
Привет, буду благодарен за версию «Нимэ» под Андроид (если это возможно). Заранее спасибо.
Mainframe
+1
Вот с этим вообще сложно, я с трудом представляю, как реализовать механику, завязанную на мышке — под сенсорное устройство.
NTFS
+2
Может, добавить возможность использовать заклинания по последовательным нажатиям на цветные кристаллы? Передвижение и осмотр предметов сделать по нажатию на экран, их подбор и использование — удержанием нажатия на предмете. Как насчёт этого?
Mainframe
+1
Основа квеста — что при прохождении мыши над предметом, появляется его иконка.
А на сенсоре нет событий типа MouseMoving, есть только клики и тапы.

Это не учитывая того фактора, что под Android нет реализаций SFML, а возможности компилировать Паскаль очень ограничены.
NTFS
0
А на сенсоре нет событий типа MouseMoving, есть только клики и тапы.

touchmove — вызывается при перемещении по сенсорной поверхности???
Это не учитывая того фактора, что под Android нет реализаций SFML, а возможности компилировать Паскаль очень ограничены.

Портировать в веб на джаваскрипте или питоне?
vorodor (ред.)
+1
touchmove — вызывается при перемещении по сенсорной поверхности???

Нет, конечно, у сенсора нет перемещения, потому что нет курсора. Только нажатия и свайпы.

Портировать в веб на джаваскрипте или питоне?

Портирование — это перенос на сходных библиотеках, или языках, например, с Delphi на FPC.
А это будет разработка с нуля.
NTFS
0

Ну вот, опять чуть не начал очередной бесполезный спор.
Не-не-неее, нафиг надо, пойду лучше пиксели потыкаю, а то работы ещё непочатый край.
vorodor (ред.)
+2
«Поиск пони в лабиринте»
Лол, пони-бэкрумсы! =) Это то, чего так не хватало миру)

Правда, сразу скажу несколько мыслей по поводу:
— лабиринт генерится без самопересечений, из-за этого его элементарно обойти банальным алгоритмом бинарного обхода (всегда идёшь налево, как натыкаешься на тупик, возвращаешься назад и на ближайшем повороте направо), ну разве что тройные развилки рассматриваешь как две двойные — реиграбельность, несмотря на рандом-генерацию, низкая; если сделать самопересечения — то будет намного сложнее и интереснее там бродить (эх, сколько часов я потратил в майнкрафте в шахтах с пауками, где как раз из-за таких самопересечений было очень легко потеряться и надо было прокачивать скилл ориентировки… =)
— у меня почему-то получилось так, что я заспавнился в одном месте лабиринта, а все поньки кучковались в другом, а не были равномерно раскиданы по нему
— для того, чтобы можно было репортить баги генерации (как предыдущий пункт), хотелось бы иметь возможность смотреть сид сгенерированного лабиринта, а также при начале новой игры иметь возможность ввести желаемый сид (ну, например, я увидел, что где-то что-то сломалось, репорчу тебе баг, прикладываю сид, ты запускаешь у себя, генеришь тот же лабиринт по сиду и дебагаешь)
— можно в качестве дополнительных уровней сложности отключать возможность пометок и/или миникарту (впрочем, из-за отсутствия самопересечений они там и не нужны), а также вводить таймаут (либо в количестве шагов, типа с механикой голода, либо в количестве времени, с механикой стамины), а по лабиринту можно разбросать ништяки, которые будут пополнять таймаут.
— хотелось бы иметь возможность допройти лабиринт после подбирания последней поняхи (можно даже оформить это лорно, типа например, чтобы на месте твоего спавна появлялось зеркало-портал, в который ты мог потом зайти, когда пожелаешь), а не заканчивать игру в момент её подбирания
— можно бахнуть паззлы типа дверей и ключей, тогда будет намного интереснее, поскольку игра не будет тупо проходиться бинарным обходом, а надо будет вспоминать, как пройти к двери после того, как нашёл ключ
— а вообще это прямо очень-очень выглядит как штука, которую будет легко переписать на какой-нибудь 3D-движок, заодно у тебя будет возможность попрактиковаться с ними — чтобы было плавное управление, физичная симуляция ходьбы, текстуры, освещение, а если ещё туда бахнуть криповый эмбиент, рандомные звуки и анимировать дрожащих от страха понек, то получится вообще эпичный хоррор, а не поделка, выглядящая как Baldi's Basics (после самой Baldi's Basics ниша игр с оформлением типа «так плохо, что даже хорошо» теперь тоже занята...)
makise_homura
+1
из-за этого его элементарно обойти банальным алгоритмом бинарного обхода
Я так и делал. :]
MTH_Root
+2
Ну, я так делал с того момента, как понял, что в лабиринте нет самопересечений) После этого стало всё совсем просто)
makise_homura
0
банальным алгоритмом бинарного обхода

Ну ты еще правило левой руки вспомни :-) это ж не игры для математиков, а забавы для понилюбов.
Хотя конечно, пересечения нужны, это следующий этап генерации.

а по лабиринту можно разбросать ништяки, которые будут пополнять таймаут.

можно бахнуть паззлы типа дверей и ключей

Да, это тоже следующий очевидный этап развития.

которую будет легко переписать на какой-нибудь 3D-движок

Всё легко переписать, пока есть электричество и вода в чайнике :-) сосредоточусь ближайший месяц на этих делах.
NTFS
+3
это ж не игры для математиков
Но ведь тут математики никакой не нужно, это ж очевидный метод. Очевидный же? Ведь очевидный, да?..
Хотя конечно, пересечения нужны, это следующий этап генерации.
О, супер, станет куда интереснее)
Да, это тоже следующий очевидный этап развития.
Отлично, тоже буду ждать)
сосредоточусь ближайший месяц на этих делах.
Йей! Надеюсь, игра покрасивее и поатмосфернее станет)
makise_homura
+2
Надеюсь, игра покрасивее и поатмосфернее станет)

Надейся, но я пока как раз займусь
электричество и вода в чайнике

а то за свет долг уже второй месяц пошел, а на третий придет мужик с ножницами и откусит мне хрен провода, обратно же их включать — далеко не бесплатно.
NTFS
+1
а то за свет долг уже второй месяц пошел
Ммм, у тебя ж вроде был период, когда с финансами более-менее наладилось?..
makise_homura
+1
С финансами всё нормально, когда я работаю за презренный металл, окучивая клиентов.
Но я то понные игры пишу, то понилюбов в горы вожу, то вообще с супругой помогает бедным и несчастным (от нас — подарки и жратва, от них — прокурорские проверки за не те подарки и мало еды).
В такие моменты долги и набегают.
NTFS
0
то вообще с супругой помогает бедным и несчастным (от нас — подарки и жратва, от них — прокурорские проверки за не те подарки и мало еды).

Не понял конструкции. Вы бедняков кормите, а они на вас заяву катают?
MTH_Root
+2
Вы бедняков кормите, а они на вас заяву катают?

Yep. Не все, конечно, но всегда находится 1-2 человека, которым дали не тот подарок, который они хотели, и потом усталый прокурор устало спрашивает «не украли ли вы деньги спонсоров на подарки? Нет? Ну идите с Богом, проверка окончена, нарушений нет, заявление закрыто. Извини, мужики, обязаны отреагировать».
Поэтому данную деятельность свели до минимума, и работаем только с целевыми — если же человек 5-6 лет находится на грани бедности без видимых причин вроде пожара, наводнений или рождения новых детей, значит, он хочет быть бедным.
NTFS (ред.)
+3
Не все, конечно, но всегда находится 1-2 человека, которым дали не тот подарок, который они хотели
Как это мерзко.

если же человек 5-6 лет находится на грани бедности без видимых причин вроде пожара, наводнений или рождения новых детей, значит, он хочет быть бедным.
Хорошая позиция.
MTH_Root
+2
С финансами всё нормально, когда я работаю за презренный металл
Ну так так обычно и делают: 8 часов работают «за металл», 8 часов занимаются хобби, 8 часов спят (в идеале, конечно)
makise_homura
+1
Прямой путь ненавидеть и работу, и хобби, и невысыпаться, потому что нередко от усталости (особенно от интеллектуальной деятельности)чередование бессонницы (когда надо спать) и отруба (в те часы, когда запланирована деятельность).
Dany
+1
Эмм, почему? Многие люди наоборот, вроде бы, как раз считают такой вариант норм. Другое дело, что нынешняя жизнь такая, что не всегда удаётся спать те же 8 часов, в итоге как раз и получается вот эта вся усталось и прочее подобное.
makise_homura
0
8 часов работают «за металл», 8 часов занимаются хобби

Мы уже обсуждали, что то, чем я занимаюсь — не тянет на хобби, а скорее, вторая работа. Хобби от работы отличается не по линии «нравится — ненравится», а по линии «есть обязанность — нет обязанности».

Даже простой понилюбский поход на 5-6 человек, это работа — начиная от подготовки маршрута и всех документов, и заканчивая сушкой палаток после, и каждый элемент обязателен — не просушишь групповые палатки, они сгниют и порастут плесенью.
Про игры и говорить не стоит, я сейчас стараюсь хотя бы полный день в неделю на них отпускать, плюс рабочая суббота.
То есть я сознательно выбираю некоторое проседание доходной работы в пользу общественной значимости некоторых дел, которые тоже работа, но бесплатная (строго говоря, с игр сейчас капает 500 рублей в месяц, а за походы мне немало накидало неплохой снаряги, но очевидно, это не тот масштаб).
NTFS (ред.)
0
Хобби от работы отличается не по линии «нравится — ненравится», а по линии «есть обязанность — нет обязанности».
Второе в принципе редуцируется до первого примерно такой логикой: [тебе не нравится занятие X, но ты его делаешь] потому что [ты дал обещание и считаешь, что должен его сдержать] потому что [тебе нравится чувствовать себя надёжным человеком].
Так что граница тут не слишком явная. Более того, очень многие люди иногда понимают, что занятие Х не нравится больше, чем нравится чувствовать себя надёжным, и просто кидают народ без видимых к тому предпосылок (ну, так меня, к примеру, кинула одна художница, нарисовав 5 из 8 иллюстраций, взяв полную оплату в конце рисования первой: то есть оставшиеся 4 она рисовала, пока вторая предпосылка перевешивала (а так как оплату она уже получила, денежной мотивации у неё уже не было), а потом, когда оставалось последние три, ситуация поменялась и она попросту забила).
makise_homura
0
а так как оплату она уже получила, денежной мотивации у неё уже не было

«Моему мозгу больно»© Дэщ
Если она получила оплату, у неё уже есть денежная мотивация, а используете вы постоплатную систему расчетов или предоплатную — не так важно.

По остальному, в принципе, можно и так вычислять, хотя если хобби не нравится вообще, а не местами, оно просто вычеркивается. С работой так не всегда возможно, хотя конечно, идеал — когда работа не только деньги даёт, но и хоть какую-то радость.
NTFS
0
Если она получила оплату, у неё уже есть денежная мотивация, а используете вы постоплатную систему расчетов или предоплатную — не так важно.
Нет, вот тут как раз-таки и важно. Вне зависимости от того, доделает она заказ или нет, дополнительных денег она не получит, так что после получения всей суммы она могла спокойно свалить в туман и ей бы за это, очевидно, ничего не было бы.
makise_homura
+1
Ну если человек не живет с заказов, то да, можно взять деньги и ничего не сделать.
NTFS
+1
в количестве шагов, типа с механикой голода

И пополнять полосу голода после нахождения пони)
Teikan
+1
Ну, как во многих аркадах, после прохождения чекпоинта — разумно вознаградить участника.
NTFS
0
Teikan
+2
vorodor
+2
«Вкусная пони, вкусная пони, а-а-а-а-а...» =)
makise_homura
+3
А, теперь понял. Смешно, да. Наверно, есть и такие игры, где надо кушать пони и получать за то бонусы.
NTFS
+2
Как сделано псевдо3д? Это 3д которое под него кровь или настоящее псевдо3д?
Niko_de_Andjelo
0
Это сцена OpenGL, в которой отстроены только та часть лабиринта, которая видна, при этом, дальние стены искусственно затеняются, а при повороте — происходит не только смена угла, но и линейное движение камеры, так что в завершении поворота — игрок снова находится как бы перед новым коридором, а не упирается в стену.
Такая сложная схема не обязательна, но я делал на основе старой задумки, в которой не было OpenGL.
NTFS (ред.)
0
Жаль… я всё ещё пытаюсь понять, как оптимизировать настоящий псевдо-3д, чтобы он нормально работал xD
Niko_de_Andjelo
0
Интересно, а зачем все эти псевдо-3D велосипеды в 2024, когда уже даже хиленькие телефоны поддерживают если не GL, то хотя бы GLES2?..
makise_homura
0
Это технология! Это дух времени!
Я вот до сих пор не оставил идею сделать свой аналог Арены. Про тем же технологиям. Только про пони. Да-да, пони данжон краулер… Помимо моего 15 айсикью кодинга и архитектуры очень большой упор у меня идёт как раз в алгоритм отрисовки пола… Я находил хорошую статью, но то ли не понял, то ли реализовал криво, в общем не сказать что мне помогло

У меня обратная вопрос, если есть нормальные 3д, зачем из них делать псевдо-псевдо-3д?

Ох как же много я времени убил осваивая эту технологию в своё время… зато у меня до сих пор есть записи как реализовать прыжки, и есть идеи по полу блокам и зеркалам.
Niko_de_Andjelo (ред.)
+1
если есть нормальные 3д, зачем из них делать псевдо-псевдо-3д?

Такова была задумка, искусственно выглядящий лабиринт, чтобы не отвлекаться от концепции бродилки.
NTFS
0
как оптимизировать настоящий псевдо-3д

Ничего нового не придумано — матрицы проекций и z-буфер.
NTFS
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Скрыто Показать