Войти
ПроектыФорумОцените

GM XD / GMS XD — альтернативный дебаггер для Game Maker 8.1 / Studio

#0
22:16, 4 авг. 2013

GM XD

Эта программа была задумана для того, чтобы стать лучшей заменой встроенному дебаггеру в Game Maker.

Начало разработки:
Июнь 2013

Дата выпуска:
1 Августа 2013 — 1.0

Авторство:
Xitilon (программирование и создание инструкции)
TheDreik и SaintHeiser (тестирование и идеи)

Технологии:
1) Внешний интерфейс — C#, .NET Framework 4.0 Client Profile;
2) Внутренний контроллер дебаггера и его загрузчик — GML стандарта GM8.1;

Изображение

Подробнее о возможностях:

GMXD позволяет:

— Выполнять в игре любой GML-код на лету, не ограниченный роскошной длиной в 100 символов, в одну строку, как позволяет родной дебаггер GM. Но 32 килобайтами ограниченный, если что. Добавлять любой код на лету к объектам в игре, либо привязывать его выполнение к нажатиям клавиш — например, можно удобно поднимать здоровье игровому персонажу, при внезапных ошибках в процессе тестирования* игры. Кроме того, работает отключаемое по желанию автодополнение названий функций, констант и переменных;
— Узнавать, сколько экземпляров каких объектов находится в комнате, где они находятся, и куда двигаются. Активировать и деактивировать какие-то либо экземпляры, например — чтобы они некоторое время не мешали при подготовке новой игровой сцены для тестирования;
— Наблюдать (Watch) и визуализировать не только скалярные строчные и вещественные значения, но и 1- и 2-мерные массивы, а также встроенные 6 типов структур данных — ds_list, ds_map и так далее. Кроме того можно визуализировать только части из них, а не (например) весь массив 100 на 100 целиком, если нужно узнать только [20,20]-[40,40];
— Сохранять и загружать не одну игру по F5/F6, а использовать менеджер сохранённых статусов игры со скриншотами текущего содержимого игры, позволяющий выбирать нужный сейв для загрузки или удаления;
— Перемещаться между комнатами игры в любой момент, в пару кликов. Менять любые параметры видов (views) и масштабирование на лету;
— Видеть все текущие загруженные ресурсы игры и их свойства. Также можно дампить существующие поверхности (surfaces) в файлы;
— Видеть и менять привязки одних клавиш к другим. Типичный пример — WASD дублируют стрелки. Для добавления конкретно этой привязки (или наоборот, стрелки на WASD) достаточно нажать одну из двух преднастроенных кнопок. Или обнулить все привязки, третьей;
— Создавать, двигать, удалять, копировать, перемещать и ставить под наблюдение экземпляры объектов, выбранные курсором мыши в окне игры.

* GMXD также может быть полезной в тестировании уже готовой и отлаженной игры.

Полный список фич, и инструкцию по применению — можно почитать на данный момент там

GM XD 1.0 здесь:
https://dl.dropboxusercontent.com/u/75034586/GM%20XD/GM%20XD%201.0.zip

Для того чтобы пользоваться GM XD, достаточно закинуть EXE-файл, INI-файл и папку GMXD System в папку с игрой, которую предпологается отлаживать или тестировать. Игра, в свою очередь, должна выполнить этот INI-файл через execute_file.

Инструкция (и сама программа) — полностью на английском языке.

Предвидя комментарии на эту тему, поясню — я уверен, что среднестатистический современный русскоязычный человек-геймдевелопер:
— Считает C++ более уместным языком для геймдева, а GML — конструктором;
— Всё равно не читает инструкций по использованию программ, заменяющих дополнительные программы, которые он и так вряд ли активно использовал;
— И правильно делает, потому что, ещё со времён игр Денди на японском, разбирался во всём мыслимом и немыслимом методом тыка, причём успешно. Если это было тому вправду так уж важно;
— В остальных случаях обладает знанием английского языка на уровне чтения технической документации, коего ему тут хватит по уши.


GMS XD
Изображение

Эта версия программы была создана для того, чтобы помочь в разработке на Game Maker: Studio. Множество фич из оригинального GM XD стали невозможными после выхода из спецификации таких функций как execute_file и ветки функций variable_*, но GMS XD по-прежнему содержит вещи, не существующие в родном дебаггере Game Maker: Studio, которые могут быть полезны.

Начало разработки:
2 Августа 2013

Дата выпуска:
4 Августа 2013 — 1.0

Авторство:
Xitilon (выборочное портирование GM XD с C# на GML и создание новой инструкции)

Технологии:
Контроллер дебаггера — код на GML, совместимый (на данный момент тщательно не тестировано) и с GM8.1, и с GM:S;

GMS XD не умеет большей части того, что умеет GM XD, но тоже может пригодиться. Должно работать и в GM8.1, и в Studio (под Windows, но теоретически может работать и в Linux, и в Mac OS X той же версии, для которой компилирует Game Maker: Studio).

Версия 1.0 в виде внешнего файла с инициализацией объекта (для работы с GM8.1):
Здесь
Подключается на манер GM XD через execute_file().

Версия 1.0 в виде объекта GMX (для импорта в GM:S):
Здесь

Инструкция для GMS XD 1.0:
https://dl.dropboxusercontent.com/u/75034586/GM%20XD/GMS%20XD/Man… GMS%20XD.html


#1
13:49, 5 авг. 2013

Отлично! Буду пробовать. Еще бы точку останова было бы просто супер...

#2
16:23, 5 авг. 2013

Что именно пробовать, какую версию?

Такие вещи как брейкпоинты в GML могут делать только сами разработчики, у них же код объектов закрыт, а где открыт — там его надо руками парсить. Долго, а толку не очень много.

#3
21:16, 5 авг. 2013

GMS, v 1.1.1044.
1) Вопрос: как его подключать? Ф-ция execute_file() устаревшая.
2)

Инструкция (и сама программа) — полностью на английском языке
  - если честно, не совсем понимаю, зачем усложнять использование своего продукта
конечному (российскому) пользователю? Для которого английский язык ну никак не является родным. Такой подход просто тратит время впустую, например, мое.
Впрочем, если это принципиальная позиция...

#4
18:09, 6 авг. 2013

1) Да, устаревшая. Именно поэтому GMS XD умеет раз в 10 меньше, чем GM XD. Но это может измениться, если разработчики Студии переделают кое-что в движке. И GM XD подключается к GM8.1, а GMS XD нужно импортировать как объект в проект Студии, но дело в том что у меня её нет, и соответственно мне нечем создать экспортируемый объект. То, что я предоставил для GMS XD — это ini-файл, который можно подключить к GM8.1-рантаймам. Предпологается, что юзер способен самостоятельно добавить все соответствующие действия в новый объект своего проекта в Студии. Но через пару дней я найду где собрать этот объект именно в формате Студии.
2) Всё очень просто. Мой родной язык — русский, но писать техническую документацию мне намного удобнее на английском. Инструкцию к GMS XD я всё-таки переведу, только уже на выходных этих. Выпуск только-только состоялся.

#5
17:00, 9 авг. 2013

Теперь есть внешний объект для импорта в проект Студии: Здесь

ПроектыФорумОцените

Тема в архиве.