82

Игра "Правда или Ложь"

Доброго времени суток, уважаемые пикабушники. Не знаю насколько текстовые игры относятся к видеоиграм, но тем не менее хочу представить вам игру "Правда или Ложь" в Телеграме.

Игра "Правда или Ложь" Telegram, Игры, Правда или ложь, Бот, Разработка, Gamedev

Правила проще некуда. Вам выпадает случайный факт и дается два варианта ответа "Правда" и "Ложь". Если вы знаете правда это или нет, то отвечаете, если не знаете – попробуйте угадать :). За одну игру у вас есть возможность дать пять неверных ответов, после чего игра будет окончена. Игра так же будет окончена, если истечет время на ответ. К слову, время на каждый ответ равняется 15 секундам (в них входит время отправки факта с сервера и получение ответа, но это не много). Так же есть возможность пропустить пять фактов. Пропуски ходов – отдельная от попыток величина. Если вы пропустите один вопрос, вы по прежнему будете иметь право ошибиться пять раз до окончания игры. Оставшееся от хода время будет прибавлено к вашим очкам. В конце каждой игры ваш рейтинг будет сохранен в таблице, если вы играете впервые или же превзошли свой предыдущий результат. Если ваш результат будет в десятке лучших, то он будет отображаться в рейтинге игроков.

Игра "Правда или Ложь" Telegram, Игры, Правда или ложь, Бот, Разработка, Gamedev

К сожалению в игре не так много фактов, т.к. генерировать уникальный контент задача не простая и требует много времени, коего всегда мало. Отдельная благодарность @CheyenneBlue за предоставление почти всех фактов. Человеческое лого для игры будет позже, т.к. навыками рисования не обладаю, а у тех, кто обладает, тоже нет времени.

Я искренне надеюсь, что игра вам понравится, и если вдруг у вас в туалете плохо ловит wifi и скорости коннекта не хватает на новороченные нидфорспиды и разного рода клэши, то эта игра точно для вас :).

Так же, если кто-то желает принять участие в составлении фактов – милости прошу, очень буду рад помощи в этом начинании.


Ссылка на игру: https://telegram.me/TruthOrLieBot


Всем приятного дня!

Дубликаты не найдены

+14

Привет IRC, всё новое - хорошо забытое старое.

раскрыть ветку 3
+1

хех, кто еще помнит: !Чак

+1

Согласен. Тем и заинтересовал меня бот телеграма, что с помощью него можно творить такие ламповые вещи. Помню времена, когда залипал в текстовые игрушки на wap сайтиках со своей нокии 6033.

0

Я тут на днях это страшное слово произнесла в чате на 50 человек, возраст от 18 до 36. Ни один, сцуко, ни один не знает, что такое Ирка! >_<

+5
Скачаю телеграмм дабы поиграть в сие чудо.
раскрыть ветку 9
+2
Ну норм, первое место занял под ником Shantykoff
раскрыть ветку 8
+1

Произнес твой ник, когда ты обогнал меня (D), и не получилось тебя догнать.

раскрыть ветку 1
+1

Наблюдал твои старания :)

раскрыть ветку 5
+2

Добавь возможность отвечать вместо правда или ложь: 1 или 0. Если такая возможность уже есть - спасибо)

раскрыть ветку 4
+1

Добавил возможность ответить "Правда" единицей и "Ложь" 0 и 2 (2 для тех кто захочет очень быстро отвечать с клавиатуры). А еще добавил скоростной режим, раз уж на первый план вышла игра на скорость :)

раскрыть ветку 3
+1

Спасибо. Удачи в дальнешем развитии твоего проекта :)

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

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

раскрыть ветку 1
0

А еще получается "кроссплатформенная" реализация :)

0

нашел 1 некорректны вопрос:

Пауки вида черная вдова ядовитей гремучей змеи

Ваши очки: 69

Количество попыток: 1


если придраться то нет вида "черная вдова", есть род Latrodectus представителей которого называют "черными вдовами", сравнивать их нельзя. У "Гремучих змей" основа яда это гемотоксины, у пауков рода Latrodectus основное действующее вещество - нейротоксины, вам не отрежут руку если вас укусит паук, а если змея, очень грубо говоря - отрежут. это как сравнивать удар по голове и ножевое ранение в ногу.


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



пожалуйста, перепроверяйте ваши "факты"

раскрыть ветку 2
0

Вполне конструктивно. Спасибо. Исправлю в ближайшее время :)

раскрыть ветку 1
0
Вот это я понимаю реакция разработчика =)
0

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

раскрыть ветку 1
0

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

0

Кому интересны вопросы посложнее, рекомендую @chgk_bot

-7

@moderator, реклама

раскрыть ветку 2
+1

В этом паблике каждый второй пост тогда реклама. Люди делятся своей игрой в сообществе игроделов, вот ведь странно?!))

+1
Комментарий удален. Причина: оскорбление пользователей.
ещё комментарии
Похожие посты
602

«Честная» игра: как разработчики обманывают игроков

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


Но зачем разработчики обманывают игроков, и действительно ли это так необходимо? Что, если бы всё было по-честному, а успех зависел только от навыков игрока и ни от чего больше? Разберёмся в этом материале.


Автор: Артемий Леонов

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Право на ошибку

Однажды геймдизайнер Сет Костер задался вопросом: что игроки понимают под словами «неотзывчивое управление»? И как оно вообще может быть неотзывчивым? Вроде бы всё просто: если игрок жмёт кнопку «направо», то персонаж должен идти направо — и так далее. С такой простой логикой должны легко справиться и геймдизайнер с программистом, и любой игрок.


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


Сет Костер, геймдизайнер:

Чтобы сделать управление в игре «отзывчивым», нужно понимать игроков лучше, чем они понимают сами себя. Нужно понимать, когда они действуют нелогично, и прощать их за это.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Почему же абсолютно честное управление кажется нам «неотзывчивым»? По мнению геймдизайнера Дженифер Шурл, всё дело тут в особенности человеческой психологии под названием «фундаментальная ошибка атрибуции». Мы склонны объяснять свои неудачи внешними обстоятельствами, а успехи — личными достоинствами.


Иными словами, если у нас что-то не получилось в игре, мы более охотно будем винить разработчиков и «неотзывчивое управление», чем собственную неточность или нерасторопность.


Например, в Levelhead можно прыгнуть на врага, оттолкнуться от него и прыгнуть ещё выше — как и во многих других платформерах. Механика работала очень просто: если игрок удерживает кнопку прыжка в тот момент, когда персонаж касается головы противника, то он от неё оттолкнётся.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Но в ходе тестирования выяснилось, что у одного из сотрудников студии никак не получается освоить эту механику. Он утверждал, что отскок от врага работает «только в половине случаев». Сет Костер знал, как выглядит код, и понимал, что такого быть не может. Вариантов было всего два:


1.Игрок прожимает кнопку и отталкивается от врага.


2.Игрок не прожимает кнопку и не отталкивается.


Выяснилось, что разработчик не удерживал кнопку прыжка, а пытался нажать её ровно в краткий момент соприкосновения с врагом. Идеально попасть в тайминг ему часто не удавалось, и прыжка не происходило. Но вместо того, чтобы проанализировать собственные действия и понять, что он делал не так, сотрудник студии без колебаний обвинил во всём игру и её «непоследовательные» правила.


По словам Костера, в такой ситуации у геймдизайнера два возможных пути. Можно обвинить во всём игрока и попытаться объяснить ему, что игра работает по вполне чётким правилам, а проблема лишь в том, что он играет неправильно. А можно признать суровую правду — люди действуют нелогично, и геймдизайнерам приходится это учитывать.


Сет Костер, геймдизайнер:

Если управление в вашей игре на сто процентов подчиняется логике, то люди неизбежно будут получать «нелогичные» результаты.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Чтобы механика с отталкиванием от врага начала казаться игрокам «честной», достаточно было просто добавить фору в 0,1 секунды. Жалобы на «неотзывчивое управление» и «непоследовательные правила» немедленно прекратились.


Разработчикам так часто приходится прибегать к обману, чтобы их игры казались «честными», что у некоторых таких приёмов даже есть собственные названия.


Например, существует понятие «правило койота» (Coyote time), названное в честь Койота из мультфильмов Looney Tunes, который часто зависал над обрывом, прежде чем упасть. Дело в том, что в платформерах игроки обычно предпочитают нажимать кнопку «прыжка» в самый последний момент — чтобы прыгнуть как можно дальше. Зачастую они ошибаются и делают пару лишних шагов в бездну.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

«Правило койота» в Celeste. Подробнее — в этом посте.


Если бы всё было «по-честному», такая неосторожность привела бы игрока к падению — но практически любая игра даст ему оттолкнуться от воздуха и всё-таки совершить прыжок. Это и есть Coyote time — если в вашей игре такой уловки не будет, управление почти наверняка назовут «неотзывчивым».

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Жёлтой точкой отмечен момент, в который игрок нажимает на кнопку «прыжка».


Crash Bandicoot N. Sane Trilogy, ремастер первых трёх игр о Крэше, фанаты критиковали за то, что прыжки в нём стали «непредсказуемыми». Разработчики, как оказалось, просто сократили Coyote time по сравнению с оригинальными играми: теперь Крэш быстрее падал, оказавшись без почвы под ногами. В реальности игра стала более «честной», а в восприятии игроков — наоборот.

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


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


Сергей Праздничнов, геймдизайнер:

В Uncharted, Tomb Raider, Dying Light и других играх, если игрок нажмёт на кнопку «прыжка» на бегу, то перед прыжком может произойти небольшая задержка. Игра рассчитывает расстояние до края и следит, чтобы прыжки выглядели максимально реалистично, а игрок допрыгивал до нужного места.

Метрики просчитаны таким образом, чтобы у игрока всегда была возможность допрыгнуть, — но проблема в том, что он не всегда нажимает «прыжок» в нужный момент. Поэтому там есть некая дельта: игрок может нажать кнопку чуть раньше, чем нужно, или чуть позже, чем нужно. Если приглядеться, можно заметить, что иногда Лара Крофт добегает до края платформы, и только после этого начинает прыжок — хотя на кнопку нажали чуть раньше.
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Авторы метроидвании Dead Cells пошли ещё дальше: игра постоянно пытается предугадать, какой результат хочет получить игрок, и подстраивается под него. К примеру, если рядом с игроком находится враг, игрок нажимает на кнопку «удар», но не успевает нажать на кнопку направления, то удар всё равно придётся по врагу. Также в бою действует «система приоритетов»: Dead Cells предугадывает, какого противника вы хотели бы добить первым, и при прочих равных направляет удар игрока именно в этого моба.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Геймдизайнер Себастиен Бенар объяснял своё решение так: мозг «стремится всё объяснять» — увидев результат своего удара, игрок скорее предположит, что сделал всё правильно, чем начнёт анализировать последовательность своих нажатий на кнопки и обнаружит, что игра водит его за нос.


Игроки вообще склонны искажённо воспринимать понятие «попадания». Сет Костер советует делать врагам в платформерах прямоугольные хит-боксы, которые будут сильно вылезать за их спрайты — чтобы возникало как можно меньше «спорных» ситуаций. Если у игрока возникнет вопрос, попал он по врагу или нет, он почти наверняка решит, что он-то всё сделал правильно, а игра просто не засчитала попадание.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

«Право на ошибку» игроку предоставляют самые разные игры. К примеру, в Half-Life пущенные мимо цели снаряды сами притягиваются к взрывающимся бочкам. В Titanfall 2 выпущенные игроком пули увеличиваются в размерах в полёте, чтобы с большей вероятностью поразить противников, расположенных вдалеке.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

А все Uncharted, начиная со второй части, тщательно следят за тем, чтобы Дрейк оставался жив после забегов по рушащимся мостам и падающим в пропасть поездам. Разработчики управляют скоростью анимации: если Дрейк бежит по оптимальному маршруту, то мост будет рушиться быстро; если же он отклонится от нужного пути и будет наталкиваться на препятствия, то анимация замедлится.


И все эти ухищрения — для того, чтобы игра казалась «честной» и приносила положительные эмоции.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Сложность

Многие знают, что в BioShock и Uncharted первые вражеские выстрелы гарантированно не попадают в цель, а в Far Cry 4 у противников резко снижается точность, когда вы подходите к ним слишком близко.


Это тоже связано с психологией: если Дрейка будут убивать немедленно, как только он высунул голову из укрытия, игрок посчитает это «нечестным». Поэтому и тут геймдизайнерам приходится прибегать к обману — чтобы не вызывать у игроков лишнюю фрустрацию.


Джейми Мэдиган, психолог:

«Честность» — это не какое-то объективно существующее состояние. Это лишь оценка, которую производят наши поддатливые человеческие мозги. Она может меняться в том числе от нашего восприятия и от того, как преподносится информация.
Источник

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


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

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

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

Если схватки будут слишком лёгкими или слишком трудными, игра тоже будет казаться «нечестной».Именно поэтому разработчики создают системы динамического повышения и понижения сложности — которые при этом непременно должны быть скрыты от глаз игрока.


Журналист и автор канала Game Maker’s Toolkit Марк Браун приводит Resident Evil 4 как удачный пример «обмана». Игра полностью подстраивается под игрока: если он часто промахивается и погибает, то враги начнут вести себя менее агрессивно или даже вовсе пропадать с поля боя.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

По мнению Брауна, система динамического изменения сложности в игре работала столь эффективно по одной простой причине: игроки не догадывались о её существовании. Разработчики даже ни разу не упоминали её в интервью — в то время как многие их коллеги делали подобные системы центральной частью маркетинговой стратегии. О том, что Resident Evil 4 подстраивается под игроков, официально стало известно лишь через год после выхода игры.


То же можно сказать и о первой Max Payne — многие и не подозревали, что на протяжении всего прохождения игра активно помогала им создавать кинематографичные моменты. Если игрок слишком часто промахивался, Max Payne незаметно делала aim-assist более эффективным; если проходил уровни слишком быстро — добавляла врагам дополнительных очков здоровья.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Без «обмана» достичь такого эффекта было бы невозможно: если бы игроки знали о существовании этой системы, они либо отключали бы её, либо проводили бы всю игру с ощущением того, что они недостаточно хорошо играют. А так разочарование может прийти только уже после прохождения — если вы натолкнётесь на эту информацию в какой-нибудь статье.


По мнению геймдизайнера Ильи Туменко, подобные механики всегда должны быть скрыты от игрока — иначе они не сработают так, как нужно.


Илья Туменко, геймдизайнер:

Явная компенсация неудачи будет похожа на жалость, а успеха — на развод. Вместо радости игрок будет испытывать разочарование или раздражение.
Источник

Вероятности

Вероятности попадания в современных XCOM уже превратились в мем: многие игроки уверены, что игра «подсуживает» инопланетянам. Наверное, любой может вспомнить случай, когда казавшийся верным выстрел оборачивался катастрофой; или когда солдат неожиданно начинала преследовать необъяснимая череда неудач.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

На самом деле XCOM, как и многие другие игры, работающие с вероятностями, «подыгрывают» вовсе не компьютерному противнику, а игроку. В XCOM 2, к примеру, вероятностям, которые отображаются на экране, можно верить только если играть на самой высокой сложности. На остальных они занижены: если игрок видит вероятность попадания в 50%, то на самом деле она выше. Не говоря уже о том, что каждый промах даёт дополнительный бонус к вероятности попадания.


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


Это тоже связано с особенностями нашего мозга: мы начинаем считать игру «нечестной» только в том случае, если результат нас не устраивает.


Дженифер Шурл, геймдизайнер:

Люди совершенно не умеют здраво оценивают «честность» и «вероятность». Мы всегда готовы отдаться иллюзии того, что мы должны были выиграть — даже если это иррационально.
Источник

В 2019 году психологи провели показательный эксперимент: испытуемым предлагалось сыграть в карточную игру, по условиям которой у одного из игроков было гигантское и очевидное преимущество с самого начала. 60% игроков, победивших в игре, посчитали её «честной», в то время как среди проигравших таких было лишь 30%.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Играя в X-COM, вы вряд ли обратите внимание на то, что ваши солдаты пять раз подряд совершили успешные выстрелы при вероятности попадания в 50%. Интуитивно нам это кажется нормальным. А вот пять промахов подряд уже способны вызвать уверенность, что игра явно подыгрывает вашим противникам.


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


Сергей Праздничнов, геймдизайнер:

В реальной жизни ничто не помешает монетке десять раз подряд упасть «орлом». В некоторых играх же делают так: если ты три раза промахнулся, то в четвёртый непременно попадёшь. Система ведёт учёт «успехов» и «неудач», игнорируя вероятности, которые закладывались изначально.

Есть базовая логика — это те самые 50% вероятности выпадения «орла». А в случае, если «орёл» будет выпадать слишком часто, к ней подключится дополнительная.

Психолог Джейми Мадиган приводит такой пример: игроку нужно собрать 15 предметов, у которых десятипроцентный шанс выпадения. Он собирает почти все из них примерно в одинаковом темпе, но последние пара предметов почему-то не выпадают. Игра никак не подтасовывает результат — всё происходит в соответствии с теорией вероятностей. Сначала игроку везло, а затем перестало везти — это нормально. Но у него возникает ощущение, что игра «жульничает» — и это вызывает негативные эмоции.


Чтобы такого ощущения не возникало, геймдизайнер как раз должен сжульничать — увеличить шанс выпадения до 15, 20 или даже 25 процентов, не сообщая об этом игроку. При таких условиях ему будет казаться, что он имеет дело с «честной» вероятностью.

«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

По мнению геймдизайнера Ильи Туменко, в соревновательных играх «честный» рандом почти всегда имеет негативные последствия — потому что это, как ни парадоксально, создаёт неравные условия для противников.


К примеру: легендарная карта выпадает редко, и при этом она способна радикально повлиять на ход партии. Значит, если она выпала вашему противнику, а вы не получили за это никакой «компенсации» — игра поставила вас в заведомо невыигрышное положение.


Если вы сыграете несколько тысяч партий, такое «нечестное» преимущество в одной из них не сильно повлияет на общий исход. Но если партий всего несколько — кто-то обязательно будет недоволен.


Илья Туменко, Publishing Director в AppQuantum:

Чтобы случайность сравняла шансы и привела к нормальному распределению, требуется очень много событий. То есть, от каждого игрока потребуется много игр, много побед и много открытых сундуков. Тогда спустя время наступит баланс. Вот только недовольные уйдут раньше.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Вероятно, на вопрос «стоит ли обманывать игрока» почти любой современный геймдизайнер ответит утвердительно — кроме, пожалуй, разработчиков игр вроде Dark Souls или Super Meat Boy, которые ценят в том числе за страдания, которые они причиняют игроку.


Задача разработчика заключается не в том, чтобы создать максимально «честную» систему, а в том, чтобы игрок получал интересный и приятный игровой опыт. Если для этого приходится немного слукавить; подкрутить одни механики в пользу игрока, а о существовании других — умолчать, то в этом не будет ничего страшного.


Илья Туменко, геймдизайнер:

Что забавно: сделаете вы «честно» или «хитро», результат будет один. Часть игроков обвинит вас в надувательстве (неважно, есть оно или нет), а большинство ничего не заметит.

Поэтому всё, что вам остается — делать интересную и успешную игру. С хитростями и секретами, — если с ними становится лучше.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

По мнению Сета Костера, задача геймдизайнера — в том, чтобы предоставить игроку как можно больше возможностей победить. И только когда не остаётся ни малейшего другого выбора, — он проигрывает.


Спастись в последний момент гораздо интересней, чем в очередной раз увидеть перед собой экран «Вы погибли». Именно поэтому, например, в Doom и Assassin’s Creed здоровье начинает убывать гораздо медленнее, когда его остаётся мало.


Сет Костер, геймдизайнер:

Ваши игроки — это люди, а люди склонны делать дурацкие вещи. Они нажимают не на те кнопки, слишком сильно сжимают контроллер, паникуют, и делают ещё кучу вещей, о которых они даже сами не догадываются, и которые не могут объяснить.

Иными словами, игроки не идеальны. Но мы не должны требовать от них, чтобы они были идеальными.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Но у такого подхода есть и противники. Пожалуй, самый заметный из них — Джонатан Блоу, создатель Braid и The Witness. В одном из интервью геймдизайнер раскритиковал современных разработчиков — по его словам, студии идут на всё, чтобы игрок не получал ни малейшего негативного опыта, поскольку это может сказаться на продажах. Из-за этого от игроков «не требуется заниматься чем-то сложным или интересным».


Джонатан Блоу, геймдизайнер:

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

Собери три камушка одинакового цвета в ряд! Но вот удивительно: большую часть очков ты будешь получать в результате того, что камушки «случайным образом» падают сверху и сами образуют удачные комбинации. Так что показать плохой результат в этой игре невозможно.
Источник
«Честная» игра: как разработчики обманывают игроков Xyz, Игры, Gamedev, Разработка, Компьютерные игры, Гифка, Видео, Длиннопост

Впрочем, доктор психологии и директор Epic Games по UX Cелия Ходент считает, что вопрос нужно ставить не так. Любая игра в той или иной степени нами манипулирует — вопрос лишь в том, с какой целью она это делает. Ведь с помощью обмана и манипуляции можно как улучшить игровой опыт, так и причинить игроку вред.


Селия Ходент, директор Epic Games по UX:

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

Безусловно, компьютерные игры манипулируют игроками; вопрос лишь в том, вредят ли игрокам эти манипуляции. Эксплуатируют ли игры ограничения человеческого мозга, преследуя исключительно корыстные цели в ущерб игрокам? Вот о чем всей индустрии стоило бы задуматься.
Источник, перевод.
Показать полностью 20 2
129

Как процедурная генерация помогает создавать открытые миры. Часть 1

Современные открытые миры в играх — это огромные пространства с реалистичными лесами и полями, городами и деревнями, тропинками и многополосными шоссе. Зачастую они выглядят настолько впечатляюще, что игроки всерьёз любуются виртуальными пространствами и делают десятки скриншотов. Фотографируя очередную поляну в рассветных лучах, игрок может и не догадываться, что она была сгенерирована автоматически.


Мы изучили доклады и презентации специалистов по генерации открытых миров, а также пообщались с программистом AAA-игр Александром Балакшиным, и теперь рассказываем, как работают эти алгоритмы, кому они могут пригодиться, и как их использовали в разработке The Witcher 3: Wild Hunt, Horizon Zero Dawn, The Sinking City и Spider-Man 2018-года.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Horizon Zero Dawn


Автор: Юрий Кулагин


Кому и зачем нужна генерация


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


А разработчики The Elder Scrolls II: Daggerfall в 1996 году использовали процедурную генерацию, чтобы собрать из заготовленных частей пять тысяч городов. Разработчики доказали, что автоматизировать создание локаций возможно, — правда результат может получиться довольно однообразным.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

The Elder Scrolls II: Daggerfall


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


Александр Балакшин, геймплей-программист:

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

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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


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


Александр Балакшин, геймплей-программист:

Работая с процедурной генерацией, нужно понимать, что ручную работу никто не отменял. Художники могут взять сгенерированный кадр и сказать: “Всё, конечно, хорошо, но отсюда это смотрится паршиво, оттуда — неестественно, а там вообще какая-то дичь”. И они начнут потихоньку это исправлять. Так что генерация облегчает работу, но не заменяет соответствующих специалистов.

Художники не останутся без работы ещё и потому, что в открытых мирах отлично работает принцип Парето — игрок активно изучает только 20% локации, а оставшиеся 80% служат фоном. Так что логичным шагом будет отдать проработку и заполнение этого фона на откуп алгоритмам, и дать художникам больше времени на проработку того, на что игрок обратит внимание.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Spider-Man (2018)


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


Александр Балакшин, геймплей-программист:

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

А с точки зрения геймплея не нужно ставить какой-то дикий грейбокс, чтобы обозначить лес, — он же вообще не будет отражать окончательный вариант. Одно дело — использовать грейбокс для здания, совсем другое — когда такой же кубик берут для леса.

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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


Кисти для процедурной растительности

Для The Witcher 3 разработчикам из CD Projekt RED нужно было создать мир, который в 35 раз превышал бы размер локаций второго “Ведьмака”. Людей с опытом работы над полностью открытым миром не хватало, а приступить к созданию локаций нужно было как можно скорее.


Выход из ситуации нашла ответственная за движок команда, которая как раз искала необычные технические решения для своего инструментария. Вместо нескольких десятков художников фундамент для открытого мира “Дикой охоты” создали всего пять человек во главе с ведущим программистом Марчином Голлентом.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

The Witcher 3: Wild Hunt


Александр Балакшин, геймплей-программист:

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

Команда Голлента разработала систему, которая позволяла легко создавать огромные лесные пространства, на ходу смешивая текстуры и расставляя ассеты. Например, алгоритм умел создавать плавные переходы между материалами: на стыках двух поверхностей использовали сразу две текстуры, с которыми система работала индивидуально.


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


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


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


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

Марчин Голлент, ведущий программист графики CD Projekt RED:

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

Источник


Для создания деревьев и кустарников художники CDPR использовали другой инструмент — кисти с набором растительности. Их можно было настраивать под конкретную локацию, указывая насыщенность местности водой, освещённость и даже направление, в котором могут распространятся семена.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


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


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

The Witcher 3: Wild Hunt


Если для конкретного дерева не хватало воды или солнца, то кисть исключала этот тип из локации. Но даже если ресурсов было достаточно, объект всё равно сравнивался с заданными “идеальными условиями”, и его размер менялся соответственно. Поэтому одна и та же кисть, применённая на долину у озера и на скалистый засушливый холм, выдавала разный результат.


Также эти кисти давали разный результат при разном количестве применений. Если художник использовал кисть на конкретном участке один раз, у него получался лёгкий подлесок: кустарник, отдельно стоящие деревья. Но если он повторял приём, эффект становился заметнее — кустарники разрастались, деревьев становилось больше, а сами они росли выше.


Марчин Голлент, ведущий программист графики CD Projekt RED:

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

Источник

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


Слои для процедурных биомов

Работая над Horizon Zero Dawn, программисты Guerrilla Games тоже использовали процедурную генерацию. Художники студии привыкли контролировать каждую деталь на локации ещё во времена работы над серией Killzone. Поэтому и в новой игре они хотели иметь возможность поменять результат генерации — например, передвинуть гору, которую алгоритм поставил неправильно.


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Horizon Zero Dawn


Александр Балакшин, геймплей-программист:

В Horizon: Zero Dawn художники создали карты дорог, высот, рек и растительности. В зависимости от биома между этими картами выстраивается определённая логика взаимодействия. В них хранится информация о плотности: чёрные значения означают, что в конкретной точке не может быть растительности, белые — что в ней должно быть максимальное количество растительности.

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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


Чтобы сгенерированные локации не просто работали, но и выглядели разнообразно, художникам студии потребовалось создать множество ассетов и шаблонов растительности, — но это всё равно оказалось быстрее и выгоднее, чем ручная проработка мира. Три человека в Guerrilla Games нарисовали 500 типов растений, а шаблонами занимался один технический художник.


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

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


Чтобы модели растительности не мешали друг другу, для каждой указывался footprint — отпечаток, задающий минимальное расстояние между объектами одного типа. А чтобы результат не выглядел искусственно, художники настраивали отдельный параметр, который хаотично разбрасывал цифры и менял логику размещения. Зачастую локацию потом отдавали художникам, чтобы те могли вручную её отредактировать.


Александр Балакшин, геймплей-программист:

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

В Horizon: Zero Dawn игрок исследует множество разных биомов, — от среднеевропейских лесов до заснеженной тундры. Сами разработчики называли их “экотопами”: с точки зрения инструмента генерации это были просто наборы настроек для создания локации.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Horizon Zero Dawn


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


Система работала и с геймплейными элементами. Например, при помощи отдельного инструмента художники могли размещать на локации специальный “стелс-кустарник”, в котором игрок прятался от врагов. Его расстановка и логика тоже подчинялись общим правилам — в воде или на дороге кусты не генерировались.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Horizon Zero Dawn


Причём этот инструмент не закреплял объекты на локации намертво. Сгенерированная растительность автоматически подстраивалась под изменения, которые вносили художники. Это упрощало ручную правку локации — если переместить или изменить тропу в лесу, растительность вокруг неё изменялась сама.


Яаап ван Мюжден, старший технический программист Guerrilla Games:

Процедурную генерацию в Horizon Zero Dawn мы использовали везде, где только могли — для ассетов, эффектов, даже геймплейных элементов. И результат выглядел очень здорово: он полностью вписывался в видение арт-директора.

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

Источник

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

Источник


Сетка для процедурного города

Чтобы построить большой и реалистичный город в The Sinking City, студия Frogwares создала инструмент процедурной генерации для Unreal Engine 4. По словам Константина Якушенко, который возглавляет в компании команду tools-инженеров, разработчики вдохновлялись конструктором Ubisoft, с помощью которого создавали здания и улицы в Assassin’s Creed Unity и Syndicate.


Процедурная генерация в города в The Sinking City начиналась с ручной работы. Художники создавали “сетку”, — макет основных улиц и ориентиров — и указывали, какие типы домов могут находиться в том или ином районе. А ландшафт, рельеф и ширина улиц определялись лишь предварительно.

Как процедурная генерация помогает создавать открытые миры. Часть 1 Xyz, Gamedev, Игры, Компьютерная графика, Художник, Разработка, Гифка, Длиннопост

The Sinking City

Показать полностью 17
78

Долгий тернистый путь. Разработка Star Souls

Теперь, спустя три с половиной года, после большого обновления, включающего русскую локализацию, исправленную английскую локализацию, автострельбу, только сейчас мы с гордостью можем сказать – Star Souls готова!

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

Оборачиваясь назад, я понимаю, что у нашей команды не получалось быть максимально открытыми. Почему? Похоже, мы из того поколения, которое не привыкло выкладывать каждый чих в сеть. А вот сейчас наболело настолько, что пришло время рассказать, как это было. Обстоятельно так, не скупясь на гнусные детали) Интересно сравнить нашу историю с тысячами других инди-удачников и неудачников, похвалить себя и поругать, похвастаться и пожаловаться. А еще подвести итоги и сделать выводы на будущее для себя и для тех, кто внезапно тоже захочет сделать игру мечты.


Возможно, кто-то вынашивал идею годами, а у нас все началось за один вечер. Случилось страшное: муж (это который Dmitriy Leonovich) решил пилить игру.

Мысли на полях: девочки, ваши мужчины должны быть заняты на 110%, иначе рано или поздно они могут начать ПИЛИТЬ ИГРУ. Пусть лучше у них будет любовница, секта, друзья, пусть они ходят в казино, прыгают с парашютом, пьют на гаражах, но делать игры не разрешайте! Подойдет любая активность: можно заставить выбивать ковры, ходить в качалку, в бильярд, заниматься необузданным развратом, чем угодно!!! А если вы не уследили (САМА ВИНОВАТА, ДУРА!), и игра сама собой начала ПИЛИТЬСЯ, то никогда, вы слышите, никогда не позволяйте себя втянуть в разработку! У вас лапки, маникюр, вы тупы, как пробка.

Он накатал несколько листов, гордо назвал это «Умирающий космос» (уже тогда я должна была заподозрить неладное), и потопали мы на конференцию, где ребята показывали презентации с идеей игры, а потом все желающие могли обменяться контактами. К нам подошел наш будущий композитор Антось и программист Кирилл, и заверте…

Сейчас я пыталась допросить Диму: а почему именно такая игра? Тактика с микроменеджментом, да еще и квазирогалик? Ответ исчерпывающий: «А мне нравится». Такой вот и плюс и минус инди разработки: делаешь то, что нравится именно тебе, но мало думаешь о тех, кто это потом купит. В планах было сделать ЗА ГОД (за год, ахахах…) простенькую игру про космические корабли, которые весело перестреливаются под красивую музыку Антося на шикарных Диминых фонах. Меня тоже привлекли писать мини, просто микро текстовые события, вроде «Вы встретили злых инопланетян, что будете делать? Стрелять или бежать?»

Мысли на полях: если вы оцениваете время и деньги, которые потратите на игру, сразу смело умножайте их на 3, а то и на 4. Требующиеся от вас усилия и нервы умножайте на 10. Минусуйте отношения с родными, которых вы будете теперь видеть КРАЙНЕ РЕДКО, досуг (у вас на него теперь не будет ни времени, ни денег), работу, которую вы теперь будете выбирать не по душе, а исходя из текущих потребностей. А теперь думайте: а оно мне надо?

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

Мысли на полях: на одной из конференций ко мне подошел достаточно возрастной для геймдева дядечка лет сорока с видом безумного отшельника, поймал за пуговицу и начал говорить очень искренне: «Поймите, тут куча людей, но им важны только их собственные игры, а играми других они не интересуются». Сейчас я понимаю, насколько он был прав. Инди сообщество, по крайней мере в СНГ – это что-то вроде инертного газа. Помните, что это такое? Атомы инертного газа как бы сами по себе и не взаимодействуют ни с чем, в том числе сами с собой. Делайте вывод сами)

Довольно удачной, впрочем, оказалась поездка на Digital Dragons. Там нам удалось собрать действительно полезный фидбэк, критика от посетителей была на удивление корректная и конструктивная.

Решили разыграть туз из рукава. Туз назывался модным словом КРАУДФАНДИНГ. Как вспомню, сколько труда было вложено в нашу кампанию на indiegogo.com, хочется одновременно выть, скрипеть зубами и рвать на себе волосы. Но тогда мы были полны сил и надежд, нас вдохновлял относительно легко полученный Гринлайт на Стиме (да, когда мы начинали, он еще был). Но есть большая разница – заставить человека отдать хотя бы несколько баксов и просто нажать на кнопочку. Первое сложнее на порядок. И опять все делали по правилам, но…

Не получилось. Фиаско потерпели мы.

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


Сейчас я ту весну вспоминаю, как звенящую от напряжения тишину. Почему мы не решили остановиться, я даже не знаю. Оставим за кадром отчаянные поиски денег и сфокусируемся на тех важных решениях относительно игры, которые мы сделали.


Квесты были скучные. Написать 200+ квестов типа «Вы на планете-пустыне, вас атакуют, вы в опасносте» было задачей не из легких. Сколько таких обезличенных, рандомных и, главное, интересных ситуаций можно придумать? Сюжета у нас не могло быть, потому что квесты выпадали случайно. Потому что у нас типарогалик.

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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

Я придумала героев. Тогда скандалов с дайверсити еще не было, поэтому нет у нас ярких представителей нац- и сексменьшинств. А еще я не знала, как о них писать, особенно, чтобы никого ненароком не обидеть. С другой стороны, какие тут претензии к маленькой инди игре, правда? Дима нарисовал портреты, по нескольку для каждого героя (злится, улыбается, нейтральный). Я стала что-то писать, потребовались враги, инопланетяне, мирные жители, пилоты, боссы, компьютеры, и даже зверушки… Любовница нашего главного героя любит зверушек. Количество портретов разрослось аж до 62.

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

Тут следует сделать небольшое отступление. Писать мне раньше приходилось, да только совсем не такое. Поначалу я не совсем понимала, как работать именно с персонажами. Начитавшись туториалов, я честно продумала черты характера, взаимоотношения, личную историю, но чувствовала, что персонажи эти картонные. Лучшим учителем в этом деле оказалась Джоан Роулинг. Она не просто создавала персонажей из воздуха, она их подсматривала. Именно в жизни ты часто видишь, как характер влияет на поступки, и в конечном итоге, на судьбу людей, и можешь подворовывать эти маленькие истории.

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

Герои стали жить своей жизнью, и я им была больше не хозяйка. Исключением стал капитан. Поскольку квесты предполагали вариативность, какой-то цельный характер я не стремилась прописать. Могла только продумать историю: родился и вырос где-то на задворках галактики, невысокого происхождения. По поводу внешности неоднократно упоминается, что у него «странный вид» из-за мутаций, свойственным жителям его родной планеты. Капитан вдовец, не дурак поразвлечься.

По очевидной причине мне было проще с женскими персонажами: тут я могла вкладывать в них какие-то аспекты своей души. Единственная заминка была с историей погибшей жены капитана. Мне не писалось совершенно, я не могла понять, как и почему она умерла. Теперь я знаю, из-за чего в книгах некоторые секреты остаются секретами, а читатели потом занимаются ПГС) На меня снизошло озарение чуть ли не за неделю до релиза.


Появился вопрос, в чем смысл проходить эти квесты, если на историю твои решения в целом не влияют? По итогу решили не мудрствовать лукаво и сделать «репутацию», как во всех божеских играх. Отрицательная репутация открывала бы плохие ситуации и наоборот.


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

Мысли на полях: никогда не получится реализовать все, что задумал. Что-то не будет работать по техническим причинам, что-то на деле окажется неинтересной лажей, а на что-то не хватит сил и/или денег. Для инди последнее – самая реальная реальность, как мне кажется.

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


Это один "обычный" квест, ноды...

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

От многого пришлось отказаться и в боях. От захвата вражеских кораблей, от тарана (когда наш корабль бодает противника), от красивых взрывов кораблей, от телепортации медленного главного корабля. Некоторые механики были почти реализованы, их удалось «пощупать», и ощущались они классно, но вот заставить их работать как следует никак не получалось. Пришлось пустить под нож. Не успели сделать награду за разрушения объектов на поле боя (астероидов и т.п.) – у программиста физически не было времени. Планировали сделать красивые уникальные взрывы с разлетом осколков кораблей, но так как художник и геймдизайнер это один человек (который Дима), то от красоты пришлось отказаться в пользу проработки баланса и боевой системы.


Взрывы кораблей и астороидов - Pre Alpha:

Взрывы кораблей и астороидов - релиз:

Основная задумка в игре - это позиционирование кораблей на поле боя. Поле разделено на квадраты, и игрок сразу видит, попадет ли в корабль летящий астероид или нет, и куда надо стать, чтобы скрыть корабль в туманности. Из-за того, что большинство кораблей занимает более одной клетки (как в «Морской бой»), не всегда очевидно передвижение корабля - это получилось не самой сильной стороной игры, к тому же, часть механик мы не реализовали.

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


Как выглядит сетка поля в Unity (желтые клетки это путь летающих астероидов):

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

Когда читаешь, с какой легкостью при разработке ААА-игр отказываются от готового дорогостоящего контента, прям оторопь берет. У нас ситуация была, прямо скажем, противоположная. Иногда приходилось использовать какие-то наработки в неожиданном ключе. Фантастические рассказы, которые я писала как обновления для краудфандинга, ушли в квесты в качестве найденных данных, внутриигровых рассказов, и т.д. Зверушек Дима рисовал когда-то давно для себя, как и некоторые из заставок.


К нашей команде присоединился новый программист со свежими силами. На удивление, он не нервничал и почти не сопротивлялся, когда Дима выкатывал свою очередную замечательную идею.


К сожалению, игру приходилось теперь делать вечерами и по выходным, потому что мы оба стали работать фуллтайм. Но тут как в сказке про горшочек и дудочку, если вы понимаете, о чем я :)


На определенном этапе оказалось, что нам нужен переводчик. Тут я сделала просто фатальную ошибку, которая лично мне обошлась в большую сумму денег и не меньший объем нервов. Насколько бы ни был хорош переводчик, перевод – это не локализация. Узнать мне об этом пришлось уже после релиза, когда я в холодном поту слушала немного недовольные обзоры на нашу игру от граждан Союза Капиталистических Стран Америки. Хотя заподозрить должна была еще раньше, когда анекдоты переводились дословно, а инди (в смысле инди-игра) как turkey.


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

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

Единственным правильным решением был поиск native speaker’а, что и было сделано, к сожалению, уже после релиза. Думаю, мы могли бы по итогу обойтись и без переводчика, так как перевести текст я могла и сама, пусть и посредственно.


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


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


Потом пришло время самого нудного: тестирования и поиска опечаток.


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


Из-за того, что в последнее время мне приходилось работать лежа с большим телевизором вместо монитора, ошибок было море. Дима, из-за его врожденной «граматнасте», помочь ничем мне не мог, поэтому подключился наш композитор Антон. Он наиграл часов 150 только в Стиме, не говоря о билдах.


3 марта 2020 состоялся релиз игры. В этот же день я впервые взяла на руки своего сына.

На тот момент Дима оказался дома совершенно один, и заниматься рекламой пришлось ему самому. Результат продаж был, к сожалению, не тот, на который мы надеялись. Зато я узнала, что врачам удалось вывести меня в ремиссию, и помирать пока рано.


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


На злобу дня:

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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


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

Страница игры в Steam: https://store.steampowered.com/app/819520/Star_Souls/


Читайте в следующей части – звук, музыка/озвучка, ролики, темные тайны кода и юридические делишки.

Показать полностью 6 3
332

Shieldwall - Ранний доступ

Всем привет!


Сегодня я, наконец, созрел для написания этого важного для меня поста. Дело в том, что 23 марта 2020 года я выпустил свою игру Shieldwall в ранний доступ в Steam. В этом посте я расскажу о том, как это было.

Shieldwall - Ранний доступ Unreal Engine 4, Gamedev, Разработка, Видео, Длиннопост

В последней главе моего увлекательного сериала (в смысле, в моем предыдущем посте) я показал основу геймплея Shieldwall. Пост нашёл позитивный отклик: многим понравился визуальный стиль вкупе с озвучкой персонажей. Это меня приободрило, и я вышел на финальную прямую перед моментом Х.


И вот здесь стоит вернуться немного назад во времени и объяснить, что значит для меня этот проект. После успешного релиза (успешного - для меня тогдашнего) моей первой игры Formata у меня где-то полгода был творческий кризис. В конце августа 2018 я всё-таки нашёл внутри себя увлекательную идею и принялся за работу над следующим моим проектом - Discharge. Но 8 месяцев работы до релиза и еще 2 месяца после - не увенчались успехом. Я допустил ряд серьезных ошибок по всем направлениям: я напортачил в дизайне базовых механик, я попал совершенно не в ту аудиторию, в которую хотел попасть, я сильно спешил и пошёл в полный релиз с недоделанной игрой, а кроме того, я делал игру "для себя", а не для игроков. В итоге, выручка не перебила даже трети денежных затрат на проект, и это я уже не говорю про свои силы и время.


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

Shieldwall - Ранний доступ Unreal Engine 4, Gamedev, Разработка, Видео, Длиннопост

Ближе к осени 2019 я всё же собрался с силами и сел за работу. А ситуация была довольно напряженная: все эти мои попытки убежать от "завода" до сих пор держались лишь на одной Formata. Этот чудесный проект позволил мне еще пинать болт, разрабатывая и Discharge, и Shieldwall. Но продажи падали, а расходы превышали доходы. По моим подсчетам я укладывался тютелька в тютельку; мне нужен был релиз в феврале 2020. Но не просто релиз, а успешный релиз.


Я поставил на Shieldwall всё, имея за спиной только: один успешный проект, отзывы у которого уже стали смешанными, а также один провальный проект... Но кроме этого у меня был опыт. Мне казалось, что я понимал, в чём ошибся, и как это исправить.

Shieldwall - Ранний доступ Unreal Engine 4, Gamedev, Разработка, Видео, Длиннопост

Я делал посты здесь и на реддите по ходу разработки. Некоторые из них вызывали интерес у публики. Но я не знал наверняка, верна ли моя догадка и зайдёт ли игра в Steam. Всё это время меня одолевали страх и сомнения.


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


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


Вдруг, ютубер BaronVonGames, который когда-то играл в Formata, снова в неё сыграл на своём канале. Это при том, что новых роликов по Formata не появлялось уже очень давно. Его ролик краткосрочно поднял продажи моей первой игры, что принесло еще немного денег: как раз на тот месяц, который мне был очень нужен. Я это воспринял как знак, что выводы я сделал верные.


И бум!

Shieldwall - Ранний доступ Unreal Engine 4, Gamedev, Разработка, Видео, Длиннопост

Я вышел в ранний доступ.


Те цифры продаж, которые я для себя посчитал бы успехом за первые два месяца, я получил в первые сутки.


Надо сказать, что релиз у меня вышел скомканным, как всегда: 3/3! Почему я не могу не накосячить с чем-нибудь?! Я выложил игру - в первой миссии не работает навигация для ботов. Игра не играется. Я отхватил негативных отзывов из-за этого бага. Ошибку я быстро устранил, но было обидно, т.к. часть из этих негативных отзывов до сих пор осталась. 


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


Один из первых роликов (мой любимый) на YouTube о моей игре:

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


Я не заплатил ни за один ролик на YouTube. Я просто разослал ключи за несколько дней до планируемой даты выхода моей игры в Steam. Некоторые блогеры сняли видео, и количество вишлистов с ~700 выросло примерно до ~15000 к моменту выпуска. Я уж не знаю, какую часть влил сам Steam, но мне кажется, что работает это как снежный ком.


Покупать контекстную рекламу и/или рекламу в контакте - не выгодно. Можно поиграться, если есть лишние деньги, но на какой-то серьезный результат не рассчитывайте. С этим проектом я не покупал рекламу.


Также я хочу сказать, что я никогда не крутил отзывы. По моему мнению, это глупое занятие. Вы обманите Steam, и Steam нальёт вам независимый трафик, который, в свою очередь, оставит уже настоящие отзывы. Стратегически это просто не выгодно. А потом Steam, в добавок, забанит вас пожизненно.


А вот на что стоит обратить внимание. В этот раз я точно знал свою базовую целевую аудиторию. Это игроки TABS и Ravenfield. Соответственно, я старался сделать игру, которая привлечет их внимание. Потом я пошёл к ютуберам, которые играли в эти игры. И, в конце концов, я составил список тегов на странице в Steam основываясь на тегах этих двух игр (TABS - в первую очередь), а также использовал ключевые фразы в описании (например, battle simulator).


Фанатский арт :D

Shieldwall - Ранний доступ Unreal Engine 4, Gamedev, Разработка, Видео, Длиннопост

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


Но работать дальше без отдыха я просто не мог, так что я успокоился и воспринял это как издержки моего производства. Теперь главная для меня задача - улучшить игру и исправить динамику отзывов. Я хочу, чтобы в этот раз они не опустились потихоньку до смешанных, как это было с Formata. Мне это по силам. А "завод" пока подождёт.


Спасибо за вашу поддержку!



Моя группа в контакте: https://vk.com/nezon_production

Показать полностью 4 1
103

Реалистичная планета земля в Unreal Engine 4 | обзор

Сделал реалистичную планету земля в игровом движке Unreal Engine 4 с текстурами высокого разрешения: 16к для поверхности и 16к для облаков. А также, 8к текстуры для ночного неба.

На видео полный немой обзор данного проекта.

Планета земля вращается, облака, также, вращаются, но чуть быстрее.

Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Реалистичная планета земля в Unreal Engine 4 | обзор Земля, Планета, Unreal Engine 4, Разработка, Gamedev, Реализм, Космос, Видео, Длиннопост
Показать полностью 3
1059

Телеграм-бот, помогающий оформить фото на документы

Возникла у меня тут в очередной раз задача сделать фото для документов. Обычно, я в таком случае фотографируюсь на фоне холодильника на телефон, в ФШ поворачиваю, кадрирую и вырезаю фон. В этот раз мне даже на бумаге печатать фото было не нужно. Но блин, 2020 на дворе, нейросети там и AI, неужели я должен как 10 лет назад это делать руками? Иду в интернет, и что я там вижу: все сервисы подобного рода делятся на 3 типа:

1) Не вырезает фон впринципе, предлагает кадрировать и цвет покрутить

2) Предлагает вырезать фон руками в браузере инструментом аля MS Paint

3) Делает все как я хочу, но просит за одно фото 300р (!!!)

Приложения в Google Play примерно такие же.

Короче пришлось делать на коленке, самому. Находясь в короновирусной самоизоляции, освободилось прилично времени для таких вот проектов. Родилось вот что: https://t.me/PassportPhoto_bot

Пока что бот имеет довольно скромный функционал: на первом этапе распознаются глаза, подбородок и макушка, кадр поворачивается и зумится так, чтобы выполнялись требования большинства ведомств (ориентировался на шенген, но на загранник или паспорт РФ тоже должно проканать). Далее, нейросетью обрезается фон, и фото готово для скачивания. Элементов управления — по минимуму. Сейчас бот живет на довольно скромном железе, поэтому чутка задумчивый :) Гора возможных улучшений поселилась в беклоге, буду дорабатывать по мере появления времени.

Никаких денег за работу бот не берет, только добровольные донаты :)

Телеграм-бот, помогающий оформить фото на документы Telegram, Бот, Фотография, Нейронные сети, Документы
3624

Противникам голосовых сообщений

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

Вы можете добавить бота в чат, и бот будет автоматически реагировать на голосовые сообщения:

Противникам голосовых сообщений Telegram, Бот, Телега, Голосовые сообщения, Сообщения, Разработка, Идея, Аудио, Гифка, Длиннопост

Если не хотите добавлять бота в чат, то можете просто пересылать ему голосовые сообщения, а в ответ бот пришлет текст:

Противникам голосовых сообщений Telegram, Бот, Телега, Голосовые сообщения, Сообщения, Разработка, Идея, Аудио, Гифка, Длиннопост

Добавить бота себе можно по ссылке - https://t.me/VoiceMsgBot

Отзывы и пожелания по функционалу приветствуются.

Показать полностью 1
76

Lovebot - обновление 0.9

Наконец обновление дописано и выложено! )


Сразу и по порядку:

1) Изменена регистрация:

Lovebot - обновление 0.9 Приложение, Бот, Lovebot, Telegram, Знакомства, Знакомства на Пикабу, Знакомство в Интернете, Длиннопост

Теперь она намного удобнее и очевиднее!

Достаточно просто отправить команду(или проследовать по подсказкам бота, если Вы в первый раз зашли), а дальше по инструкции. Главное отправить фото, как фото, а не как файл ;)

2) Время отдачи анкеты

Раньше, в самой первой версии, на выдачу анкеты тратилось около 2х секунд. Теперь же цифры совершенно иные:

Lovebot - обновление 0.9 Приложение, Бот, Lovebot, Telegram, Знакомства, Знакомства на Пикабу, Знакомство в Интернете, Длиннопост

То есть в среднем около 0,003 на поиск.

Тут даже нет смысла расписывать )

3) Появился поиск

Lovebot - обновление 0.9 Приложение, Бот, Lovebot, Telegram, Знакомства, Знакомства на Пикабу, Знакомство в Интернете, Длиннопост

Который тоже, надеюсь, удобен и очевиден.

Так же его можно досрочно закончить, просто нажав "Начать поиск"!


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


Присоединяйтесь к нам: https://t.me/lovebotsite_bot


P.s. из-за появления поиска, старые анкеты пришлось удалить, сразу прошу за это прощения и обещаю, что такое больше не повториться.

Показать полностью 2
35

Тариф День Рождения от РЖД или как экономить от 40% до 80% на билеты Сапсан. Личный опыт.

В начале этого года я столкнулся с проблемой найти среди своих коллег человека, кто был бы не против воспользоваться Сапсаном и в нужные мне даты съездить со мной в Москву из СПб и обратно (или только в одну сторону). Мне было важно найти не просто попутчика, а пассажира, чья дата рождения совпадала или лежала в интервале 14 дней с предполагаемой датой моей поездки для того, чтобы мы могли вмести купить в кассе РЖД билеты на поезд Сапсан со скидкой в 50% для каждого. Я не смог осуществить задуманное, но задумался, что если бы я не ограничивался стенами офиса, то мог бы купить билет со скидкой и поехать с кем-то еще, возможно, даже с незнакомым мне человеком.


После этого я создал бота в Телеграм T.me/Allo812Bot, который помогает регулярно пользоваться льготным тарифом "День рождения" для проезда в поездах "Сапсан".


Чем он полезен?


T.me/Allo812Bot ищет людей, которые могут применить тариф День Рождения от РЖД и помогает найти пассажиров-попутчиков, чтобы купить билет со скидкой от 60% до 80%.


С его помощью можно также найти пассажира-именинника и каждый раз при покупке билетов на скоростной поезд Сапсан экономить 40% от их общей стоимости


(см. раздел Правила в T.me/Allo812Bot).



Одна из решенных технических проблем


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


Я хочу узнать мнение у аудитории Pikabu на мой сервис, хочу предложить вам присоединиться к нему T.me/Allo812Bot и пополнить таким образом сообщество (сейчас оно n-тысяч), чтобы каждый мог регулярно экономить деньги и планировать поездки по маршрутам следования Сапсанов.


Если у вас есть идеи или советы, как правильно продвигать этот бот онлайн/оффлайн, мне будет тоже интересно это услышать. Спасибо

Тариф День Рождения от РЖД или как экономить от 40% до 80% на билеты Сапсан. Личный опыт. Сапсан, РЖД, День рождения, Лайфхак, Тарифы, Бот, Telegram, Сбербанк
Показать полностью 1
120

Новый RAT использует протокол Telegram для кражи данных жертв

RATAttack устанавливает зашифрованный канал между оператором и зараженным устройством с помощью протокола Telegram.

На портале GitHub был опубликован исходный код нового трояна для удаленного доступа (RAT), использующего протокол Telegram для хищения информации с инфицированных устройств.

Новый RAT использует протокол Telegram для кражи данных жертв Вирус, Крыса, Telegram, Разработка

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

Прежде, чем начинать атаку, владелец RATAttack должен создать бот Telegram и встроить его токен (ключ) в конфигурационный файл трояна. Таким образом все инфицированные устройства будут подключаться к каналу бота и атакующий получит возможность отправлять простые команды для управления RATAttack на зараженном компьютере.


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


RATAttack написан на Python 2.x, в будущем его разработчик обещает выпустить версию на Python 3.x. Что интересно, автор RATAttack называет свое детище «инструментом для удаленного управления компьютером», хотя его разработка включает ряд вредоносных функций, не присущих легитимным инструментам наподобие Teamviewer и пр.


По данным ресурса BleepingComputer, разработчик RATAttack не рекламировал троян на каких-либо хакерских форумах и опубликовал код только на GitHub. В настоящее время он уже удален с портала.

http://www.securitylab.ru/news/485926.php

322

Бюджетная система видеонаблюдения. Уведомляем об обнаружении движения в Telegram.

В прошлый раз я писал о разработке бесплатного приложения для видеонаблюдения: http://pikabu.ru/story/byudzhetnaya_sistema_videonablyudeniy...

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

Окно настроек теперь выглядит так:

Бюджетная система видеонаблюдения. Уведомляем об обнаружении движения в Telegram. Разработка, Вебкамера, Видеонаблюдение, Telegram, Windows, Длиннопост

Новые возможности


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

Если у вас русскоязычная версия Windows, то при первом старте интерфейс должен быть на русском, в противном случае - на английском. Язык можно изменить в настройках.


Добавлена настройка чувствительности датчика движения. Спектр настройки очень широкий, от 0 до 1000. Для большинства камер рекомендуется диапазон 900 - 975.


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


Telegram


Добавлена возможность отправлять уведомления в Telegram. Для тех кто в танке, Telegram - это мессенджер (типа WhatsApp) от Павла Дурова, очень популярный, но не во всех кругах.

Уведомления настраиваются в соответствующем блоке, нужно установить галочку, ввести свой номер телефона в международном формате, нажать "Получить код". Затем, полученный в Telegram код ввести в соответствующее поле и нажать"Войти", если все хорошо, то статус сессии сменится на "Активна".


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


Скачать можно там же, где и раньше: http://webcammotiondetector.pw большая зеленая кнопка снизу. Распакуйте архив и запустите WebcamMotion.exe. Сайт пока не русифицирован.


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


Приложение переименовано с Webcam Motion Detector на Webcam Motion Sensor, чтобы не было путаницы с другим похожим приложением.

Далее информация для тех кто интересуется/занимается разработкой


Исходники выложил тут: https://github.com/Akarachudra/webcamMotion

Для работы с видеоустройствами и изображениями используется библиотека AForge: https://github.com/andrewkirillov/AForge.NET

Для взаимодействия с Telegram используется библиотека TLSharp: https://github.com/sochix/TLSharp


Если есть какие-то идеи по поводу того, как улучшить уведомления, то обязательно пишите.

Показать полностью
33

Игра Bastion Siege – новое творение

Доброго времени суток, Пикабу. Сегодня хочу представить вам своего второго бота, который по совместительству является многопользовательской текстовой стратегией. Встречайте – Bastion Siege.

Игра Bastion Siege – новое творение Telegram, Игры, Bastion Siege, Разработка, Бот, Длиннопост

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

На данный момент игра состоит из примитивов, которых по общему мнению было достаточно, чтобы запустить первую версию.

Игра Bastion Siege – новое творение Telegram, Игры, Bastion Siege, Разработка, Бот, Длиннопост

Игроку предоставляются владения в которых он может строить конкретные здания и улучшать их.

Изначально уже построены ратуша и дома. Ратуша отвечает за налоги и казну, дома необходимы для расселения новых жителей, которые в свою очередь являются источником рабочей силы, доходов казны, а так же необходимы для строительства личной армии. Чем больше свободных жителей (свободные жители – жители которые не работают и не состоят на службе, отображаются в информации главного меню), тем больше дохода в казну. Однако их в свою очередь нужно кормить. Голодные жители платят вдвое меньше. А если еды нет вовсе, приток жителей останавливается. Чтобы этого не случилось, вашим владениям понадобится ферма.

Ферма производит еду, необходимую для обеспечения жителей каждый игровой день (одна минута), а так же для организации военных походов. Но мало просто производить еду. Её еще необходимо доставить на основной склад, откуда уже и начнется потребление.

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

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

Игра Bastion Siege – новое творение Telegram, Игры, Bastion Siege, Разработка, Бот, Длиннопост

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

Сезон и погода пока формальны и просто создают атмосферу для фантазии игроков. Но в дальнейшем на эти два параметра есть некоторые планы.

Игра Bastion Siege – новое творение Telegram, Игры, Bastion Siege, Разработка, Бот, Длиннопост

Наверное самая первостепенная цель игры – воевать с другими игроками за территорию и золото. Для этого понадобятся казармы. Изначально их у игрока нет. Это не позволяет атаковать, но так же защищает от возможности быть атакованным, что в свою очередь позволяет тихо, мирно разобраться в игре, почитать описание разделов.

Игра Bastion Siege – новое творение Telegram, Игры, Bastion Siege, Разработка, Бот, Длиннопост

Но как только игрок обзаведется казармами, о спокойно жизни можно забыть. Атаковать других игроков можно не чаще чем раз в 10 минут. Быть атакованным – раз в 30 минут. Бои длятся в зависимости от количества войск с обоих сторон. В текущей реализации у топовых игроков это время достигает до получаса. Бой происходит следующим образом – каждую секунду сталкиваются в поединке два воина каждой армии. Если армии равны по численности, то у каждого из воинов шанс убить другого равняется 45%. 10% остается на ситуацию, когда они убивают друг друга. При разнице количества войск процентное соотношение сдвигается на 5% (в отрицательную у меньшего войска и в положительную у большего). Побеждает тот игрок, чья армия выживет. В награду он получает часть казны и территории врага. И конечно же увеличивает счетчик побед.

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

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


Это пока примерно полный перечень всего функционала игры. В ближайшем будущем планируется добавить осадные и защитные сооружения, которые будут влиять на вероятности побед в боях, а так же науку, которая в свою очередь так же будет улучшать некоторые аспекты игры, но конечно же не бесплатно (речь об игровых ценностях). Будет разработана систему случайных событий и квестов. Ну а о дальнейших планах разработка пока умалчивает.


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

До сегодняшнего дня не было никакой рекламы бота, кроме внутренних кругов, но игровая реферальная программа сделала свое дело и в игре уже сложилось небольшое сообщество, которое вполне активно помогает в официальном чате новичкам осваиваться в игре.


Ссылка на игру:

https://telegram.me/BastionSiegeBot?start=pikabu

Ключевой параметр в конце ссылки даст вам в подарок немного золота. :)

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


Всем спасибо и приятного дня!

Показать полностью 4
74

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

Всем привет!


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


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

Текстовое РПГ в Телеграмме: Часть вторая Telegram, Telegram бот, Рогалик, Разработка игр, Gamedev, Игры, Текстовые игры, Длиннопост

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


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


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

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

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

Текстовое РПГ в Телеграмме: Часть вторая Telegram, Telegram бот, Рогалик, Разработка игр, Gamedev, Игры, Текстовые игры, Длиннопост

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

Сама игра: https://telegram.me/rog_bot

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

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

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

Показать полностью 1
1233

Текстовое рпг в телеграме, чтобы смешно и не скучно

Всем доброго времени суток!


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

Текстовое рпг в телеграме, чтобы смешно и не скучно Gamedev, Игрострой, Telegram, Игры, Разработка

Поиграться можно вот тут:

https://telegram.me/rog_bot


Исходный код открыт и находится вот тут: https://github.com/yegorf1/RogueBot


Дальнейшие новости будут публиковать в группе вк [https://vk.com/rog_bot] и, если сообщество пикабу оценит, здесь.


Приму любую адекватную критику с чаем и печеньем.

Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: