Реализация опорных точек (pivot points) в 2d

(click to interact)Explaining pivot points
(mouseover/click to play GIF) (космический корабль из набора графики Kenney)

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

Но, увы — возможность задания и опроса произвольных точек на изображениях — к примеру, для выстрела снарядов из дула (показано), или крепления изображений на правильные точки, остается относительно редкой.

Это — небольшое руководство по теме. Читать далее

Сборка проектов в приложения на пробной версии GameMaker Studio 2

Сборка проектов в приложения на пробной версии GameMaker Studio 2

Данная запись о том, как с помощью нехитрых манипуляций можно собрать вполне рабочее приложение на trial версии GameMaker Studio 2.

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

Читать далее

GameMaker: Решение невозможности сборки проектов из редактора

Время от времени я наблюдаю вопросы о проблемах со сборкой любых проектов на GameMaker: Studio, что попадают под одно из двух описаний:

  1. Игра не собирается, редактор выдает "An error occurred, check compile form for more information", но во вкладке "Compile" никакого текста о ошибке нет
  2. Игра собирается, но вместо окна игры появляется окно, просящее выбрать файл:

Причина возникновения данных ошибок предельно проста – битые пути в настройках (меню: File - Preferences):

Читать далее

GameMaker: Использование внешних систем управления версиями

За годы, я наблюдал отдельный сценарий слишком много раз:

  1. Человек демонстрирует полное нежелание исследования принципов работы системы контроля версий, будь то из-за "отсутствия нужды" или утверждений о том, что текущие подходы (обычно, ручное копирование) достаточны или даже превосходны.
  2. Человек теряет дни, недели, или даже месяца работы из-за собственных, аппаратных, или программных ошибок.
  3. Несмотря на заметную горечь о происшедшем, человек пытается продолжать защищать свою позицию.

Поскольку пояснять данные вещи "в индивидуальном порядке" не слишком рационально, я решил написать запись, что покрывала бы наиболее важные элементы:

  • Пояснение преимуществ систем управления версиями над обычным резервным копированием.
  • Пояснение (пошаговая инструкция) принципов использования стандартной комбинации для контроля версий - BitBucket (сервис) + Git (ПО) + SourceTree (визуальный клиент).

Данная статья преимущественно направлена на пользователей GameMaker: Studio, но может быть с легкостью применена к другим инструментам.

Читать далее

Добавление десятичных разделителей

string_thousands

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

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

Эта запись посвящена данной операции, включая алгоритм и код.

Читать далее

GameMaker: подсветка синтаксиса в стиле GM8 для Studio

Если вы используете GameMaker: Studio, и стандартная тёмная тема показалась вам странноватой, вы, наверное, уже переключились на подобную предыдущим версиям программы тему "GM8" через File - Preferences.

Но, увы, переключение на эту тему не меняет цвета в редакторе кода, и вы остаетесь с стандартной тёмно-оранжевой темой посреди светло-серого редактора.

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

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

Чтобы импортировать тему для подсветки синтаксиса, перейдите в File - Preferences - Scripts and Code, нажмите Import, и выберите скачанный файл.

Про малые вещи сложно писать большие записи, поэтому, файл:

Скачать COL

Развлекайтесь 🙂

GameMaker: Windows-специфичные функции для Studio

Работая с одним из недавних проектов, я наткнулся на несколько проблем, встречаемых многими - даже если вы делаете игру лишь для Windows в GameMaker: Studio, вы не можете работать с файлами вне папки программы в AppData (нельзя даже работать с папкой, где программа установлена). Так же нет функций для открытия файлов в внешних программах, так что никаких вам "readme" в папке программы с открытием их из игры, никаких портативных файлов настроек, некоторых других вещей... грустно, в общем-то.
Поэтому я потратил вечер и сделал компактный DLL, который добавляет эквиваленты павшим функциям (sleep, execute_shell, I/O без песочницы) для Windows таргета. Поддерживаемые функции следующие:

Читать далее

GameMaker: Поиск ресурсов по имени

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

instance_create(x, y, 'obj_item' + string(irandom_range(1, 3)));

Но, индексы ресурсов - не строки, так что это не сработало бы.

Можно добавить искомые ресурсы в массив, или же сделать небольшой switch блок, но это несколько больше работы.

Данная запись рассматривает возможные пути решения проблемы.

Читать далее

GameMaker: Перетягивание вида/камеры

vis-view-drag

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

Читать далее