Размер шрифта:
Текстовое РПГ в Телеграмме: Часть вторая ⁠ ⁠
Play

Текстовое РПГ в Телеграмме: Часть вторая ⁠ ⁠

Я уже писал про моего бота в телеграме ранее. Получил целую кучу отзывов и подписчиков.

Сейчас бот переживает постоянные обновления, было добавлено довольно много разного контента. Самые популярные комнаты по смертям сейчас это Кролик и Зеркало

Эта картинка один из нескольких стикеров, которые были нарисованы специально для игры. Много людей хотят помочь с ботом и это очень круто. Мы все вместе сообществом можем сделать крутую игру и это замечтально (:

Люди предлагают свои идеи, помогают искать баги и опечатки, общаются друг с другом в общем чате и даже сами пишут код.

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

Спасибо всем вам и Пикабу (:

Это очень круто.

Ссылки, связанные с игрой:

Группа по игре в телеграмме, где все общаются: https://telegram.me/rogbotgroup

Группа по игре в вк, где можно выказывать свои пожелания: https://vk.com/rog_bot

Репозиторий на гитхабе, куда можно писать свой код, поправки и прочее: https://github.com/yegorf1/RogueBot

Лига Разработчиков Видеоигр

4.8K поста 19.8K подписчиков

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

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

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

- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры, для этих целей больше подойдёт Discord-сервер сообщества

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.

О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

1. Добавьте сюжет, общую историю места, раскрывая потихоньку детали этого странного мира2. Добавьте концовку, просто так тыкать и пытаться пройти еще один уровень - не очень интересно. Может она и есть, но в какой-то момент становится понятно, что ничего нового не будет.3. Характеристики игрока - не нужны. Лучше развивать игру в сторону квестов, ребусов и прочего. Бой оставить на случай, если больше ничего сделать нельзя.

Было бы прикольно, если в конце концов коридор окажется больничным, а все это время игрок пытался убежать из закрытого заведения, будучи не в своем уме. Отсюда фэнтези, воображение и проч.

"Будь осторожен, за дверью может оказать подземелье с драконом, хотя с такой же вероятностью и озеро мороженого."

Сейчас вообще много интересных игр появляется в телеге. Основное количество это конечно текстовые квесты. Но есть и РПГ - например, Chat Wars - t.me/ChatWarsBot?start=341fae036ed54d1ab2869ba25a936ee5. Перегиб в гринд конечно есть, но в целом не напряжно играть.

Присоединяйся к игре Chat Wars! Первая ММОРПГ в Telegram. Заходи по ссылке и получишь 10 золотых монет:

Открыл первую дверь и уже конец игры👏

Заведи еще QIWI кошелёк для донатика. А то кинуть хочется, а ни вебмани, ни яденег нету и заводить не хочется.

Вечером зашел, 20 минут игры умер 5 раз с первого же хода, ни на что не намекаю, но на первый ход попадать на вейпера без трезубца не очень весело.

Бот, отлично. поиграл 15 минут, надоело. Удалил чат. бац, выпадает сообщение "бла бла бла, у нас голосование". удалил снова. "бла бла бла, исправил ссылку". удалил, уже надоело, опять сообщение "бла бла бла результаты голосования". бля. Удалить и заблокировать.

Итог: Не спамили бы сообщениями без остановки, поиграл бы еще, позже, когда будет интереснее. А так, потеряли юзера. Вывод: делайте уведомления в отдельном канале.

Краб у костра на берегу⁠ ⁠

Pixel-art концепт для игры, которую я делал последний год. 24 цвета.

Вот как он выглядит в игре:

Краб - 12 цветов, девочка с ушками - 42. Анимированный вариант:

Gamio — возрождение текстового приключения⁠ ⁠

Совершенно недавно был закрыт проект Gamio — текстовое приключение с искусственным интеллектом для русского языка. Обслуживание нейронного движка было слишком дорогое, а игра была бесплатной. И вот, спустя пол года, по многочисленным просьбам я открываю сайт gamio.ru . В этот раз изменилось многое…

Новая нейросеть

На этот раз я обучил свою собственную нейросеть. gameGPT — её кодовое название. Она стала намного умнее, чем самые ранние версии gamio.

Нейросеть довольно большая, весит 6 гб и занимает 12 гб ОЗУ. gameGPT размещена на личном сервере, на процессоре (а нужно размещать на видеокарте). Из-за этого работа всего сервиса в целом замедлилась. Генерация одного действия может занимает целую минуту, а то и больше.

Я не могу сказать, что получилось идеально, но прогресс явно есть. Она хотя-бы понимает, о чём идёт речь.

Зайдите на сайт gamio.ru. Всё бесплатно, но медленно. Будьте готовы к этому.

Во время игры корректируйте нейросеть, нажав на карандашик. Бывает такое, что она сбивается с мысли. Поправляйте её.

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

Запоминайте ключ доступа для возобновления игры.

Автор проекта: 0x7o

Продолжаю пилить боевку и готовиться в ранний доступ⁠ ⁠

Всем привет! Разработка боевки Lost Scavenger идет полным ходом, добавлены новые противники, несколько видоизменился интерфейс и немного допилена анимация. Пока она еще немного хромает, но есть, что показать ) Плюс сюжет первой из трех глав практически готов, к раннему доступу, возможно будет готова и вторая. Кстати, скоро будет объявлена дата раннего доступа!

Процедурная генерация карты в Covenanted⁠ ⁠

Привет, на связи Coscom art group. Мы продолжаем развивать проект, о котором писали ранее. Сегодня расскажем о том, как процедурно генерируемая карта в нашей игре отвечает за rogue-like механики.

Механика карты в играх с rogue-like элементами - это основной инструмент, с помощью которого генерируются условия под каждый забег. Опытные игроки знают правила генерации и выбирают свой путь более оптимально. Комната с боссом уровня, как правило, самая удаленная от старта игрока. Даже расположение тайных комнат опытный игрок узнает без подсказок.

На изображении выше - карта из Enter The Gungeon

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

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

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

Учтя все вводные, мы перешли к работе над картой. Перебрав несколько вариантов программной генерации мы решили, что нарисуем несколько шаблонов карты, расставим заранее на ней точки генерации локаций, а наполнение и тип этих локаций оставим за кодом. Так мы рассчитываем избежать корявой генерации по секторам или гексам - место для каждого спрайта локации заранее определено.

Вот как это выглядит в движке. Черные точки - это места под будущие локации. Красные точки - центры биомов. Сами биомы, за исключением морского, универсальны - это значит что они подходят под любой пул локаций.

Каждый шаблон может быть отражен вертикально, горизонтально, или обоими способами. Выходит что нарисовав один шаблон мы получаем четыре варианта генерации. Таким образом, карта каждый раз выглядит по-новому.

Локации в соседних биомах, куда ведьма перемещается накопив достаточно маны на заклинание, на карте скрыты облаками. Это сделано для того, чтобы игрок не знал ничего о наполнении биома до того момента, как переместился туда. Прогресс инквизиции сохраняется в каждом биоме, то есть если ведьма решит вернуться в биом в котором уже была - движение инквизиции там начнется с того хода, на котором остановилось.

Вот что в итоге у нас получилось. Кажется, цель достигнута. Предстоит еще проделать немало работы для того чтобы "оживить" карту, добавив на нее движущиеся и интерактивные объекты.

Игра Covenanted в steam сейчас доступна для добавления в wish-list. Какие интересные механики работы с картой в играх вы помните?

Команды в телеграм ботах⁠ ⁠

В ботах часто используются команды вида “/command”, которые провоцируют бота на то или иное действие.

Кто уже создавал ботов мог видеть их в @botfather.

Давайте разберемся как создать этот список команд и присвоить каждой ту или иную функцию.

С созданием списка команд все довольно просто, это реализуется непосредственно в настройках бота через @BotFather:

1) Вводим команду /mybots

2) Видим список наших ботов

3) Выбираем тот бот, которому присвоим список команд

4) Кликаем Edit Bot

5) Кликаем Edit Commands

Далее, следуя формату, отправляем список команд, например:

getkeyboard - получить клавиатуру

Следим, что нам отвечает отец ботов. Видим сообщение Success - мы молодцы! Идем дальше.

Теперь если мы введем “/” в чате с нашим ботом, то он предложит список команд. Проверяем, что список есть:

Добавим логику нашим командам

Как уже видно из описания команд, я хочу отправить в чат клавиатуру.

Создам новую ГТ и перейду к написанию скрипта

Назову файл doPost, здесь будет только эта функция

Добавлю следующий скрипт:

let update = JSON.parse(e.postData.contents);

let msg = update.message;

let text = msg.text;

let msg_array = msg.text.split(" ");

let user = msg.from.username;

if (text == "/getkeyboard")

📎📎📎📎📎📎📎📎📎📎