Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр 2D-аркадный рогалик о подземных раскопках! Разрушайте блоки в погоне за сокровищами, улучшайте свой бур и развивайте навыки. Выполняйте задания, соревнуйтесь с друзьями и докажите, что вы — самый лучший искатель сокровищ!

Бурить-Копать!

Аркады, Мидкорные, 2D

Играть

Топ прошлой недели

  • Animalrescueed Animalrescueed 43 поста
  • XCVmind XCVmind 7 постов
  • tablepedia tablepedia 43 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
4
KenuLen
KenuLen
Лига программистов
Серия Мобильный геймпад

Мобильный геймпад на Godot. Кнопки. Часть 1⁠⁠

2 месяца назад

Введение

Итак, это мой небольшой... Да на самом деле довольно большой! Рассказ как я делал из своего телефона контроллер. Небольшая предыстория. Решил я сыграть в Broforce с друзьями и тут понял, что если я притащу свой ноутбук с игрой, то поиграть с комфортом мы не сможем - нет столько контроллеров. В mvideo геймпады для xbox или ps стоили около 5 тысяч рублей. Можно было и китайские купить, которые обещали нормально работать при подключение к компьютеру, но... Но отсутствие доверия к качеству и жалось не то что к 5 тысяч, а к 700 рублям удавили возможность покупки на корню. И тут мы задумались, а можно ли сделать собственный мобильный контроллер. Конечно же мы нашли готовые проекты в google play, но они шли с вшитой рекламой и могли начать портить игровой процесс в самый неудобный момент. Так родился интересный проект для реализации. Был ли у меня опыт с Godot? Нет. Разработчик или хотя бы хоть сколько-то программист? Нет. Удивительно, что можно сделать при беспардонном упорстве и наличии гугла. Проект я в итоге сделал. Потом забил на него. А недавно вспомнил! И решил переделать :) Эта и все последующие статьи как раз пересказ процесса ПЕРЕСОЗДАНИЯ мобильного контроллера. Кусочек результата старого проекта ниже:

Зачем вообще переделывать, а не дорабатывать готовое? Я решил серьезно углубиться в Godot и реально сделать свой проект, игру. Ту в которую я бы хотел сыграть. Все же гнаться за мечтой, даже детской, это несколько романтично, возвышено и тупо. Меня устраивает. Старый контроллер имел серьезные проблемы в самой своей базе. Так же его переработка хороший способ убить сразу несколько зайцев. Структура проекта "Контроллер" осталась старой.

  1. Сервер на Python - принимает подключение телефона, получает нажатия и передает их драйверу ViGEmBus. Сервер поддерживает подключение до 4ех человек;

  2. Контроллер на Godot (далее по тексту клиент) - подключается к серверу, передает ему нажатия. Для хобби-прототипа сильно париться не хотелось. У клиента всего 2 сцены - настройки и сам контроллер;

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

Чертовы кнопки

Бесплатные картинки для кнопок взял с https://itch.io/game-assets/free/tag-gamepad. Набор приличный, на любой вкус. Со стиками было проще всего - не стал создавать велосипед и загрузил Virtual Joystick от MarcoFazio через AssetLib. А вот кнопки делал через узел TouchScreenButton - в документации Godot этот узел как раз предназначен для обработки на сенсорных устройствах. Загрузил текстуры для кнопок ииии... И границы текстур оказались слегка больше, чем ожидалось.

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

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

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

  1. Обрезать кнопки в редакторе убирая пустоты;

  2. Забить на TouchScreenButton и создавать области вручную через Area2D и CollisionShape2D.

Будучи здравомыслящим(?) человеком, я выбрал второй вариант. Чтоб больше страданий было, хех. Если пошагово, то создавалось все это дело следующим образом:

  1. Для 4ех левых кнопок был создан отдельный узел Node2D (CrossButtons1);

  2. Для каждой кнопки создан узел Area2D (UpArea);

  3. Для Area2D были созданы Sprite2D (UPsprite) - отображение кнопки, и CollisionShape2D (для него я уже поленился название выдумывать) - зона обработки нажатия.

Для узла CrossButtons1, в который входят кнопки, добавляем скрипт со следующим текстом:

зашел сюда по быстрому сделать кнопку? Хотел скопировать текст, а тут картинка? Уж прости, картинка красивее текста выглядела.

зашел сюда по быстрому сделать кнопку? Хотел скопировать текст, а тут картинка? Уж прости, картинка красивее текста выглядела.

Строка 4 нужна для привязки функции обработки нажатия к нашей области Area2D (UpArea). Строки 8 и 10 ловят нажатие и отпускание кнопки.
Это все супер, но как будто лень писать подобный код для каждой новой кнопки. Благо, действительно есть способ попроще.

Пробегаемся по всем подузлам нашего Node2D (CrossButtons1), находим те, что принадлежат типу Area2D и подключаемся функцию _on_button_input для обработки всех кнопок в Node2D. Для нашей задачи главное понимать, какая кнопка была нажата - получаем через button.name.

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

Код +- тот же, но добавляем:

  1. Строка 7 - начальное состояние/начальная картинка;

  2. Строки 12 и 15 для переключения состояния/картинки при обработке нажатия.

Заключение

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

Показать полностью 6
[моё] Godot Godot Engine Разработка Программирование IT Windows Программист Гифка Длиннопост
9
8
egor.gamedev
egor.gamedev
Лига Разработчиков Видеоигр
Серия Easy Devlog

Easy Devlog #2 - наконец вернулся к проекту⁠⁠

2 месяца назад

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

За это время где я только не поработал, от работы курьером до прокладки кабеля в туннелях метро )) Может как нибудь расскажу подробней о полученном опыте!

Я наконец-то доделал прототип и реализовал главные функции, без которых играть было бы невозможно.

Сделал предварительно обложку)) Долго думал как обозвать свою игру, очень много вариантов занято, остановился на этом "Король кубиков"!

Напишите в комментариях от куда ко мне пришло вдохновение!

Напишите в комментариях от куда ко мне пришло вдохновение!

- Добавил сохранения и запись в таблицу рекордов.

- Добавил локализацию.

- Добавил эффекты монет, возможность купить бонуса во время игры.

- Добавил предложение получить случайный бонус на старте игры за 100 монет или за просмотр рекламы (он появляется только если на балансе больше 100 монет)

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

Создаю слайды для промо материалов.

1/2

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

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

Буду благодарен за фидбек в комментариях!

Показать полностью 3
[моё] Gamedev Инди Разработка IT Яндекс Игры Webgl Браузерные игры Unity
6
14
sckiffo2
Лига Сисадминов

Ответ на пост «Среда разработки и производственная среда»⁠⁠2

2 месяца назад

На картинке ещё лайтово. По факту эксплуатация спрашивает зачем в проде такая тяжёлая гантель. Почему в стаканах много воды. Безопасность говорит что вода из стакана проливаться не должна, и вообще запаяйте стакан сверху. Чтоб точно не проливалось. Чтобы прикинуть примерный размер гантели ты идёшь к бизнесу и спрашиваешь, на сколько персон будет накрыт стол. Тебе говорят, ориентируемся на 300.000 в первый квартал. Ты рассчитываешь размер гантели, она получается х2 больше чем ты просил у эксплуатации в первый раз. Безопасники запретили выход без непроливающихся запаянных стаканов. Алгоритм придется переделывать, ведь там черным по белому, нужно было из стакана наливать. После всех кругов согласований и выхода в прод, нагрузка будет в 1.000 человек в пике.

Короткие видео IT юмор Разработка Продакшн Commits Без звука Повтор Ответ на пост Текст
2
14
NikitkaAbrams
NikitkaAbrams
Лига Разработчиков Видеоигр
Серия MARA

Создал ОГРОМНЫЙ ассет для своей игры⁠⁠

2 месяца назад
Создал ОГРОМНЫЙ ассет для своей игры

Мне требовался дом для моей игры!

Нужен был интерьер и экстерьер, но использовать вот этот самый популярный и заезженный ассет - я не хотел! Он используется просто в каждом инди-хорроре!

Создал ОГРОМНЫЙ ассет для своей игры

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

Вот часть рефов которые брал из Корейский дорам:

Создал ОГРОМНЫЙ ассет для своей игры

Вышло более 130 уникальных моделей и я их все использую в своей игре! Вот скриншотики:

1/11

Если интересно, вот сама игрулька для которой сделал ассет: Страничка в Steam

Показать полностью 14
[моё] Unity Gamedev Инди Инди игра Unreal Engine Разработка Ужасы Инди-хоррор Хоррор игра Игры Длиннопост
4
2
AliceoffGame
Серия Дневник инди-разработчика.White Noise:Ghost Signal

Как выпустить игру в Steam из России в 2025 году⁠⁠

2 месяца назад

Недавно я выпустил страницу игры в Steam "White Noise: Ghost Signal", над которой работаю в одиночку уже более года. (О самой игре можно почитать тут.) И сегодня хочу поговорить о наболевшем.
Не секрет, что на сегодняшний день в России отключены SWIFT-платежи (на самом деле не совсем), в связи с чем российским разработчикам стало если не нереально, то весьма проблематично выпускать игры на иностранных площадках.
Но что же тогда делать?

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

Немного теории.

В первую очередь, нам необходимо оплатить слот в Steam. Будем считать это ячейкой, в которую после оплаты вы можете разместить свой продукт на продажу. Для оплаты необходимо зайти на Steamworks. Для входа используем логин и пароль от своего Steam. Сама оплата похожа на обычную покупку игры, за единственным исключением — через Steam-кошелёк оплату провести нельзя. И тут мы сталкиваемся с первой проблемой: как оплатить слот, если российские карты Steam не принимает, а оплата через кошелёк недоступна?

Проблема №1. Оплата слота.

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

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

Далее самое важное: вам нужен друг за границей. Да, к сожалению, без этого не обойтись. Возможно, есть сервисы или люди, которые за процент смогут зайти в ваш аккаунт и оплатить 100 долларов. Кстати, да, стоимость слота — 100 долларов. При выручке в 1000 долларов и больше эту сотню Steam вам вернёт. Но, конечно, в идеале лучше иметь знакомого: не хотелось бы рисковать.

К моему счастью, у меня нашёлся такой друг, который находится в Бельгии. За что ему спасибо.

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

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

После того как слот оплачен, можно переходить к следующему шагу.

Проблема №2. Банковские реквизиты.

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

Что требуется на этом этапе:

  • указать банковские реквизиты карты, которая подключена к системе SWIFT;

  • если банк находится в России, дополнительно указать реквизиты банка-посредника.

Я пошёл в интернет и пол-ночи искал выход из ситуации. И нашёл. Как оказалось, Райффайзен Банк делает (не реклама )карты с поддержкой SWIFT-платежей. При этом с «бесплатным обслуживанием». Почему я использую кавычки? Потому что при поступлении средств на эту карту банк берёт 50% комиссии.

Также Райффайзен имеет банк-посредник в США.
Получается, полностью подходит.

Вы, наверное, покрутите пальцем у виска и спросите: зачем нужен банк с такой комиссией? Но на данном этапе мне было важно найти любую карту, хоть со 100% комиссией. Естественно, я не собирался выводить средства на неё.

  • Мой план:

  • Указываю данные банка, который формально подходит под требования.

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

  • Уже на этом этапе можно выпустить демо.

  • Допиливаю игру.

  • За это время оформляю себе нормальную карту и перевожу аккаунт на другой банк (связавшись с поддержкой, это реально: что-то вроде «я больше не сотрудничаю с этим банком, хочу указать новые данные»).

    Таким образом, я просто не теряю драгоценное время.

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

Налоговые данные.

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

Но тут тоже есть нюансы.
Мне дважды приходило письмо с просьбой внести поправки.

  • В первый раз Steam не понравился адрес прописки. Полагаю, это связано с тем, что адреса в США и России пишутся по-разному. В итоге меня попросили сфотографировать страницу паспорта с пропиской.

  • Во второй раз не подошёл паспорт. Один из пунктов проверки гласит: необходим документ, которому не более 10 лет. На проверку я отправил внутренний паспорт, полученный в 18 лет, то есть 12 лет назад. Проблему я быстро решил, отправив фото загранпаспорта.

И вот наконец все шаги пройдены.
Теперь вы — партнёр Steamworks и имеете право размещать проект в Steam.

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

В октябре в Steam стартует фестиваль «Играм быть», в котором я тоже приму участие. К началу фестиваля выходит демо-версия игры. Чтобы не пропустить это событие, добавляйте игру в список желаемого — для меня это будет лучшей поддержкой!

Показать полностью 4
Разработка Gamedev Инди Инди игра Игры Длиннопост
13
12
Oduvan3000
Oduvan3000
Лига Разработчиков Видеоигр

Каждый день выкладываю шортсы и как это влияет на мою игру в Steam⁠⁠

2 месяца назад
1/3

Две недели назад я решил проверить: что будет, если выкладывать шортсы каждый день.
TikTok + YouTube Shorts.
Цель — собрать вишлисты на игру в Steam.

Результаты второй недели:
📈 Было 185 вишлистов → стало 192 (+7 за неделю)

На YouTube:
— 7K просмотров
— 14.7 часов просмотра
— +6 подписчиков

На TikTok:
— 4.9K просмотров
— 139 лайков
— 34 комментария
— 3 репоста

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

🙃 Выходит, чем больше стараешься, тем хуже результат.
😅 А мемы залетают, но не конвертят в то, ради чего всё это затевалось.

Это немного бьёт по мотивации, но я держусь вот за эту мысль, которую кто-то написал мне в твиттере под постом:

“It’s a slow grind at first, but it builds into a snowball effect.”

Так что продолжаю пилить контент и верю, что шар всё-таки покатится

Игра(Steam)
TikTok
Youtube

Показать полностью 3
[моё] Игры Unity Инди Инди игра Gamedev Маркетинг Разработка Текст
11
9
Suvitruf
Suvitruf
Лига Разработчиков Видеоигр
Серия Посиделки с инди

Оформил странички «Посиделок с инди» в большинстве сервисов для подкастов⁠⁠

2 месяца назад

Выбирайте тот, что удобен именно вам.

Оформил странички «Посиделок с инди» в большинстве сервисов для подкастов
  • Spotify

  • Apple

  • Яндекс

  • Ютуб

Есть ещё менее популярные сервисы. Можете сами выбрать тут.

Постараюсь хотя бы раз в месяц писать выпуск.

Показать полностью 1 1
[моё] Разработка Unity Gamedev Подкаст Инди Видео YouTube Длиннопост
1
elGatoGordo
elGatoGordo

Новости без Путина, Трампа и Зеленского. Да, такое возможно⁠⁠

2 месяца назад
Новости без Путина, Трампа и Зеленского. Да, такое возможно

Открыл новости.
Снова: Путин, Трамп, Зеленский.
Закрыл новости.

Сделал расширение для Chrome, которое скрывает все эти фамилии.
Теперь у меня в ленте тишина и котики.

Ссылка в Chrome Store. Бесплатно. Список ключевых слов настраивается. Осталось придумать подобный mute для Телеграм, но это уже в следующей серии.

Показать полностью 1
Политика Google Chrome Разработка
9
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии