Создание РПГ - Game Maker - Конструкторы игр, системы разработки игр
Навигация по сайту
Сайт:

Дополнительно:

Файловый архив:

Каталог статей:

Форум:


Категории раздела
Game Maker [27]
Flash [3]
FPS Creator X9, X10 [1]
Scirra Construct [14]
Multimedia Fusion [0]
001 Game Maker, Map 001 [0]
3D RAD [16]
3D Game Studio [1]
Silent Walk FPS Creator [0]
Blender (Блендер) [1]
Game Editor [0]
Остальное [1]
Все остальное, что не попадает ни под одну категорию.

Мини-Опрос
Чему вы отдаете большее предпочтение?
Всего ответов: 437

Партнеры сайта
....

Создание РПГ

20:37
Предупреждение: не буду расписывать отвлеченные вещи вроде рисования спрайтов и создания объектов. Только говорю - все препятствия на пути героя должны быть с Solid!

Давайте поразмышляем: что необходимо для РПГ? Прокачка героя, разные супер способности, адекватные сражения и диалоги - правильно? Вот этим и займемся.

В Create пропишем необходимые переменные. Так как в РПГ может быть множество локаций, логично, что переменные эти глобальны (существуют в одном экземпляре и сохраняются при переходе героя на другую локацию).

Скажем, так:
global.xp=0 //Очки опыта героя
global.level=1 //Уровень
global.maxhealth=100 //Максимальное здоровье, увеличивается при прокачке.
global.mana=100 // Мана
global.maxmana=100 //Максимальная мана, тоже увеличивается при прокачке.
//Также наш герой должен менять одежду, оружие, как в больших РПГ. Пропишем для начала:
global.oruzhie='Кулаки'
global.odezhda='Обноски'

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

Создайте спрайт и объект зеленой точки (она обозначает, куда двигается герой). В событии у героя Global Mouse Left (нажатие левой кнопки мыши в любом месте)

Ставим:
1) удаление всех объектов зеленой точки;
2) создание объекта этой зеленой точки в координатах mouse_x, mouse_y;
3) движение героя опять-таки в mouse_x, mouse_y.

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

Теперь в Степе image_angle=direction (у вас должен быть лицензионный ГМ!), чтобы спрайт героя поворачивался в сторону движения. Спрайт должен быть нарисован изначально повернутым вправо.

Получилось движение героя! Что там дальше? Ну конечно, какая РПГ без сражений с монстрами! Сделать монстра не так уж сложно. Есть кнопка передвижения с обходом препятствий (Step Towards Point), ее и перетаскиваем монстру в Step, в координаты там пишем: hero.x, hero.y. Перед этой кнопкой ставим кнопку проверки переменной, в поле переменной пишем "distance_to_object(hero)", а ниже выбираем smaller than и пишем во второе поле, например, 200. 


Теперь у монстра есть простенький ИИ - при приближении героя враг начинает бежать за ним. В Create монстра ставим heal=100 (это его здоровье). В событии нажатия на монстра (в объекте монстра) ставим примерно так:
if global.oruzhie='Кулаки' heal-=2
if global.oruzhie='Меч' heal-=4
if global.oruzhie='Еще что-нибудь' heal-=7

Естественно, также ставим при столкновении героя с монстром так:
if odezhda='Обноски' health-=1
if odezhda='Плащ' health-=0.6
if odezhda='Еще что-нибудь' health-=0.3

У монстра, кстати, ставим в Степ image_angle=direction (он тоже имеет право поворачиваться, куда хочет ).
Но это не все. Герой еще бессмертный и ему плевать на уменьшение здоровья (как и монстру).
У героя пишем в степ:
if health<=0 {show_message('ЛУЗЕР!!!' )game_end()}
А у монстра
if heal<=0 {instance_destroy() global.xp+=50}

Фу-ух, разобрались. Простенькая игрушка создана. Но это все еще не совсем РПГ. Нужна прокачка, верно?
В степе что-нибудь вроде этого:
if global.xp>=300
{
global.level+=1
global.xp=0
show_message('ВАШ УРОВЕНЬ - '+string(global.level)+'!' )
global.maxhealth+=10
global.maxmana+=10
global.mana+=10
health+=10
}

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

Остались магические способности героя. Рассмотрим, скажем, файерболы.
Пишем в событии глобального нажатия левой кнопки мыши:
if global.mana>=20{
instance_create(x,y,faerball)
global.mana-=20}
у файербола в Create:
move_towards_point(mouse_x,mouse_y,15)
И в столкновении монстра с файерболом:
heal-=30 (или сколько надо)


С заклинанием разобрались, настало время последнего элемента - диалогов. С этим просто. В столкновении героя с НПС пишешь вот (пример):
speed=0 (НПС должен быть solid!)
dialog=show_message_ext('Что вы хотите?','Как дела?','Исчезни','Пока!' )
if dialog=1 {show_message('Да нормально все!' )}
if dialog=2 {with (other) instance_destroy()}
if dialog=3 {show_message('Пока! Удачи!' )}

Предупреждение: везде, где сказано про нажатие кнопки мыши, должно быть именно нажатие (Pressed), а не удержание (Button).

Вот и подошел урок к концу. Если что-то непонятно, есть проблемы - обращайтесь ко мне!

Категория: Game Maker | Просмотров: 5056 | Добавил: Скорп (08.10.2012) | Рейтинг: 0.0/0
HTML ссылка на материал:
BB ссылка на материал:
Похожие материалы :
Возможно вам будет интересно:
Гоночное авто (0)
Создание базового движка для игры. Часть 1. Графика и клавиатура (0)
Синтаксис GML в сравнении с Pascal (1)
Создание света (освещение уровня) (0)
startDrag или как заставить объект двигаться за мышью? (0)
Создание Платформенной Игры Copyright 2001 by Mark Overmars (0)
Borland Assembler (BASM) уроки для начинающих (урок 7 часть 2) (0)
Устанавливаем на машину скин 3dRad (0)
Создание MMORPG игр. (3)
Полиморфизм, Инкапсуляция и Наследование (0)
Game Maker. Начало (1)
Frame by frame в 3d RAD (2)
Borland Assembler (BASM) уроки для начинающих (уроки 1-4) (0)
Броня для игрока (1)
Несколько советов (ГМ) (0)
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Мы в социальных сетях

Поиск
Поиск по всему сайту:
Поиск по разделу:

Панель пользователя
Здравствуйте, Гость


Ник:
Пароль:
Запомнить :

Ваш IP: 54.167.83.233

Случайные конструкторы

Случайные движки

Случайные статьи

Статистика
Онлайн всего: 3
Гостей: 3
Пользователей: 0

На сайте были:

При полном или частичном копировании материалов сайта ссылка на Make-Games.ru обязательна. Make-Games.ru © 2008 - 2018 Хостинг от uWeb
Топ Разработка игр Рейтинг@Mail.ru