Воскресенье, 22.12.2024, 17:16
Главная Регистрация RSS
Приветствую Вас, Гость
Поиск по сайту
Авторизация

Меню сайта
Game Maker
Если вы только-только начали изучать игрострой и еще даже не успели скачать сам Game Maker, предлагаем вам на выбор следующие версии программы:

Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации.
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации.
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна.
Топ 5 игр
Агент Green 4.2 / 5.0
FeDo 4.2 / 5.0
To Mars: Sec... 4.2 / 5.0
To Mars+MapE... 3.9 / 5.0
Paintball 3.8 / 5.0

Топ игр составлен путем пользовательского голосования.

Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;)
Статистика



На сайте: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Разработка игр

Делаем "башенки"

Доброго времени суток! Сегодня, а это 3 августа, я, перебарывая желание пойти на пляж, решил наконец-таки написать статью, выпрошенную пользователями нашего сайта. Итак, сегодня вы узнаете, как сделать так называемые «башенки».

Немного истории.

Началась история столь популярного жанра с внедрения стратегий в игровую индустрию. Именно в то время бурных нововведений и вышла игра Rampart, положившая основу жанру «башенки».

Сейчас «башенки» достаточно распространены в мире компьютерных игр. Plants vs Zombies, Desktop Tower Defense и Master of Defense – это лишь маленький перечень всех представителей этого жанра.

Приступаем к работе.

Сегодня я решил дать вам хоть немного поработать, а не тупо выкладывать скрипты на копи-паст. Итак, нам нужно для работы:

s_tower_clear спрайт свободной для строительства клеточки.

s_tower_full спрайт построенной башенки.

s_enemy спрайт врага

s_bullet спрайт пули

Плюс нам нужны следующие объекты с соответственными спрайтами:

o_tower_clear объект свободной для строительства клеточки.

o_tower_full объект построенной башенки.

o_enemy объект врага

o_bullet объект пули

 

Ах, ты, пустое место!

Переключаемся чисто на работу с o_tower_clear. В событии Left Button пишем скрипт:

d=show_menu('Отмена | Строить',0)

if d=1 {

gun=true

instance_change(o_tower_full,0)

}


 

Разберем скрипт «по составу».

1 строчка: вызываем всплывающее меню в котором определяем значение переменно d.

2-4 строчка: в случае если d=1, меняем наш объект на o_tower_full. (Кстати, если кто не заметил, я сегодня нарушил традицию использовать синтаксис Object Pascal. Так привык к GML).

Теперь давайте расставим в комнате наши объекты в той последовательности, в которой они должны будут отображаться в игре.

 


Беги, Форест, беги!

Приступаем к оперированию объекта o_enemy. Но перед этим создадим новый Путь(Path). В настройках создаваемого пути обязательно уберите галочку Закрыть(Closed), а так же выберите тип соединения Прямыми линиями(straight).

 

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


 

В событии Create для объекта o_enemy переносим действие Set Path() с следующими параметрами:

Path=path0

Speed=3

 

В событии столкновения с o_bullet пишем скрипт:

instance_destroy()

 

Пулю тебе… даром…

Приступаем к программированию башенки. Создаем событие alarm[0] в которой пишем супер-элементарный скрипт:

gun=true

 В событие Step переносим действие Test Expression() со значением:

(gun=true) and (instance_exists(o_enemy))

 

Далее вставляем вот такие скобочки:

 

И меж них пишем скрипт:


dir=point_direction(x,y,o_enemy.x,o_enemy.y)

alarm[0]=5

gun=false

 

Далее в скобки вставляем действие Create Moving() со значениями:

Object= o_bullet

X=x

Y=y

Speed= 25

Direction=dir

 

А дальше уж сами!

Вот и готов наш «движок». Более вам ничего не скажу на эту тему, хоть и могу что добавить.  Поэтому убедительная просьба не просить меня рассказать, как сделать в игре счет, жизни для врагов и т.д. Для этого всего есть форум! Обращаемся туда!

 

А на этой нестандартной и немного неприятной ноте я с вами прощаюсь. Удачи в геймдеве!

Категория: Разработка игр | Добавил: qwerto (03.08.2012)
Просмотров: 4371 | Комментарии: 10 | Рейтинг: 4.0/4
Всего комментариев: 10
7 Жека   (08.08.2012 16:35) [Материал]
Реально ли сделать файтинг ,типа Мортал комбат, если да то как, помогите, плиз.

8 никита   (08.08.2012 20:52) [Материал]
никита Класс!Хоть кто-то знает игру Mortal Kombat.Я тоже хочу эту игру уже давно!И ещё, на Game Maker можно сделать любую игру!

9 BRESS   (09.08.2012 14:46) [Материал]
BRESS Все знают Мортал Комбат... Разве это не так?

10 BRESS   (09.08.2012 14:47) [Материал]
BRESS Сделать файтинг реально. Но урок писать не буду. Слишком муторное и невыгодное это дело. Плюс большинство пользователей вовсе не читают текст, а только копи-пастят скрипты.

3 никита   (03.08.2012 20:50) [Материал]
никита ни одна башенка не стреляет dry

4 BRESS   (03.08.2012 22:12) [Материал]
BRESS как? я проверял. Все работает wink

5 BRESS   (03.08.2012 22:15) [Материал]
BRESS Вот даже исходничек: http://zalil.ru/33642765

6 никита   (04.08.2012 13:22) [Материал]
никита Ах!Я понял!Я в объекте o_tower_full всё в alarm вставил.Не заметил что некоторое надо вставить в step smile

2 никита   (03.08.2012 20:18) [Материал]
никита Огромное спасибо! biggrin Мне тебя в начале статьи жалко стало... Ты хотел на пляж а писал статью.Обидно!А вот я сегодня целый день был на пляжу, купался happy

1 BRESS   (03.08.2012 15:18) [Материал]
BRESS Народ! Статья написана на скорую руку, поэтому может содержать ошибки.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]