GameMaker

Рейтинг
+0.40
2 читателя , 18 статей
О блоге RSS

Платформер на android

GameMaker
PlatformEngine — alpha 0.34

 


 

 

 

Название игры: PlatformEngine

Жанр: RPG платформер

Платформа: Android

Программа: Game maker studio

Разработчик: Панюков Олег


Версия: v034

Предположительная дата выхода: неизвестно

 

Описание:

PlatformEngine 2d RPG-платформер.

Бегаем по случайным уровням, случайный героем (как внешне, так и в плане характеристик), 

убиваем врагов, избегаем препятствия. Собираем шмот и монетки.

 

Особенности:

— Генерация уровней

— Взаимодействие стихий между собой (Вода, электричество, огонь и тд) 

— Хардкор (Если ваш герой мертв, значит это навсегда)

— Различные стили поведения врагов

 

 

 

Список изменений в игре

 

Ver 031

— Добавил генератор уровней

 

Ver 032

— Теперь игра намного лучше выглядит

— Намного быстрее генерирует уровни

— Намного быстрее работает

— Добавлены двери на другой уровень

— И еще монетки

 

Ver 033

— Изменения в главном меню

— Атака ближнего и дальнего боя

— Появился меч и лук со стрелами

— Изменено управление на стик

— Бот, летающий глаз (пока тупенький)

 

Ver 034

— Прикручена физика

— Новый генератор уровней

— Разнообразие декораций


 

Ждем ваших идей, мыслей, конструктивных отзывов. Будем рады сотрудничеству с творческими людьми,

прошаренными в области анимации, пиксельной графики и звуковых эффектов. 

Все Ваши предложения, замечания будут учтены и по возможности внесены)

 

 



 

What you need to know about Eli Manning  

GameMaker

 

Early on professional, days and college occupation

Eli Manning’s complete name is Elisha Nelson Manning. He was given birth to in 3rd Jan, 1981 in Louisiana, New Orleans to moms and dads Archie and Olivia Manning. They have two older siblings branded Peyton and Cooper Manning and both of them were professional nfl football people similar to their father. His father and brothers were actually former quarterbacks in NFL league.

The adolescence of Eli Manning biography reveals his date of birth as the 3rd of January in 1981, in New Orleans. He was the youngest of the three kids of Olivia and Archie Manning. Eli stepped into the world with a couple of brothers already there, namely Peyton and Cooper. As every man of his family Eli was intended to be a star footballer.

Eli Manning continues to be messing around with the modern York Titans for more than ten years now. He won the Super Bowl championship twice and is one of the only five players to have won it more than once. Eli Manning has claimed many awards and trophies similar to the Maxwell honor as well as Johnny Unitas Wonderful Arms honors. He holds the greatest report in making the absolute maximum volume of touchdown passes and lawn passes which are usually 35 and 229,345 travels in multitude respectively.

Eli Manning wiki consists of his early life, college or university lifestyle, his qualified daily life and his awesome personal existence. All his activities and achievements are talked about in facts. Eli Manning is amongst the most useful players in the team and the man is also one of several best paid for participants. His once-a-year salary is 26.5 mil US cash. Eli Manning’s truly worth improved following he led the team to gain the Very Dish. He was awarded essentially the most Beneficial Player whenever the group won against New Great britain Patriots. Four years after, New York Giants received with the New Great britain Patriots nevertheless yet again.

Unique Daily life

Eli Manning is committed to his family. He bought hitched to his college girlfriend Abby McGrew. Their narrative begun back throughout his years from the School of Mississippi. They received married during 2008 following Manning suggested to McGrew in 2007. She delivered an infant little princess in 2011 plus they named her Ava Francis. Two years later, their next daughter Lucy Thomas was given birth to and their third daughter Caroline Olivia was born in 2015. He refused to play the Super Bowl before his daughter was born so that he could be with his family.

Eli Manning is the spokesperson of Reebok, Citizen and Toyota View Co. He or she is into a lot of endorsement offers in which he makes practically 7 thousand money through the recommendations. Eli Manning has been in a few commercials, shows and talk exhibits. His per year cash flow is 26.5 mil $ $ $ $. He or she is an extremely valuable participant in the workforce which is the reason his pay out could be the top.

КсиТехнология-03 — F.R.E.A.K. (First Run Easy Access Konfigurator)

GameMaker

Игрок запускает игру в первый раз. Ему ничего не известно об игре, игре ничего не известно о нём. Идея КсиТехнологии-03 в том, чтобы этот первый запуск сделать ознакомительным, позволив игроку настроить некие базовые вещи.

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

    Кто его знает, какой геймпад у игрока? Впрочем, есть какие-то широко распространённые привязки, в таком случае хотелось бы видеть такие варианты (причём эти варианты тоже должны быть локализованы — уместно делать локализацию F.R.E.A.K. внутри него самого, модульно, без зависимостей от целевой игры):

    1) X-Box Compatible Controller
    2) PS Compatible Controller
    3) Other

    И только при выборе 3 переходить к полной калибровке геймпада. В такую входит, по только что на коленке придуманному методу, следующее:

    1) Отвести D-Pad в верхний левый угол
    2)… в нижний правый угол
    3) Выбрать обозначения для кнопок основных действий:
    3.А) Треугольник, квадрат, круг, крестик
    3.Б) A, B, X, Y
    3.В) 1, 2, 3, 4
    4) Нажать последовательно на каждую из основных кнопок, на экране должно отображаться «ожидается ввод кнопки такой-то»
    5) Выбрать обозначения для кнопок управления:
    5.А) Select, Start
    5.Б) Back, Start
    5.В) 5, 6
    6) Ввести эти кнопки.
    7) Выбрать обозначения для дополнительных «плечевых» кнопок («шифтов»):
    7.А) L1, L2, R1, R2
    7.Б) LB, RB
    7.В) 7, 8, 9, 10
    8) Ввести и эти кнопки.
    9) Что-то дальше разобрать с аналоговыми джойстиками, если это нужно игре

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

  • После этого неплохо было бы позволить игроку протестировать управление по умолчанию с возможностью перенастройки его тут же, на лету, чтобы было понятно, что и зачем настраиваться, а не приходилось идти в игру, понимать что это неудобно, бросать игру, идти в опции, проверять, опять уходить если не устроило. Особо беда если первая игровая сессия скатывается в туториал. Критический промах, если туториал непропускаемый после первого просмотра. Но вообще туториалы мне кажутся лишними, по крайней мере в явном виде.
    Короче говоря для этой третьей стадии требуется одна огороженная «комната» где есть достаточно объектов чтобы протестировать всё доступное управление. Игрок при этом должен играть кем-то — сложно сказать, какое решение уместней, если игровых персонажей много. Давать ему первый доступный класс, или случайный, или безличный манекен. Как-то так.

Гамак — клон Неизвестного Инопланетянина

GameMaker

В предыдущем посте я предложил клонировать мою игрушку Aliens X, релиз 2006 года. Версия 1.8 — ведь их было много, и в этом была своя романтика. Я каждый раз менял цвет фона и цвет текста в меню «Информация об игре», вместе с изменением версии. Механика слегка менялась, уровней становилось больше. Так-то я её начал в 2005, а потом обновлял в 2008, но по сути её конструкция, заложенная в самом начале, всё это время не менялась. Так вот её-то я и рассмотрю здесь, плюс дам прямые инструкции, как сделать свою аналогичную игру в Гамаке.

Разумеется, тогда я писал проект довольно безмозгло, и ощутил на себе всю тягость прописывания реакций всех двух (а потом и трёх) десятков видов оружия, на все виды врагов. А ведь ещё были реакции двух разных игроков на выстрелы врагов. А ещё вражеские выстрелы могли превращаться в свои. Но обо всём по порядку, и вообще начнём с общей структуры:

  • Меню игры
  • Игровые уровни

Воу воу воу, как сложно! Неужели нельзя было обойтись одним меню?!


Читать дальше...

Гамак — varенье

GameMaker

Данную штуковину мне поведал ДаркДес, что меня (с 10 годами опыта ГМа, да) удивило.

Вот у нас есть два объекта, для простоты и понятности возьмём самые обычные названия — object0 и object1.

В Create в object0 пишем:

var a;

a=10;

with object1 a=20;

b=a;

Вопрос — что будет в object1.a, и что в object0.b?

Вообще, я сам считал что команда with переключает контекст выполнения (точнее, объект для доступа), и поэтому должен установить переменную в object1. Соответствено в object1.a будет 20, а в object0.b будет 10.

На практике же — ключевое слово var объявляет переменную, которая локальна не для объекта, а для самого участка кода. Соответственно, несмотря на with, мы обращаемся к объявленной нами переменной a, в которую чуть выше записали 10, и теперь записываем туда 20. При этом переменной a у object1 и не создаётся. Этого можно было бы добиться через variable_local_set(...), будь это ГМ8, или с помощью self.a=20 / id.a=20;

В итоге — в object0.b находится 20, а object1.a — не существует.

Лихо, да?

Однако, лично мне var пригождается в Гамаке чуть чаще чем никогда, кроме каких-то очень узких случаев оптимизаций.

Гамак — Структура игры

GameMaker

GM-Игра состоит из разновсяких частей (на картинке — древовидный список слева), называемых ещё ассетами (в новой версии Studio) или ресурсами (в старой):

  • Спрайты — это плоские анимированные либо статичные изображения
  • Звуки — а также музыка
  • Фоны — это недвижимые, неанимированные плоские картинки, как правило большие
  • Пути — там можно нарисовать любые двухмерные фигуры и пускать по ним объекты
  • Скрипты — вызываются из кода объектов, но в простых играх могут и отсутствовать
  • Шейдеры — это не ко мне, думаю и так понятно
  • Шрифты — которыми писать буквы, цифры, и прочие символы
  • Линии Времени — это как Пути, только для событий (точнее реакций на них)
  • Объекты — вся основная логика игры описывается здесь
  • Комнаты — содержат в себе «уровни» игры, в виде двухмерных карт с расставленными объектами
  • Включённые файлы — любые свои файлы можно присоединить к дистрибутиву игры
  • Расширения — тут не рассматриваются
  • Макросы — фрагменты текста, подставляемые в код по шаблону

Но нас в данном случае интересуют всего лишь Объекты и Комнаты. Ну и наверное Спрайты, чтобы видеть Объекты.

Тут нужно замечание об именовании ресурсов — каждому ресурсу необходимо уникальное название, поэтому практикуются префиксы, например s_wall для спрайта и o_wall для объекта. Если названия совпадают, ГМ может перепутать индексы и возникнут баги. Поэтому лучше заранее всё называть с префиксами и не беспокоиться.

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

Так что теперь посмотрим на объекты.

Кнопка Add Event посередине внизу добавляет Событие объекту, а выбрав конкретное Событие из существующих, можно назначить ему ту или иную реакцию. На «кнопках» ГМа можно много чего сделать, но моя практика показывает что куда лучше кодить на GML, что даётся нам кнопкой «Execute a piece of code», находящейся во вкладке control справа. Её нужно перетащить в Actions, и можно кодить. Но что кодить? Это уже зависит от объекта и события.

Тут много знать не надо. Самые главные события это Create (создание объекта, оно же «конструктор»), Destroy (уничтожение объекта, «деструктор»), Step (шаг объекта, самое главное событие) и Draw (отрисовка объекта, но по умолчанию он отрисовывает свой спрайт и сам, а добавление пустого Draw делает его невидимым). В Create желательно инициализировать переменные, в Destroy часто ставят создание объектов для спецэффектов типа взрывов, в Step ставят всевозможные вычисления и управление объектом, а в Draw — прорисовывают интерфейс, меню, или что там нужно.

Ещё одно главное событие это Collision, или событие столкновения — оно срабатывает всякий раз, когда два объекта пересекаются своими масками столкновений. Маски по умолчанию совпадают со спрайтами, но могут быть переназначены на другой спрайт.


Читать дальше...

Гамак — Названия и термины

GameMaker
Обычные ООП-языкиGameMakerОсобенности GM
переменнаяпеременнаяМогут менять свой тип во время исполнения кода
Типов очень мало — вещественные числа, строки, массивы
Традиционных указателей нет
функция (НЕ метод)скриптСкрипты не принадлежат объектам, могут вызываться откуда угодно
Вызванный скрипт выполняется в контексте вызвавшего объекта
У скриптов может быть не более 16 параметров
Параметры скриптов никак не именуются: argument0...argument15, но
для наглядности можно вручную называть полученные аргументы,
записывая их во временные переменные только ради названия.
классобъектВсе объекты могут обращаться ко всем переменным всех объектов
GM-объект описывается как реакции (действия в ответ) на события
GM-объекты могут иметь родителя, наследуя его реакции на события
Унаследованные реакции можно переопределить либо дополнить новыми
объектэкземплярЭкземпляры GM-объектов содержат множество встроенных переменных,
поэтому использовать их в качестве структур данных — плохое решение
(для этого просто заводят множество массивов с похожими названиями)
событиесобытиеСвои события создавать нельзя, но можно назначать номерные
User Events, и вызывать их вручную через event_user(номер).
Впрочем, встроенных событий хватает на очень многие вещи.
обработчик событиядействие событияРаньше ГМ затачивали под то, чтобы в этой колонке складывать несколько
«кнопок», где пользователь задаёт только параметры действий. Однако,
для большей гибкости лучше писать код на GML, а «кнопки» игнорировать.
 исключениенетМеханизма исключений в GM нет, и никогда не было
Впрочем, можно подавлять возникающие ошибки, и игра никогда не вылетит
в традиционном смысле этого слова, если это не аппаратная проблема или
проблема на стороне операционной системы.
Конструктор

Create Event

(ev_create)

Событие, вызываемое сразу при создания объекта, на том же шаге

Модификатор Persistent позволяет объектам «жить вечно», переходя между
разными Комнатами (по смыслу — уровнями), если только их принудительно
не удалить через код скриптов, комнат или других объектов.

Деструктор

Destroy Event

(ev_destroy)

Событие, вызываемое сразу при уничтожении объекта, после конца
выполнения текущего участка кода

При переходе между Комнатами, непостоянные объекты удаляются, но
событие Destroy в них не происходит.

Гамак — Хаб

GameMaker

Это технический пост, который будет многократно редактироваться и дополняться.

В нём будет содержаться список ссылок на посты, входящие в этот цикл.

Цикл посвящён не разработке игр, не программированию, не гейм-дизайну, не левел-дизайну, а конкретно и именно Гейм Мейкеру. Ориентирован на людей, которые уже программировали что-либо, объяснений базовых понятий программирования и конкретно ООП в нём нет, благо всю недостающую информацию можно бесплатно достать в Интернете, а весь недостающий опыт — наработать.

Кроссплатформенность и работа с 3Д, равно как и с прочими глубокими фишками, в цикл не входит. В него входит минимум, чтобы ввести в курс дела, как мутить всякие простые штуки в 2Д, чтоб было от чего оттолкнуться. ГМовских «кнопок» не будет, только код на GML.

 

Оглавление

Основы

0 - Названия и термины

1 - Структура игры

1а — Кодим клон Aliens X

2 - Как придумать игру и не смочь её сделать
(старый дедовский способ ещё на 58% проще!)

Может быть про дебаг

Может быть что-то ещё

 

Тонкости и нюансы

varенье - «отдельная» локальность
переменных с ключевым словом var

про айдишники ассетов

сёрфейсы

чё там ещё

 

 

Пишите комментарии и предложения, если есть.

КсиТехнология-02 — послойное рисование спрайтов в заданной палитре

GameMaker

Спойлер
показать

(анимация очень цветастая, большая и быстрая — осторожно! специально спрятал в спойлер)

Проблема: я хочу все эти перекраски, всех возможных анимаций персонажа, но не хочу красить и вручную грузить всё это как отдельные спрайты. Впрочем, проще показать вот этот спрайтлист, уже упомянутый в посте про КсиТехнологию-01, про систему анимаций:

В Shovel Knight для этого использовали пиксельные шейдеры. Но в ГМ8.1, который я использую сейчас для Castle of no Return 2, и тем более в ГМ6.0, который я использовал во время придумывания этой технологии в 2008 году, когда Дрейк делал уже третью часть своей фан-игры по Мегамену, шейдеров никаких нет. Думаете, я остался доволен? Думаете, они нужны? Нихрена подобного! Подробности — под катом.


Читать дальше...

Масштабирование всей игры без мыла и дрожания (финальная версия)

GameMaker

Пост относится только к GM8.1. У Студии есть такая же проблема, решается ли она — не читал, но какое-то обсуждение на официальном форуме было. Да скорее всего решается, просто функции другие и надо пересоздавать сёрфейс если он вдруг пропал (вечная беда главная фишка Студии).

Техника, которую я описываю в этом посте, собирает в себе опыт Йеовского копания в этом вопросе в 2011 году, ответ (2013) и дополненный ответ (2014) от некоего юзера Blue на gamedev.stackexchange.com, который на самом деле основывается на бородатом ответе на форумах Гейм Мейкера времён 2008-2010 (уже не удаётся найти через поисковик), и мой собственный, отработанный на Castle of no Escape и окончательно отфильтрованный при попытке встроить это «безмыльное» масштабирование в Princess Remedy in a World of Hurt.

Суть проблемы: при использовании встроенного масштабирования в GM8.1, на многих системах получаем мыло, тогда как нужны чёткие квадратные (или хотя бы неразмытые) пикселы.


Читать дальше...