Исходник Для Game Maker

/ Comments off
Исходник Для Game Maker 9,1/10 7051 votes

Если вы любите игры, несомненно задавались вопросом о том, как их делают. Если у вас есть (или будет) желание делать игры, но нет опыта, в этой статье я расскажу о том, как это лучше начать. Я хотел бы рассказать об игровом движке Game Maker и разместить несколько публикаций, в которых мы напишем клон не сложной игры, например, Plants vs Zombies.

Hello Mario Engine - открытый исходник для Game Maker, с отличным кодом платформера. Если вы хотите сделать платформер в лучших традициях марио, это то что вам нужно. Отважный герой в фетровой шляпе спускается в огромную пещеру в поисках сокровищ, раз за разом спускаясь все глубже и глубже. На каждом уровне ему предстоит спуститься на нижний ярус и перейти на следующий этап — по большому счету, это ключевая задача Spelunky. Подробнее. Просмотров: 455 Категория: Примеры Game Maker 8,7 (.gmk). Shotgun FunFun Исходник. Отличный исходник отличного платформ-шутера Shotgun Funfun, в котором нужно бегать по комнате, прыгать и убивать демонов. 'Kreny Bird's' Подобие на flappy bird Исходник игры Flappy bird.

Возможно, добавим поддержку геймпада и сделаем, например, Android-версию. Исходные коды будут открытыми, а вот графика, если не найдется желающего безвозмездно её нарисовать и поделиться с сообществом, будет куплена на GraphicRiver и распространяться по понятным причинам с игрой не будет. Ну и обилием анимаций игра обладать тоже не будет. Вступление Game Maker — это невероятно простой игровой движок, позволяющий создать игры для большого числа платформ — Windows, Mac OS X, Ubuntu, Android, iOS, Tizen, Windows Phone, Windows 8, PlayStation 3, PS 4, PS Vita, Xbox One и HTML 5. Елена артамонова большая книга ужасов 27 серия.

Есть поддержка SteamWorks. В случае успеха вашей игры, портирование на другую платформу сложной задачей не будет. Скорость разработки даже при скромных знаниях и минимальной мотивации субъективно быстрее, чем на других движках. Установка и настройка для начинающих максимально проста и не требует особых знаний. Компиляция под другие платформы не требует смены кода игры и осуществляется одним кликом (ну почти).

YoYoGames — компания, создавшая Game Maker, недавно была приобретена Playtech, что дает уверенность в том, что Game Maker продолжит развиваться. Анонсированный Game Maker 2.0 вероятно будет еще более дружественным и простом, а также логично предположить, что будет обладать еще большими возможностями. Как пишут в пресс-релизе, GM 2.0 — одна из причин покупки компании. В этой статье я кратко расскажу о Game Maker и мы сделаем простой набросок будущего проекта.

Для кого этот движок и с какой целью его еще можно использовать? Цель — любая 2D игра. Однако для тех, для кого программирование не родная стихия, а так же для быстрого прототипирования и создания игры с минимальными усилиями для любого желающего делать игры и/или заработать на них, Game Maker подойдет идеально. Плюсы Game Maker — простое вхождение; — знакомый всем по Java/C/C# синтаксис; — возможность легкой компиляции на разные платформы; — активное сообщество, которое за многие годы уже решило много проблем и написало код за вас; — стандартный функционал, благодаря которому не нужно самому писать большое количество кода; — расширяемость через extension'ы; — справка (F1) очень простая и удобная с отличными объяснениями и примерами.

Минусы Game Maker — платность (когда вы дорастете до публикации игры, придется купить лицензию); — нет автоподстановки пользовательских переменных, только для стандартных и скриптов; — высокая стоимость максимальной лицензии (впрочем, не всем нужны прямо все модули); — техподдержка (дважды обращался в техподдержку, быстрее чем через 2 недели мне не отвечали); — нет возможности авторефекторинга. Теперь к созданию игры. Я думаю, установить Game Maker и создать пустой проект проблемой не является.

Вообще для начала хорошо было бы продумать весь функционал, нарисовать схемки, продумать монетизацию и т.д., но это не является целью статьи, так что я покажу вам способ создания проекта для начинающего разработчика игр. Кратко пробежимся по структуре проекта:. Sprites — папка с спрайтами(изображения, анимации);. Objects — объекты со своими заготовленными событиями (например, создание, отрисовка, клик и т.д.);.

Rooms — игровые комнаты (экраны). Для каждого экрана нужно делать свою комнату. Очень удобно;.

Background — фоны, которыми можно залить комнату. Так же используется как tile set'ы Остальное нас пока не интересует. Что такое спрайт в Game Maker? Это изображение/анимация, которые используются в игре. Они обладают своей маской, формы и размеры которой можно менять. Маска — это область изображения, которая реагирует на события столкновения объектов (если этот спрайт присвоен какому-то объекту), кликов по нему. Можно задать точку отрисовки (Origin) — например, от центра, угла или любой другой точки.

Так же для спрайта можно можно задать Texture Group. Нужно для оптимизации отрисовки (например, незачем держать в памяти texture pages с изображениями, которые используются на экране меню, когда у нас сейчас игровой экран). Для каждой Texture Group можно задать платформу, на которой они будут действовать. Например, для Android можно иметь менее детальные изображения, чем для Windows 8 планшетов.

Исходник Платформера Game Maker

Что такое объект (object) в Game Maker? Это описание некоторой сущности, обладающая своими методами (функциями). Каждый объект рисует себя сам (если не задано иное), реагирует на стандартные события — нажатия клавиши, клика по спрайту и т.д По аналогии с ООП — это класс (class).

Что такое инстанс (instance) в Game Maker? Если объект — это просто описание сущности, то инстанс — это экземпляр объекта, его реализация в самой игре. Создав инстанс вы даете ему жизнь и теперь все события, описание которых есть в объекте начнут реагировать. По аналогии с ООП — это объект (object).

Первое, что необходимо сделать — создать новую комнату (на левой панели правый клик на Rooms — Create Room). Назовем её rmgame. Зададим размеры окна во вкладке Settings — Width — 800, Height — 480, Speed — 60. Игра у нас будет происходить в окне 800х480, fps будет не превышать и стремиться к 60 кадрам.

Сохраняем, закрываем. Добавим несколько спрайтов.

Правой кнопкой по папке Sprites - Create Sprite. Назовем его sprunitshooter, загрузим картинку (есть на гитхабе в конце статьи), например, размера 54х54 и отцентрируем (кнопка Center). Кнопка «OK» и данные сохранились.

Game

Теперь нам нужен первый юнит. Пусть это будет классическое стреляющее растение. Но перед этим нам желательно создать объект, который будет родительским для всех пользовательских юнитов (да, примерно тоже, что и наследование в ООП). Так можно избежать повторяющейся логики для всех юнитов, а также как вы увидите ниже, можно будет обращаться ко всем типам созданных во время игры «детям» этого объекта. По принципу, аналогичному со спрайтами и комнатами, создаем пустой объект. Назовем его ounitparent и больше пока с ним ничего не делаем.

Теперь создадим ounitshooter и в графе Parent выберем ounitparent. Зададим ему спрайт — sprunitshooter.

Для этого воспользуемся кнопкой, которая находится под именем. Называть спрайты, объекты, комнаты и т.д. Можно как вам удобно, но для того, чтобы потом не путаться, лучше сразу называть вещи своими именами, например, спрайты с приставкой spr, объекты obj или o, скрипты — scr и т.д. Теперь, каждый раз, когда вы будете создавать объект ounitshooter в комнате, он будет сам рисовать выбранный вами спрайт (конечно, если вы не переопределите это кодом). Спрайт можно задавать и программно, но в таком случае он не будет отображаться в превью Project Structure слева.

Теперь добавим событие, которое будет срабатывать при создании инстанса объекта. В этом событии нужно задать начальную инициализацию переменных, если они имеются. Нажмем Add Event. Как видите Game Maker позволяет каждому объекту отлавливать большое число событий. Нас интересует — Create. Как видите справа в контейнере Actions в нескольких вкладках есть огромное количество drag'n'drop элементов, с помощью которых в теории можно создать совершенно полноценную игру не написав ни строчки кода.

Но это для извращенцев и вероятно в Game Maker 2.0 этот ненужный функционал наконец уберут. Перейдем по вкладку Control перетащим или сделаем правый клик по иконке Execute code. Откроется текстовый редактор, в котором и можно размещать игровую логику. Как вы помните, юниты должны с определенным периодом стрелять. Сделать это можно очень легко. В событии Create напишем этот код: alarm0 = roomspeed. 2; Это означает, что мы запускаем alarm под номером 0, который сработает через roomspeed.2 шагов(кадров).

Roomspeed у нас равно 60, что примерно равно секунде. Так что alarm0 сработает через 120 кадров(2 секунды). Alarm — это функция, а точнее событие объекта, она срабатывает как только счетчик шагов дойдет до 0.

Как и все другие событие оно добавляется через Add event. Теперь нужно прописать логику, которую мы добавим в alarm0, но прежде давайте создадим то, чем будет стрелять наше растение. Создаем новый спрайт sprbullet, размером 16х16 и центрируем. Теперь создаем новый объект obullet и задаем ему только что созданный спрайт.

Исходники Game Maker Studio

В событии Create добавляем код hspeed = 7; точно так же как и с предыдущим объектом. Этой строчкой мы задаем, что объект будет двигаться со скоростью 7 по горизонтали (hspeed = horizontal speed, если кто не понял). Это встроенное свойство каждого объекта. Присвоив ему ненулевое значение, этот объект начнет двигаться на заданное количество пикселей(в нашем случае по 7 вправо) каждый шаг(Step). Если мы зададим hspeed = -7; — объект будет двигаться по -7 пикселей каждый шаг, т.е. Будет двигаться справа налево. Все, возвращаемся к объекту ounitshooter и создаем новое событие — Alarm 0.

Код, который мы напишем в этом событии как раз и будет срабатывать когда запущенный счетчик, который мы создали в событии Create. В событии Alarm 0 мы и будем создавать «пули» (в оригинале — горох), которыми стреляет растение. Добавим такой код: /// shoot var b = instancecreate(x + spritewidth/2, y, obullet); b.depth = depth + 1; alarm0 = roomspeed. 2; Разберем этот код. /// shoot — это просто комментарий, который будет отображаться при переходе на событие.

По-умолчанию показывается — «Execute piece of code», что не очень-то информативно. Так что рекомендуется писать такие комментарии, чтобы не тратить время на переход в редактор кода. Var b = instancecreate(x + spritewidth/2, y, obullet); var b — мы объявляем локальную переменную, которая будет доступна исключительно в этом событии. После завершения события память освободится и обратиться к этом переменной вы не сможете. Instancecreate(x + spritewidth/2, y, obullet); — так мы создаем новый экземпляр объекта и помещаем его в координаты по x: x + spritewidth/2, по y — y. В данном случае x и y — это координаты материнского объекта — ounitshooter. Obullet — это тот объект, который мы создаем.

B.depth = depth + 1; — эта строка означает, что только что созданный экземпляр obullet будет находится на 1 слой ниже чем ounitshooter. Последняя строка означает, что мы снова запускаем alarm0 — растение же должно постоянно стрелять.

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

Правой кнопкой по Backgrounds — Create Background — Load Background, выбираем нужную картинку, скажем, 64х64 пикселя, обзываем bggrass. Переходим в нашу комнату (rmgame), вкладка Backgrounds, выбираем созданный секунду назад фон.

Ставим галочки, если не стоят как на изображении.

Модератор: 240 Сообщений 19 Тем Последний ответ от в 09 Июнь 2016 в 02:36 Движки с полностью готовой механикой игры. 202 Сообщений 16 Тем Последний ответ от в 27 Сентябрь 2016 в 00:34 Готовый инструментарий для создания физики, освещения, графического интерфейса, управления и тому подобного. 101 Сообщений 11 Тем Последний ответ от в 26 Октябрь 2015 в 19:01 Примеры создания меню, интерфейсной панели и прочего тому подобного 55 Сообщений 8 Тем Последний ответ от в 11 Апрель 2013 в 16:13 Графические эффекты и всё что с ними связано 140 Сообщений 17 Тем Последний ответ от в 04 Октябрь 2013 в 11:18 Примеры создания искусственного интеллекта компьютера 13 Сообщений 2 Тем Последний ответ от в 27 Июнь 2011 в 13:20 Страниц: 1.

Исходники Для Game Maker

0 Пользователей и 1 Гость смотрят этот раздел.