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

Warfare 1942 - онлайн шутер

Мультиплеер, Шутер, Мидкорные

Играть

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

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

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

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

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

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

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

Симулятор растениевода Sunbeams раздается на Itch.io⁠⁠

1 год назад

Для любителей развести сад на окне, попрактикуйтесь в симуляторе Sunbeams

Раздача до пятницы 5.01.24

ЗАБРАТЬ

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

Особенности

  • Полив растений!

  • 15 разных растений!

  • Симпатичные мотивирующие наклейки!

  • 6 разных горшков!

  • Назовите свои растения!

  • Спринклеры!

  • Волны позитива!!

  • Гладить растения???

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

благодарности от разраба

" -Благодарю :

  • Waffleflower и Isla Pleasure Partridge за тестирование игры!

  • Моя любимая девушка за помощь, когда я разучился программировать!

  • Freesound.org за создание атмосферы и потрясающих звуков!

  • Вам, что дочитали до конца страницы!

Надеюсь, вам понравится эта милая игра с маленькими растениями <3"

  • Обновлено : 2 апреля 2023 г.

  • Опубликовано : 25 июня 2021 г.

  • Статус : выпущен

  • Платформы : Windows, Linux

  • Оценка : 5,0 из 5 звезд

  • Автор : Кианит Сердце

  • Жанр : Симуляторы

  • Сделано в FL Studio, GameMaker: Studio.

  • Теги : 2D, Казуальные игры, Красочные, Милые, Фермы, GameMaker, Менеджмент, природа, Расслабляющие, Короткие

  • Средняя сессия Около получаса

  • Языки : английский

ЗАБРАТЬ

Показать полностью 3
Itchio Не Steam Симулятор Казуальные игры Ферма Gamemaker Studio 2 Менеджмент Windows Linux Растения Разработка Инди игра Длиннопост
7
23
solvictusig
solvictusig
Лига Разработчиков Видеоигр

Моя первая игра Rabbicent Adventures⁠⁠

2 года назад

Всем привет, начал свой путь в gamedev'е, занимаясь разработкой платформера и уже обзавёлся страницей в steam моего проекта: https://store.steampowered.com/app/2467000/Rabbicent_Adventu...

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

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

Вот пример реализации физики воды в моей игре:

Показать полностью 5 1
[моё] Инди Gamedev Разработка Pixel Art Инди игра Steam Платформер Gamemaker Studio 2 Видео Видео ВК Длиннопост
10
21
GrimmIronwill
GrimmIronwill
Лига Разработчиков Видеоигр
Серия Gamemaker Studio 2: Сборная солянка

Gamemaker. Прокручивающийся текст⁠⁠

2 года назад

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

Видео с демонстрацией работы и объяснениями. Текст тот же самый, поэтому кому как удобнее - выбирайте.

Для реализации данной игровой механики придётся задействовать "Холсты" и использовать один единственный объект: тот, на котором должен выводиться данный текст.
Общий алгоритм прост: на вход мы получаем массив из строк, его преобразуем в одну большую строку.
Высчитав общую высоту этой строки, с учётом возможных переносов, создаём холст, шириной со спрайт исходного объекта и высотой нашей строки. Затем наносим на него весь указанный текст.
Ниже представлен код события "Create".

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

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

Ниже представлен код события Draw GUI. Событие Draw должно быть пустым.

Остаётся сделать только непосредственно прокрутку текста.
Прокрутка текста реализована изменением переменной yy, значение которой должно держаться в промежутке от 0 до (высота текста - высота спрайта), чтобы игрок не мог прокручивать бесконечно вверх или вниз, максимум - мог увидеть самую нижнюю строку текста полностью. Происходит это в событии "Step" соответственно.

И небольшая иллюстрация того, как это всё дело просчитывается.

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

Ссылка на скачивание проекта:
https://drive.google.com/file/d/1aJUFs81zFuVEpBIynM504KiBAtn...

Показать полностью 4
[моё] Разработка Программирование Игры Gamedev Game maker Gamemaker Studio 2 Гайд Видео YouTube Длиннопост
7
Kotorobot229
Kotorobot229

Как стать инди разработчиком: основные движки, плюсы и минусы⁠⁠

2 года назад
Как стать инди разработчиком: основные движки, плюсы и минусы

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

Unity

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

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

Unreal Engine

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

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

GameMaker Studio

GameMaker Studio - это простой и легкий в использовании движок для разработки 2D игр. Он имеет простой визуальный редактор и интуитивно понятный язык программирования, что делает его отличным выбором для новичков. GameMaker Studio также имеет возможность создавать игры для различных платформ и хорошо подходит для разработки небольших проектов.

Однако GameMaker Studio не предназначен для создания сложных игр с высоким уровнем детализации. Кроме того, движок имеет ограниченный функционал по сравнению с другими движками.

Godot

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

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

Итог

Выбор движка для разработки игр зависит от ваших потребностей и опыта. Unity и Unreal Engine являются отличным выбором для создания больших проектов с высоким уровнем детализации, но могут иметь проблемы с производительностью на некоторых платформах. GameMaker Studio и Godot хорошо подходят для новичков и небольших проектов, но имеют ограниченный функционал.

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

Подписывайтесь, чтобы получать еще больше советов и рекомендаций по разработке игр!

Показать полностью
[моё] Gamedev Разработчики игр Gamemaker Studio 2 Unity
2
9
user4831318
user4831318
Серия Within the blade 2

Боевка WTB2⁠⁠

2 года назад
Перейти к видео
[моё] Видеоигра Разработка Gamedev Инди игра Инди Unity Gamemaker Studio 2 Gamemakerstudio Видео Вертикальное видео
3
user5448034
user5448034

Gamemaker Studio 2⁠⁠

2 года назад

Здравствуйте, кто сможет улучшить данный код что-бы можно было добавить гравитацию

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

  1. игрок не двигается если поставить значение скорости не целое

  2. если пофиксить первый пункт то скорость ниже единицы будет также не считать и создавать вечный цикл


var movex = keyboard_check(vk_right) - keyboard_check(vk_left)

var movey = keyboard_check(vk_down) - keyboard_check(vk_up)

for (var i = 0; i != movex*spd; i+=movex)

{

if !place_meeting(x+i,y,oWall) {x += i}

}

for (var j = 0; j != movey*spd; j+=movey)

{

if !place_meeting(x,y+j,oWall) {y += j}

}

Показать полностью
Gamemaker Studio 2 Gamedev Текст
20
15
GrimmIronwill
GrimmIronwill
Лига Разработчиков Видеоигр
Серия Gamemaker Studio 2: Сборная солянка

GameMaker Studio 2. Про GUI⁠⁠

3 года назад

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

Напоминалка для запросившего пост: @Veslo7601

План:
- Теория. Что такое GUI?
- Практика.
- Как включить отрисовку GUI?
- Как удобнее использовать GUI?
- Зачем настраивать слой GUI и как?
- Как взаимодействовать с GUI?
- Как изменить курсор правильно?

Теория.
Что такое GUI?

GUI - графический пользовательский интерфейс, позволяющий взаимодействовать с программой (игрой) через графические элементы: иконки, меню, кнопки и т.п.

В GMS имеется два слоя, с которыми мы можем работать.
Первый зовётся application_surface. Это холст, на который происходит отрисовка любых форм в событиях draw, draw begin и draw end.
Второй - слой GUI, который рисуется выше, чем application_surface, перекрывая его. Отрисовка на него происходит, соответственно, в событиях draw GUI, draw GUI begin и draw GUI end.

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

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

Практика.
Как включить отрисовку GUI?


Здесь всё просто.

GameMaker Studio 2. Про GUI

Шаг первый.
У объекта создаём событие Draw (Рисовать) и внутри пишем одну команду:

exit;
Указанная функция говорит компилятору прекратить выполнение кода в данном событии, что немного оптимизирует игру.
Шаг второй.
Создаём событие Draw GUI (Рисовать GUI) и внутри пишем
draw_self()
Либо любую другую команду отрисовки, которую хотите.

Как удобнее использовать GUI?

Располагать элементы интерфейса проще всего вручную. Самый простой способ - подстроить размер комнаты под предполагаемый размер GUI (либо настроить сетку под данные размеры) и расположить объекты там, где вам нравится. Про размер GUI будет чуть ниже.

Так как слой глубины (depth) на слое GUI работает точно также, как и на слое комнаты, имейте ввиду, что:
- При расположении объектов на одном и том же слое, перекрывать их будет тот объект, что поставлен последним. Настроить порядок создания объектов вы можете вручную. Для этого в комнате выделите слой с объектами и в инспекторе прокрутите до вкладки Instances. Все изменения будут отображаться в реальном времени, что удобно.
- Глубину можно настроить вручную в любом событии, кроме события отрисовки. Для этого есть переменная depth; помните, что чем меньше значение - тем выше рисуется объект.

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

Зачем настраивать слой GUI и как?

Слой GUI сделан таким образом, чтобы всегда вмещаться в размер дисплея/игрового окна или application surface. Как следствие, появляется масштабирование тех объектов, которые мы рисуем на данном слое, чтобы они соответствовали заданным параметрам.

Объекты, которые мы рисуем на слое GUI, по умолчанию будут масштабироваться в зависимости от размеров application_surface. Чтобы этого избежать нужно установить размер GUI вручную.
Для этого существует команда:

display_set_gui_size(широта, высота);

При этом стоит помнить, что GUI продолжает подстраиваться под размер окна. Соответственно, нам также нужно зафиксировать размер окна. Для этого существуют следующие команды:

window_set_size(широта, высота), либо включить полноэкранный режим: window_set_fullscreen(true);
После указанных действий картинки на экране и в редакторе будут одинаковыми. Главное помните, что масштабирование к размеру окна происходит в любом случае.
Дальше работать предстоит методом подбора. Я обычно выставляю размер GUI (1920x1080) и расставляю все элементы относительно указанных значений.

Размер масштабирования вы также можете настроить. Для этого существует команда:
display_set_gui_maximise(Масштабирование по X, масштабирование по Y, смещение по оси X, смещение по оси Y).
Простой вызов функции без аргументов приведёт к тому, что масштабирование будет вестись от позиции (0, 0) игрового окна с такой шириной и высотой, чтобы покрыть всё окно.
Такой способ может быть использован заместо display_set_gui_size в том случае, если размер окна и размер GUI, под который вы всё расставляли, одинаков. В ином случае лучше всё же воспользоваться display_set_gui_size();

Если указать (-1, -1), то произойдёт сброс до стандартных настроек. Т.Е. отрисовка будет вестись от позиции (0, 0) вашего application_surface и будет пытаться показать всю его область.
Другие значения приведут к масштабированию интерфейса в соответствии с заданными параметрами. (2, 2) = 200% по X и Y от размера игрового окна.

Как взаимодействовать с GUI?

Так как GUI рисуется на отдельном слое, нам понадобится использовать встроенные в движок функции, чтобы получить координаты мыши относительно этого слоя. Эти функции:

device_mouse_x_to_gui(0);
device_mouse_y_to_gui(0);
Соответственно, первая переводит координату X мыши в относительную к GUI, вторая - координату Y.
Так как это функции, рекомендую назначать в начале шага их локальным переменным, чтобы избежать постоянных перерасчётов.
Дальше работа с ними происходит ровно также, как и с (mouse_x / mouse_y).

Как изменить курсор правильно?

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

cursor_sprite = sprCursor;
Также, если вы хотите скрыть "системный курсор", то для этого существует команда:
window_set_cursor(cr_none)
Со списком всех возможных курсоров можно ознакомиться по ссылке ниже:
https://manual.yoyogames.com/GameMaker_Language/GML_Referenc...

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

Показать полностью 1
[моё] Разработка Gamedev Программирование Gamemaker Studio 2 Длиннопост Урок Игры Обучение Текст
8
24
GrimmIronwill
GrimmIronwill
Лига Разработчиков Видеоигр
Серия Gamemaker Studio 2: Сборная солянка

Gamemaker Studio 2. Редактор гексовых карт⁠⁠

3 года назад

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

Немного о самом проекте.
Игра в жанре стратегии требует некоторой структуризации всего, что в ней есть. В особенности это касается карты. Гексовая карта была выбрана голосованием большинства, ведь у неё есть ряд преимуществ перед стандартной "квадратной" сеткой.
Первое - просто посчитать количество гексов, которые нужно пройти в ту или иную клетку.
Второе - визуал.
Неудобно, конечно, что двигаться можно строго по прямой только в одном направлении, но с этим придётся смириться.

Получившаяся в итоге программка позволяет загрузить в неё (пока только в виде ассетов!) любую текстуру или спрайт и затем применять для создания карты. Всё, что нужно - в объекте objManager дописать строчку в global.layer с названием спрайта. Для удобства, у нас имеются три слоя, на которых мы можем рисовать и с которых по отдельности можем что-то стирать.
Слой земли/воды, слой природных объектов и объектов игроков.

Gamemaker Studio 2. Редактор гексовых карт

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

1. Не используйте спрайты гексов.
Причина этого кроется в "не идеальности" гексовых спрайтов как таковых. Различия в один пиксель или пару градусов рушат всё, в том числе - формулы, которые приведены в источнике.

2. Используйте сурфейсы (холсты).
Иные способы отрисовки гексов дадут многократную нагрузку на ваш ПК. Что печально, нагрузку ненужную, потому что всё, что нам нужно - мы можем быстро просчитать при помощи пары формул.
Если ранее вы не работали с сурфейсами, то сейчас - самое время. С редактором карт это достаточно просто, но даёт понимание о том, как они работают.

Хоть в коде это есть, но здесь всё же опишу.
Сурфейс - это холст. Как и на любой холст, мы можем нанести на него что угодно: любой спрайт, любую фигуру. Всё, что нам будет нужно затем - это данный холст нарисовать.
Заполнять холсты можно в любых событиях, в том числе в событии создания. И, что важнее, дальнейшая отрисовка данного холста будет заметно менее "тяжёлой" для игрового движка и процессора, так как холст не обновляется каждый кадр. Его можно обновить только ручками.
По сути, мы получаем статичную картинку, которую рисуем на экран.

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

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

Ссылка на исходники.
https://disk.yandex.ru/d/_OSgSS-huMtgzg

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