GospodinNub

GospodinNub

Пикабушник
5151 рейтинг 222 подписчика 11 подписок 63 поста 2 в горячем
Награды:
10 лет на Пикабу
7

Агон - Релиз собственной настолки по Древней Греции

Привет Пикабу.

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

Съездили на Игрокон 2025 в Крокус со стендом, провели кучу игр, небольшой турнир. У нас вот запустился краудфандинг. https://crowdrepublic.ru/projects/1070532

Если кому интересно, задавайте любые вопросы, ну и если очень заинтерисуетесь, то будем рады предзаказу)

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

Агон - Релиз собственной настолки по Древней Греции

Привет Пикабу.

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

Съездили на Игрокон 2025 в Крокус со стендом, провели кучу игр, небольшой турнир. У нас вот запустился краудфандинг. https://crowdrepublic.ru/projects/1070532

Фото с победителями Туринра

Фото с победителями Туринра

Если кому интересно, задавайте любые вопросы, ну и если очень заинтерисуетесь, то будем рады предзаказу)

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

Ищу игру. Без рейтинга

Привет, помогите найти игру. Старая такая, шутер-слешер.

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


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


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

Кажется на 2 уровне был босс гигантский которго надо было в упор из зенитки на крыше хрущёвки расстреливать.

Буду очень благодарен, Спасибо

P.S. Игру нашли. The Swarm, Симбионт

48

Котаны, у меня кот! Настоящий кот! КОТИЩЕ! Сила  пикабу! Дневник Гагарина: Пролог

Началась эта история сегодня между 14-15 часами. Сижу на паре, пара скучная, препод пытается настроить докер контейнер у студентов у которых всё падает. Короче - сижу читаю пикабу на паре, политота, убийства, ограбления, котики, всё как обычно. И тут я вижу пост https://pikabu.ru/story/otdam_kotenka_meynkuna_moskva_626448....


На этом моменте надо остановиться поподробнее. У меня была (и есть) кошка, зовут Рыжая, ей уже около 10 лет, но она живёт с мамой и бабушкой в другом городе (я уехал учится в Мск около 6 лет назад).


Вот эта вот бестия (добрющая).

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


Ну что-то я отвлёкся. Так вот, недавно я переехал на хату и девушка мне подкинула собаку на передержку на пару недель. Вот эту вот. Её зовут Белл

Мячик со стола нашего начальника

В офисе играли с собакой в футбол.

После того как я вернул Белл хозяевам, я понял две вещи:
1)Я кошатник

2)Я очень тоскую по живности дома


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


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


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

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


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


На фото жопка кота

Тут я уже вспомнил слова drumboy "Ну вы его дня 3 не тискайте, пусть обвыкнется". И хотел покодить, но не тут то было. Гагарин полез изучать неизведанное, императорским маршем пройдясь по квартире.


(фотки смазаны т.к. поймать его в статике очень сложно, снимал на наполнитель от кошачьего туалета)

Ну думал ему не мешать, и опять он меня нагрел. Пока он сидел за диваном, видать подключился к мировому кошачьему серваку и обновил дрова. Сразу же полез заниматься типично кошачьими делами - мешать программисту кодить. Залез на клаву и улёгся в руках, этого ему не хватило и он начала ластиться (спустя пол часа в новом доме).

Урчит) И ещё возмущается если его перестать почёсывать!


Слава богу теперь моя жизнь не будет прежней. Спасибо тебе drumboy! Спасибо Пикабу!


P.S. Пока дописывал окончание поста Гагарин успешно нагадил в новом лотке и хрустит едой!


P.P.S. Девушка согласилась переехать ко мне, только чтобы почаще гладить этого красавца. Пол года уговаривал! Секите фишку, работает!

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

Геральт, прости, мы всё про*****

Генри Кавилл, известный по роли Супермена в киновселенной DC, исполнит роль Геральта из Ривии в сериальной адаптации «Ведьмака» от Netflix. Актёр подтвердил это в Instagram.


https://www.igromania.ru/news/77380/MOLNIYa_Genri_Kavill_syg...


https://www.instagram.com/p/BnTrcgwFgSk/?utm_source=ig_embed...

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

Deepfakes. Сообщество которое мы заслужили.

Я бы хотел создать сообщество посвящённое deepfakes. Чтобы все материалы по теме можно было найти в одном месте, шарить датасты для обучения, делиться хинтами в обучении и так далее. В ML вообще нахождение сетей в одном месте очень важно.


Сейчас распознавание образов с использованием данного рода сетей очень сильно хайпанёт)


Сам постов я на эту тему не писал, но есть:


@DoctorBooooom

@timoil94


Которые имеют посты очень очень годные на эту тему


https://pikabu.ru/story/instruktsiya_kak_zapustit_neyroset_m...


Вот например.


Если посты на данную тематику являются обязательными для авторства сообщества, то предлагаю @timoil94, как админа сообщества.


Тема очень узкоспециализирована.

Deepfakes. Сообщество которое мы заслужили.
Показать полностью 1
24

Туториалы для геймдева #1 Локализация и Класс Logic

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


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


Рекомендуется прочтение предыдущего поста: https://pikabu.ru/story/tutorialyi_dlya_geymdeva_0_staticdat...

Logic


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


Сейчас объясню попонятнее.


Представьте что у вас есть БОЛЬШОЙ и глобальный класс, который хранит текущее состояние игры - (например этот класс потом уходит в сейв). У него есть параметр ЗОЛОТО.  При этом этот параметр изменяется подбором лута, магазином и т.д.


В таком случае в каждом классе вы пишете что-то вроде:


Logic.AddGold(50); \\использовать его можно также как и StaticData

Вопрос - А почему бы также не обращаться сразу к классу для сейва?


Имхо самый правильный ответ, это почему вместо:


public int a;


пишут:


public int a {get; set;};


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


Если вы не поняли что делает "public int a {get; set;};" и зачем оно может использоваться, то вот простое объяснение: Идеологически так сложилось.

И ещё пара маленьких плюсов от класса Logic.


1)Удобно управлять рандомом. Как всем известно настоящего рандома в играх нет. Logic позвляет аккамулировать все события которые могут использовать рандом и вы можете напрямую контролировать их порядок вызова.


Пример (простой, но высосаный из пальца):


У вас есть два коллайдера, происходет столкновение. У обоих есть onHit ивент.


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


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


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

Переходим к локализации.


Когда-нибудь вы соберётесь переводить игру на другие языки. Или сразу будете делать скажем на английском и русском. Вам потребуется как-то аккуратно хранить текст. Аккуратно - это значит в таблице) Создаём лист с названием Texts.

Собственно всё также как и в остальных листах. Разве что удобнее превращать не в список объектов кастомных классов, а в список словарей (DICTIONARY) например. А потом вытаскивать по названию языка, но это детали.


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


\\Мы как-то раз недел жонглировали именами ACCEPT, ACCEPT JOB, OK. Представьте какой ад был бы если бы надо было лезть в редактор и везде править названия, а тут геймдизу даже не надо пинать программистов. Сел и поменял поле в таблице.


А также с таблицей могут работать переводчики! Естественно вы не пустите их в код, а вот перевести строки таблицы они вполне способны.


Также бонусом идёт то, что Unity UI (и UI Widget в UE4) поддерживают Rich Text, а значит мы можете сделать шрифты жирными или цветыми прямо в таблице.

Итак, как с этим работать.

Ну собственно аналогично Logic и StaticData. Заметьте, что мы не передаём язык, о текущем языке всё знает сам Localizer. Он уже выдаст нам текущую строку.


На объекте с текстом висит вот скрипт TextLocalizer, в который мы передаём какие-то значения и он уже сам решает как их заполнить. Например обратите внимание на #VAL0 в строке с золотом. Вот как я с ними работаю:

Передали список значений, и они сами обновились.


Главное не забудтье в редакторе прописать публичное поле KeyName нужным вам ключом)

Вопрос, а как инициализировать стартовые значения всяких кнопок ОК, EXIT и т.д.


Элементарно,Ватсон!


Вешаем на текстовый объект наш TextLocalizer. Прописываем ему соответствущй ключ. Он при старте вызывает SetValues(null); И текс записался. Всё)

Ну и последняя заметка - Смена языка. Есть 2 способа, простой и сложный.


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


Сложный: в Logic создаётся ивент смены языка, и его слушает TextLocalizer, меняет язык в себе и вызывает ивент обновления текстов на интерфейсах. Интерфейсы этот ивент слушают и вызывают SetValues от последних запоменных значений.


Надеюсь это поможет кому-то с архитектурой проекта) Спрашивайте что не понятно) Остался ещё 1 пост наверное)

Показать полностью 6
Отличная работа, все прочитано!