EditorModule - универсальный редактор "сцен" для GameMaker (первая версия)
В ходе невероятно длительного обсуждения того, как делать разные фичи для игры в GameMaker Studio 1.4.9999, мы с Хейзером придумали систему универсального редактирования сцен, которая позволяет расставлять объекты по слоям автоматически.
Вот исходник первой тестовой версии:
https://drive.google.com/file/d/18UaehckqzVYrWx2579qYSGnOUtg_exSL/view?usp=sharing
Управление описано в самой «игре», на её экране. Предполагается тестировать так:
- Импортировать в ваш проект только объекты o_editor и o_editor_object, и скрипт objects_list_add
- В o_editor -> Create строки 2−4 удалить, и прописать туда objects_list_add (объект) для каждого объекта, который должен быть «расставлябельным» в редакторе сцен
- Поставить сколько угодно объектов на каких угодно слоях, нажать F2
- Убрать часть объектов, другую часть переместить, поставить ещё другие объекты
- Нажать F3, при этом все объекты должны стоять так же как при нажатии F2, при этом не должно быть лишних
Конечно для полноценного редактора надо ещё много:
- Регулировать размер сцены
- Масштабировать сцену
- Дать возможность поворачивать, отражать и масштабировать расставляемые объекты
- Механизм превращения заглушек объектов в сами объекты для тестирования уровня здесь же
- И так далее
Пока что просьба всем заинтересованным протестировать имеющийся базовый функционал.
- 02 июля 2020, 10:32
- 04
О, круто! o_O Надо затестить!
Потестил, пока что самое тяжёлое в этом проекте, то что надо вручную вводить объекты.
При чём не только в код, но и вводить те же самые спрайты с правильными названиями, и вводить объекты с теми же самыми названиями, ещё бы где не запутаться.
У меня обычно на локации карты мира где-то около 30-50 разных объектов.
Как минимум одно решение придумал:
не делать кучу объектов, а сделать один объект,
который будет отрисовывать тот спрайт в зависимости от того какие настройки были у него при создании,
хотя бы в 2 раза работы уменьшится
Ещё бы сделать так, чтобы библиотека автоматически создавалась по списку всех спрайтов в определённой папке, то вообще было бы круто, но хз возможно ли листать спрайты в определённой папке/группе.
Ты можешь перетащить группу выделенных файлов в IDE и тебе предложит импортировать их сразу все. Объектам, правда, не присвоит их автоматически, но как я написал только что в другом комментарии к этому же посту, тебе не нужно загонять в этот редактор всё заново - он как раз и придуман модульно чтоб опираться на уже существующий проект.
По-моему ты неправильно понял, как пользоваться проектом - не в него надо добавлять объекты из твоей игры, а наоборот, в твой проект надо добавить два объекта и один скрипт из этого, с помощью пункта Add Existing:
И так же со скриптом.
не знал об этой опции, надо потестить
Вообще говоря, можно не писать "objects_list_add (объект) для каждого объекта", а сделать так:
Тогда у тебя в редакторе будут сразу все объекты проекта. Лишние (всякие там невидимые меню и контроллеры) можно очистить через
ds_list_delete(objects_list, ds_list_find_index(objects_list, argument0)
. набрать все объекты и вычесть ненужные всё ещё проще и быстрее чем перечислять все 100500 объектов вручную.Мне не совсем понятно что это и зачем.
Чтобы объекты во время отрисовки по оси Y сортировались?
Во время редактирования уровня, а не во время отрисовки. Хочешь, ставишь дерево за камнем, хочешь - перед. Хочешь - ставишь сначала туда, а потом туда.
А когда релиз игры, которая на скриншоте?
Опять эти осьминожьи штучки? XD
Это просто три заглушки без какого-либо кода, чтоб существовала игра - это должна быть игра, а не перемещаемые картинки. Можно рассматривать использование этого редактора как способ играния, но игрой это не является. Именно поэтому я поместил пост в категорию программирования, а не геймдизайна. Закодил я эту штуку чисто для Алекса и его игры, вот к нему и вопросы!
Мне скрюченные человечки понравились. И то, что ёлки наклонены в другую сторону
pintree vs screwedhuman
FIGHT!
Так пойдёт?
Кстати как хоррор в таком варианте выглядит. Типа пробивание четвертой стены - аркадная арена стала ТЕМНЕЙШИМ ЧЕРНЕЙШИМ УЖАСОМ.
Вообще там есть подобный чёрный босс XD
Причём даже с твистом =)
Это просто ТЕНЕВЫЕ человеки! А ёлки и камни правильно наклонены!
Я часто рисую что-то теневое в качестве заглушек в прототипах. В том же Инее Душ см. Итерацию 19.
https://gamin.me/posts/7262
Тема хорошая, но где вы были полтора года назад, когда так было нужно? Сейчас уже целиком перелез на GMS2
Хаха. Это как я спрошу, где ты был в 2007 году, когда я в ГМ6.1 работал.
В ГМС2, однако, тоже не форсится автоматически
depth=-y
(это далеко не для всех игр нужно), так что система будет полезна и там.