Суббота, 23 Ноября 2024, 13:02

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [358]
Статьи об общих понятиях связанных с созданием игр.
Программирование [83]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [147]
Статьи о программах для создания игр, уроки и описания.
Софт [43]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [167]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [132]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Вы создаете собственные сайты?
Всего ответов: 1929
Главная » Статьи » Создание игр

Создание платформера в GameMaker
Создание платформера в GM
  • Скачать GameMaker
  • GM-исходник платформера
  • ВСТУПЛЕНИЕ

    Все мы, наверно, когда-то играли в какие либо игры и к нам рано или поздно приходило желание сделать свою игру. Возможно, у вас возникло желание создать небольшую игру, но вы не знаете не единого языка программирования? Конечно, если у вас есть Интернет, вы можете найти уроки по программированию C++, Delphi и других языков. Вы можете долго учить их и потом делать небольшие игры. Но у меня возникает вопрос: «ЗАЧЕМ?». Если умные люди создали массу конструкторов и готовых движков для ваших игр. Кстати, на сайте http://gcup.ru вы сможете найти буквально все конструкторы, что изобрели люди. Давайте остановимся на известном всем Game Maker by Mark Overmarse.

    Итак, ищем на этом сайте эту программу, и качаем. Желательно купить лицензию за 20$, чтобы иметь больше возможностей. Без лицензии вы не сможете создать полноценную игру (хотя это можно, но проще будет с лицензией). Ознакомьтесь с примерами, которые даны вместе с программой, прочитайте основы программы в файле помощи. Вы наверно спросите – зачем нам эта статья, если всё подробно расписано в официальном файле помощи к игре? Да затем, что в официальном файле помощи описаны только коды и основы их пользования, а я расскажу, как сделать игру определенного жанра.

    Вы ознакомились с Game Maker, теперь обязательно выучите хотя бы основы GML. Хотя ниже описанный пример platf_primer.gm6 будет использован преимущественно на кнопках (триггерах).

    ПЛАТФОРМЕРЫ

    Платформеры – это, пожалуй, один из самых распространённых жанров в приставках Dendy, Sega и просто в играх на компьютеры. Суть его заключается в том, что вы ходите как бы по «платформам» и после прыжка, гравитация притягивает вас обратно к «платформе». Часто вам придется прыгать с одной «платформы» на другую. Вообще жанр платформеров очень обширный, это могут быть и 2D-шутеры с кровавой резнёй, или просто развесёлые платформеры наподобие Соника или Tiny Toon.

    Для лучшего понимания создания платформера, к статье прилагается пример платформера platf_primer.gm6.

    Начнём с создания персонажа. Создаём объект, называем например obj_player. Задаём ему движения в разные стороны. В кнопке Left проверяем столкновение объекта, как это показано в примере, и собственно смещение персонажа по оси x на координаты -4. Тоже самое и Right, только координаты +4. И не забываем об изменении спрайтов. Красным шрифтом на рисунках отмечены мои текстовые объяснения действий.

    ПРИМЕЧАНИЕ: ЕСЛИ НА РИСУНКАХ ДЛЯ КООРДИНАТ УКАЗАНЫ ЗНАКИ + ИЛИ – , ЭТО ЗНАЧИТ ЧТО ПРИ СОЗДАНИИ ДЕЙСТВИЯ НУЖНО ПОСТАВИТЬ ГАЛОЧКУ НА RELATIVE.

    Теперь персонаж ходит влево и вправо. Пожалуй, самое важное в этих играх это гравитация, и естественно нужны платформы. Создаём ещё один объект, назовём его obj_platform – это будут наши будущие платформы описанные выше. Обязательно ставим галочку Solid (твёрдый) в obj_platform.

    Переходим опять к obj_player. В Step ставим условия, показываемые на скриншоте и в примере:

    Здесь так же объясняются все кнопки, для чего они, и что они дают. Я просто хочу, чтобы не бездумно взяли мой пример платформера, и просто вставили свои спрайты. Я хочу, чтобы вы поняли, как это всё работает.

    Переменная, отображённая слева, поможет вам ограничить скорость падения до 12 максимум. Это поможет вам избавиться от бесконечного увеличения скорости падения.

    Теперь важно сделать прыжок персонажа. Давайте замахнёмся сразу на двойной прыжок.

    Чтобы сделать прыжок, нам нужно внедрить переменную. Давайте назовём её jump. Она понадобится нам для установления максимального количество толчков. В условии create создаём переменную jump=0. Переменные создаются выделенной красным цветом кнопкой. Когда вы её перенесёте в «Actions», появится меню. Указывайте там всё, как на скриншоте.

    Теперь при создании персонажа переменная будет равняться нулю.

    В Событии press (нажать кнопку вверх) создаём такое:

    И теперь создаём цепочку действий в касании с объектом obj_platform.

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

    Давайте сделаем лестницы. Лестницы мы сделаем в событиях Step, Up, Down. Создаём новый объект, и назовём его obj_ladder.

    В Step создаём следующие действия:

    В Up, создаём следующее…

    В Down создаём тоже самое, что и в Up, но координату y=-4, надо заменить на y=+4

    Лестница готова!!!

    Создаём объект врага. Назовём obj_enemy. Врагам в событии Create создаём действие, указанное на рисунке, и ставим в нём всё как указанно на скриншоте.

    Ещё нам понадобится объект obj_rotate и сделать его невидимым (убрать галочку Visible).

    Во враге создаём событие столкновения с obj_rotate и вставляем следующее действие:

    При касании к этому объекту, враг будет менять своё направление, и идти в обратную сторону. То есть так мы устанавливаем области патрулирования врагов.

    Чтобы враги могли «убивать» персонажа, нужно сделать систему жизней и здоровья. В Game Maker такая система уже встроена.

    В событии Step создаём следующее:

    И в событии столкновения с obj_enemy:

    Теперь при касании к врагу, у вас будет отниматься одна жизнь.

    Тоже самое, как и врага, делаем штыки, только они не двигаются. При касании к ним ставим:

    - то есть -1 здоровья. И при касании к штыкам, будет уменьшаться здоровье.

    Когда здоровья будет меньше одного, отнимается одна жизнь.

    Вот уже можно сделать неплохой платформер. Идём в комнату и делаем уровень. Расставляем блоки, персонажа, врагов и прочее…

    Давайте сделаем, чтобы наш платформер был не просто на одной картинке, а был большой уровень, и камера следила за персонажем. Для этого в комнате во вкладке views (виды) делаем следующее:

    Hbor и Vbor нужно менять. Это координаты x и y при достижении которых, камера будет двигаться. Например, для вида размером 640х480 можно поставить Hbor:320; Vbor:240. Тогда камера будет следить чётко по центру за персонажем.

    Итак, с помощью моей статьи и примера, можно сделать собственную игру жанра платформер. Вам остаётся только сделать уровни! Научившись азам «Game Maker» вы сможете сами понимать, как сделать тот или иной жанр игры. Эта статья рассчитана для новичков. Думаю всё написано доступно.

    Категория: Создание игр | Добавил: GC-Vic (01 Сентября 2009) | Автор: Ternox
    Просмотров: 61624 | Комментарии: 26 | Рейтинг: 3.9/21 |
    Теги: Разработка игр, Game Maker, конструкторы игр, Уроки создания игр, платформер, Игровые движки, Как создать игру, Урок создания игр, Создать игру, gamemaker
    Дополнительные опции:
    Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

    Игровые объявления и предложения:
    Если вас заинтересовал материал «Создание платформера в GameMaker», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

    Всего комментариев: 261 2 »
    +2-
    26 danyabojko   (19 Января 2014 20:50) [Материал]
    danyabojkoВсе получилось,отлично.Автор круть!

    +1-
    25 danyabojko   (19 Января 2014 16:43) [Материал]
    danyabojkoВ "if an expenssion is true" что нужно прописывать?

    +1-
    24 vasiliyluk   (05 Марта 2013 17:42) [Материал]
    vasiliylukне знаю как вам всем,а мне легче со скриптами ,но статья и правдо хорошая cool

    +0-
    23 Леонид   (07 Сентября 2012 16:35) [Материал]
    ЛеонидТоварищи, что у меня за чертовщина. Персонаж пролетает сквозь платформы. Если он стоит на них сначала, все нормально, но если попадает на них походу игры, то проваливается. Сделал все один в один, как в примере. Платформы твердые, событие в шаге стоит. В чем проблема?

    +1-
    21 stinger   (04 Марта 2012 21:40) [Материал]
    Спасибо огромное

    +1-
    18 Anthem   (02 Июня 2011 18:31) [Материал]
    AnthemУрок не плохой. Достаточно информативен.

    +-3-
    17 vladboss   (13 Февраля 2011 15:35) [Материал]
    vladbossа как счет создать...ну очки???

    +2-
    19 Anthem   (02 Июня 2011 18:36) [Материал]
    AnthemВо встроенном уроке GM это описывается.

    +0-
    16 vladboss   (12 Февраля 2011 01:52) [Материал]
    vladbossстатья и впрямь отличная...есть чему поучиться)

    +-5-
    14 bloodSTALKER   (31 Декабря 2010 12:49) [Материал]
    Мне ктонибуть ответит? angry

    +2-
    20 Anthem   (02 Июня 2011 18:38) [Материал]
    AnthemСейчас информацию я для вас уточню, БладСТАЛКЕР. Оставайтесь, пожалуйста на линии: это займет не более двух минут, дождитесь моего ответа. Хорошо?

    +-3-
    13 bloodSTALKER   (30 Декабря 2010 15:17) [Материал]
    А вот у меня такой вапрос можно ли зделать так чтоб персонаж не рестартелся сразу после поподания на калюки или на врага а сначала отнемались сердечки и когда их становится 0 тогда тока рестартить его на место старта? happy

    +1-
    15 ХP   (08 Января 2011 14:52) [Материал]
    ХPПройди первый урок который дайет сам GM тогда и поймешь happy

    1-10 11-19
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Поиск по сайту
    10 случ. движков
  • GameLooper
  • EDuke32
  • Amp II Game Engine
  • Platinum Arts Sandbox
  • RiBox3D
  • GameSalad
  • Construct Classic
  • Chocolate Doom
  • LawMaker Game Engine
  • Wicked Engine
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг