Mariya Mariya

Всем привет!
Начали работу над мебелью в домик Сырны, и первым сделали чайный столик с чайным сервизом. А так же продолжаем работу над анимациями.

Wings' might Wings' might

Всем привет)
За неделю в игру было добавлено меню настроек, переделана старая локация, добавлены новые враги и повышена производительности

alexprey alexprey

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

Dreaman Dreaman

Всем привет!
Для проекта "Mental State" разработано новое устройство, которое уже полностью функционирует внутри игрового мира. Оно носит название "Репульсивер". Совместно с очередными большими воротами это устройство образует новую головоломку...

...
Mariya Mariya

Всем привет!
На этой неделе мы научили Сырну летать!

Tartal Tartal

alexprey, кастомизации - создание внешности персонажа? Я всегда любил это, но не думаю, что это будет к месту в мясном шутере)
EfimovMax, да, есть немного)

Tartal Tartal

Jusper, точно не помню, уже как полгода точно) Я вроде в Дискорде немного обсуждал эту тему. Пока немножко попробовал движок - мне очень нравится. Ну, в конце концов, он идеально подходит под жанры, с которыми я хочу работать...

alexprey alexprey

Первая тема крутая очень!

EfimovMax EfimovMax

MyPixel Games, напиши мне в Вк https://vk.com/efimovmax
Я работал с вокселями, смогу помочь.

alexprey alexprey

MyPixel Games, где есть скрын с видом сетки? По идее же легко конвертится в простой меш группировкой + генерацией текстурной карты без фильтрации

MyPixel Games MyPixel Games

alexprey, посмотрите какая там полигональная сетка. Мы сначала наделали моделек, а потом проверили и нас схватил ужас от количества полигонов и невозможности урезать это самое количество. Как-то переживем...

alexprey alexprey

MyPixel Games, хм, такие простые модельки, странно, что это приносит проблемы с производительность

MyPixel Games MyPixel Games

Jusper, антураж + проще в производстве. Конечно, с оптимизацией все не так хорошо. Точнее, совсем не хорошо.

Tartal Tartal

Как раз то, что нужно. Большое спасибо за собранную информацию)

Jusper Jusper

EfimovMax, точно, воксели :)

EfimovMax EfimovMax

Jusper, под лоуполи+пиксели ты имеешь ввиду воксели?)

Jusper Jusper

У меня возник вопрос)
Почему вы выбрали именно такой (лоуполи + пиксели) визуальный стиль?

EfimovMax EfimovMax

Tartal, второй на обезьяну похож, а третий на михалыча с завода :)
Мне нравится первый вариант

Логотип проекта Game Maker

Родительские объекты

Предисловие

Небольшая статья для новичков о родительских объектах - что это и зачем они могут понадобиться.

Примечание: Поскольку в txt2 нет разметки gml-кода, я взял на себя труд выделить ключевые слова, так, как они выглядят по-умолчанию в самом gml, чтобы код выглядел более-менее читабельным.

Общие сведения

Родительский объект - это обычный объект, который выступает одному или нескольким объектам "родителем". Объекты, которые имеют родителя, называются дочерними, и наследуют события и поведение родителя. В свою очередь, родительские объекты могут иметь своих родителей и так далее. Таким образом, мы получаем очень мощный инструмент по оперированию объектами.

Можно привести пример - в игре есть несколько видов разных монстров, у каждого своё поведение и набор данных, но на другие объекты они реагируют одинаково - умирают при попадании в ловушку; меняют направление при соприкосновении со стенами; убивают игрока, если тот наткнётся на них, и, в свою очередь, погибают от пуль игрока. В таком случае удобно объединить все объекты монстров, под общим родителем "Enemy". Теперь, сам объект "Enemy" никогда в игре не появится, но все события>действия, которые вы зададите в нём, будут выполнятся для всех его дочерних объектов!

Крайне удобно объединить все пули/снаряды под общим родителем "Missle" и задать ему событие столкновения с "Enemy", в результате чего, нанести урон последнему, а сам снаряд уничтожить. Или дать событие столкновения с родителем "Walls", что приведёт к уничтожению снаряда.

Что мы получаем в результате? Родительские объекты определяют общие свойства и поведение дочерних им объектов - теперь любой снаряд, если столкнётся с любой стеной - уничтожится, а если с любым врагом - нанесёт тому урон и тоже уничтожится.

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

Есть два способа установить одному объекту родителя. Первый - в окне объекта, кликнув на кнопку Parent выбрать из списка нужный объект.

Родительские объекты — Game Maker — DevTribe: Разработка игр

Или непосредственно в коде, задав его с помощью функции object_set_parent(obj,par), где - obj - идентификатор/имя объекта, которому необходимо установить родителя, par - идентификатор/имя объекта будущего родителя.

Также родительские объекты нужны, чтобы объединить разные объекты в одну группу (категорию) и проводить над ними общие действия. Примером может служить RTS-построение игры:
Объекты "солдат", "танк", "самолёт" - объединяются под родительским объектом "Юниты".
Объекты "бараки", "завод", "аэродром" - объединяются под родительским объектом "Здание".
"Юнит" и "здание" объединяются под объектом "Войска игрока". Это позволяет оперировать над всеми войсками одновременно, да и вовсе показывает, что данный объект - игровой юнит, что очень полезно в некоторых случаях.

Родительские объекты крайне удобно использовать с конструкцией with, так как указание в конструкции родительского объекта также действует и на все его дочерние объекты.
Пример: Заставить всех юнитов двигаться в нужном направлении:

with (obj_unit)
{
motion_set(<параметры движения>)
}

В результате, все танки, пехота и самолёты, родитель которых - obj_unit направятся в нужную сторону.
Однако, это можно сделать и в самом родительском объекте, без конструкции with, лишь прописав в нужное условие действия движения.

Конец

Прикрепляю к статье исходник *.gmk и простенькую мини-игру (для тех, у кого нет гамака -_-), построенную на взаимодействии родительских объектов, чтобы глубже понять возможности этого инструмента.

Родительские объекты — Game Maker — DevTribe: Разработка игр

Скачать: исходник | игру

Мой рекорд - 485 :О



Вопрос
У нас есть три объекта

  1. 2 и 3

При столкновении 1 и 2 в событиях 1 что то происходит
3 - дочерный объект 2
бутит ли что то происходить при сталкновении 1 и 3

Немного некорректный вопрос, но всё же.
Ilya.Boyarnikov:

бутит ли что то происходить при сталкновении 1 и 3

Нет, не будет, поскольку для родительского объекта не выполняются события дочернего.