Я не могу и не хочу хранить весь контент игры в оперативной памяти. По орочьи это расточительно.
Изначально я планировал использовать SQLite, чтобы брать только те данные, с которыми нужно работать прямо сейчас. Данные игроков при этом сохранялись бы на Я не могу и не хочу хранить весь контент игры в оперативной памяти. По орочьи это расточительно.
Изначально я планировал использовать SQLite, чтобы брать только те данные, с которыми нужно работать прямо сейчас. Данные игроков при этом сохранялись бы на сервер GamePush.
Но возникла проблема: на клиенте (в браузере) невозможно реализовать SQLite. Можно использовать IndexedDB, но если хранить в нем контент игры, теряется весь смысл оптимизации, ведь придется каждый раз загружать game.json, чтобы заполнить базу.
Я долго ломал голову и пришел к выводу, что не обойтись без собственного сервера под игру. Это будет сервер контента, который будет отдавать части контента по запросам.
Что из этого?
❌ Зависимость от второго сервера (помимо GamePush)
❌ При высокой нагрузке это может стать узким местом
✅ Можно менять баланс без сборки и модерации
✅ Возможность создать админку контента игры
Идеальных решений не существует, приходится чем-то жертвовать. Итог: cервер контента для игровых данных + GamePush для данных игрока.
📖 Больше деталей и рабочего процесса в блоге: t.me/+oNTh-Tsp…
Когда игроки зависят друг от друга не по прихоти сюжета, а по воле системного дизайна, в игру вступает магия. Это не просто кооператив. Это социальный контракт. Тот самый инструмент, о котором я обещал рассказать.
Как это выглядит?
Ивенты гильдий. ПропусКогда игроки зависят друг от друга не по прихоти сюжета, а по воле системного дизайна, в игру вступает магия. Это не просто кооператив. Это социальный контракт. Тот самый инструмент, о котором я обещал рассказать.
Как это выглядит?
Ивенты гильдий. Пропустил день и подвёл 20 человек. Ролевая зависимость. В рейде нужен именно ты. Без тебя всё пропало. Общий котёл. Ресурсы копятся миром, важен вклад каждого.
Почему работает? Социальные механики дают космический retention. Люди не уходят, потому что не могут бросить друзей.
Но есть нюанс. Если гильдия развалится, игрок уходит навсегда. С чувством, что его предали.
Что делать? Пути отступления, чтобы игрок не чувствовал ловушку. Умный подбор тимейтов. Мягкий вход и выход из кланов без потери прогресса. Соло контент как подушка безопасности.
Социальные контракты инструмент, конечно, мощный. Но важно не передавить.
Наша цель: чтобы, закрыв игру, игрок думал не "Добби свободен", а "Было круто, ребята. Я скоро вернусь".
📖 Больше деталей и рабочего процесса в блоге: t.me/+oNTh-Tsp…
В приложениях обычно есть три типа данных: удаленные (на сервере), локальные (на устройстве) и временные (в памяти). Данные постоянно меняются.
Нажал кнопку и получил предмет в инвентарь. Победил босса и получил опыт, уровень вырос. Данные меняются, пользВ приложениях обычно есть три типа данных: удаленные (на сервере), локальные (на устройстве) и временные (в памяти). Данные постоянно меняются.
Нажал кнопку и получил предмет в инвентарь. Победил босса и получил опыт, уровень вырос. Данные меняются, пользователь реагирует, цикл замыкается.
Простая схема! Но когда начинаешь проектировать игру, понимаешь: за этой простотой скрываются большие архитектурные вопросы.
Создание игр через Data-Driven практично, но сложно, а на Component-Driven построены игровые движок и это просто, но не всегда эффективно. Что выбрать, чтобы игра имела глубину, но разработка не превратилась в ад? Идеального решения нет.
Чтобы пост не был водой вот что выбрал я. Мой опыт веба не позволяет беспечно относиться к данным и памяти, создавая огромный game.json или зашивая всё в компоненты.
Data-Driven я выбрал для баланса игры (характеристики, прогрессия, связи). Component-Driven для визуала (анимации, эффекты и прочее)
📖 Больше деталей и рабочего процесса в блоге: t.me/+oNTh-Tsp…
Временно оставим игру Чубрики в покое. Пусть статистика накопится к полноценному выпуску, а делать разбор двузначных цифр сразу на старте нет смысла. Игра не перевернула индустрию, жуём дальше.
А дальше стоит глубже поНужен лоулевл мидкор для новой игры
Временно оставим игру Чубрики в покое. Пусть статистика накопится к полноценному выпуску, а делать разбор двузначных цифр сразу на старте нет смысла. Игра не перевернула индустрию, жуём дальше.
А дальше стоит глубже подумать о концепции лоулевл мидкора. Чтобы это была мидкор-игра по глубине, но не хардкор, на который не хватит ни времени, ни сил. Нужен грамотный баланс фантазии на стыке возможностей.
Ранее я хотел начать с кликера. Думаю, так и сделаю: кликер-механика ляжет в основу, а дальше попробую одеть идею в мидкор.
Видели когда-нибудь мидкорные кликеры? 😁
📖 Больше деталей и рабочего процесса в блоге: t.me/+oNTh-Tsp…
Я всегда щедро награждаю игрока монетами за пройденный путь, а потом оказывается, что тратить их некуда. Лежат они мертвым грузом в углу интерфейса. Игрок смотрит на них с тоской и думает: а куда тратить? 😅
Хороший геймдизайн это Куда тратить монеты? 😀💰
Я всегда щедро награждаю игрока монетами за пройденный путь, а потом оказывается, что тратить их некуда. Лежат они мертвым грузом в углу интерфейса. Игрок смотрит на них с тоской и думает: а куда тратить? 😅
Хороший геймдизайн это когда монеты ходят по кругу. Игрок заработал, потратил, стал лучше и снова пошел зарабатывать. Сохраняется прогресс, но монеты уходят с той же скоростью, что и приходят. Все как замкнутая петля: ты всегда чувствуешь и прогресс, и дефицит, а это двигает вперед.
Мой друг, который в этом разбирается, говорил: давай игроку одно и то же под разными соусами. Так появляется несколько валют и разный товар, от полезного до просто красивого. Когда постройка требует не только монет, но и древесины, а на добычу древесины нужно вложить монеты в инструмент, это создает напряжение и вовлеченность. Игрок зависит уже от нескольких источников, и механика становится глубже.
Но вот личная проблема. В жизни я сознательно мало что покупаю, рекламу отключаю, в игры не донатчу. Мне сложно представить человека, который постоянно что то покупает в играх. А ведь делать игру нужно как раз для таких людей, кто готов играть, донатить и смотреть рекламу. Приходится проектировать экономику игр для психологии, которую сам не разделяю, и это не просто.
Мозг игрока фокусируется на незавершенных задачах, а завершенные он отпускает. Наша работа проектировать игровые циклы так, чтобы у игрока всегда было ощущение незавершенности.
Квесты не такие "убей 10 крыс, получПро психологию игрока 🧠 Эффект Зейгарник
Мозг игрока фокусируется на незавершенных задачах, а завершенные он отпускает. Наша работа проектировать игровые циклы так, чтобы у игрока всегда было ощущение незавершенности.
Квесты не такие "убей 10 крыс, получишь монеты", а такие, где 10 крыс - это часть цепочки заданий. Закрыл этап и сразу получи следующий!
Прогресс не "уровень 15", а сезонный трек с видимой наградой чуть впереди.
В одной из своих игр я вывел прогресс прохождения уровней на 3 звезды как эталон, вывел это в общих процентах прохождения этапов. Половина игроков, завершивших игру, проходило уровни повторно, и все ради того, чтобы получить эти 100% прохождения этапов, а ведь этих игроков я бы мог быстро потерять после завершения сюжета.
Покажите свет в конце тоннеля! ☀️😅 Не надо бесконечной гриндилки 0 из 1000. Каждый маленький цикл должен вести к закрытию большего, давая ощущение прогресса игроку на каждом этапе.
Я расскажу больше если поставишь свой огонек сюда! 😁🔥