Вариант не конечный, название пока не придумал можете накидать варианты. (И да я на оригинальность аномалий не претендую похоже как в сталкере и таких будет не мало, но если вы изучите информацию по проекту то узнаете что HABAR сталкероподобная игра)
Я пересмотрел систему лута и предметов, которые выпадают в мире, это очень важно для “full loot” игры :). Раньше все предметы оставались в «обломках» корпуса поверженного транспорта. Теперь же предметы, находящиеся в трюме, будут разлетаться фонтаном вокруг транспорта.
Количество предметов из трюма, которые сохранятся после уничтожения, варьируется от 10 % до 100 %. Однако гарантированно сохранится хотя бы один предмет из пачки, даже если в ней всего один предмет.
Сами контейнеры теперь легко различимы и помечены на мини-карте.
Большинство предметов выглядят как контейнеры. Чтобы понять, что за предмет перед вами, надо навести на него мышь. Для чертежей используется общий спрайт чертежа, а для базовых ресурсов — различимые спрайты.
Всё снаряжение, установленное в корпусе, включая оружие, может сохраниться внутри обломков. Также в обломках остаются боеприпасы, которые находились в трюме. Всё остальное, что было в трюме (кроме боеприпасов), разлетается вокруг.
Шанс сохранения оружия и снаряжения установленное в корпусе равен 1 к 15.
Сами обломки можно переработать на детали посредством инженерного модуля. Что в итоге принесет еще и деталей. Кол-во деталей которые можно получить с корпуса берется из чертежа этого корпуса и с шансом 1к4 за каждый запуск модуля будет отдавать N% от этого числа, однако обломки теряют хп с каждый применением модуля.
В среднем получается вернуть 2-7% от суммы потраченных на корпус ресурсов.
Таким образом с 1го уничтоженного транспорта можно хорошо поживиться, конечно при удачных стечениях обстоятельств и когда вам не будут мешать)
Если вам понравилась статья или игра, присоединяйтесь к комьюнити, что бы нечего не пропустить.
Привет, пикабу! Сегодня мы рассмотрим один из возможных жизненных циклов игровых сессий на примере моей онлайн игры Make World. А своим опытом или мыслями вы можете поделиться в комментариях. Рассматривать мы всё будем с технической стороны с небольшими вкраплениями того, как это выглядит для пользователя. А в конце есть ссылка, где вы можете попробовать и покликать это всё на практике, а так же подписаться на мои соцсети :)
Итак, всё начинается с создания игровой сессии, это может быть как создание лобби, так и создание сессии через матчмейкинг (автоматический поиск соперников). В нашем случае рассмотрим простой пример с ручным созданием лобби: пользователь жмёт кнопку "Создать" и создается игровая сессия.
Создание сессии на клиенте
На стороне сервера же у нас имеются следующие методы (синтаксис языка c#, методы пронумерованы на скриншоте ниже):
1) Создать игру с заданными параметрами (примеры параметров на скриншоте выше)
2) Начать игру (когда пользователь жмёт кнопку)
3) Начать игровые ходы (когда сервер инициализировал все необходимые параметры и готов транслировать состояние игры)
Методы игровой сессии на стороне сервера
Учитывая, что игра у нас многопользовательская, и к ней могут подключаться другие игроки, то необходимо приправить нашу сессию вспомогательными методами подключения/отключения игроков (см. скриншот ниже):
1) Подключается игрок. Что мы при этом делаем?
- Смотрим, был ли он уже в этой сессии (это могло произойти, если он играл в игру и отключился из-за пропавшего интернета).
- Если был, то ставим его на нужную ячейку игрока (чтобы у него был доступ ко всем его городам и юнитам в игре).
- Если не был - создаем новую ячейку игрока с базовыми ресурсами для основания города.
2) Убрать игрока. Этот метод доступен, например, хосту игры - если ему по какой либо причине не нравится игрок, а так же доступен самому серверу - если например игра не активна и её необходимо закрыть для экономии ресурсов (об этом будет дальше)
3) Игрок выходит из сессии по одной из причин:
- Потерялось подключение. В этом случае мы оставляем ячейку игрока за ним (чтобы в будущем вернуть ему доступ ко всем его городам и юнитам)
- Он сам нажал кнопку выхода. В этом случае всё интереснее: если мы видим, что в игре не осталось ни одной активной ячейки игрока (т.е. теоретически никто не может вернуться в игру с "восстановившимся" интернет соединением) - то мы переходим к пункту (4) и закрываем игру, таким образом освобождаем ресурсы сервера, чтобы другие игроки тоже могли наслаждаться своими играми "без лагов"
4) Закрытие сессии. Если упустить этот пункт при разработке своей игры/приложения, то рано или поздно сервер будет "захламлен" и производительность может сильно упасть. Поэтому мы вызываем этот метод рано или поздно ВСЕГДА для каждой сессии, в случае моей игры причины этому могут быть: - Все игроки вышли из игры вручную. Когда последний игрок жмёт кнопку выхода - сразу инициализируется закрытие игры.
- Не осталось активных соединений и прошел какой-то промежуток времени (который даётся игроку, чтоб восстановить соединение и продолжить игру).
- Игровые ходы закончились и в игре определился победитель.
Методы манипуляции игроками и закрытия сессии
Ну чтож, сегодня мы разобрали базовый цикл игровой сессии (а в более широком смысле почти все "сессии" в компьютерных приложениях работают именно так), и, как и говорил, попробовать всё это бесплатно вы можете тут (и даже на мобильных устройствах): https://plugfox.dev/make-world-ru/
А теперь чуть подробнее: Первым делом как и обещал поправил оффлайн доход. обычно в айдл играх всё просто - берём генерацию каждого генератора, умножаем - получаем. Но тут ведь ещё игрок может фармить на разных уровнях. Так что я запоминаю сколько игрок в минуту фармит монстров на конкретном уровне сложности, и на основе этого потом происходит оффлайн фарм. Тут есть и интересный момент: ради оффлайн фарма можно и покликать минуту - можно значительно увеличить оффлайн доход.
красиво? х2 - байт на рекламу очевидно ^^,
Потом начал готовить страничку в сторе. Помогло, что как раз недавно появился чатгпт 4о - описания всякие генерить. Хотя в прошлые разы я и с 3.5 справлялся, короче нудное это занятие, никому не советую. Картинки в Stable Diffusion 3, предыдущий пост про это был. Ну и видео записать на разных языках.. А там перевод говно. Пошёл ручками нормальный перевод сделал заодно)
так выглядит весь русский перевод на гуглшитсе
Ну а потом долго и упорно правил баги. Из забавного, на всех видео видно какие жирные боссы, а обычные монстры разлетаются мгновенно. Оказалось это не просто так: только босс нормально рос вместе с уровнем сложности, остальные монстры значение максХП меняли, а вот текущее здоровье у них приравнивалось к атаке. Которой в общем-то нет совсем :D
Ну и мне пришёл фидбек, что с телефона играть невозможно - всё слишком мелкое, так что увеличил весь интерфейс. Так себе решение, но как мы помним, мне скоро в отпуск уезжать, а цель была зарелизить в мае.
Вот пока пишу пост, мне уже прилетело от друга, что мою всратость заметили: сделал на скорую руку переключения языка, т.к. этого просто правила требуют, но никто этим не пользуется. Ну ладно, потом поправлю :D
И ещё один отзыв появился, что в новом браузере при первом запуске ничего не работает. Этим я займусь завтра. upd: залатал: реклама, которая появляется во время загрузки всё ломает. Но она вообще-то приносит деньги, так что потом буду нормально чинить.
Агрессивно-психологические треки для хоррор | Вдохновленные Buckshot Roulette.
О треках: Экспериментальные композиции которые смешивают тяжелые биты с психоделическими звуками, создавая уникальную атмосферу сюрреалистичного ужаса.
Используются тяжелые бас-линии, зловещие синтезаторы и резкие драм-машины, создающие ощущение нарастающей агрессии и безумного желания сражаться.
Искажения, reverbs и distortion эффекты усиливают атмосферу неконтролируемого страха и сюрреалистического ощущения действительности.
Идеально подходит для сцен боевых столкновений с одержимыми врагами или моментов непрерывной борьбы за выживание в пугающей обстановке.