Главная » Статьи » Game maker | [ Добавить статью ] |
Создание RPG игры в GameMaker
Урок по созданию РПГ в GameMaker. Вы, наверное, когда-нибудь задумывались о создании своей РПГ игры? В данном уроке написано как это сделать в 2D Предупреждение: не буду расписывать отвлеченные вещи вроде рисования спрайтов и создания объектов. Только говорю - все препятствия на пути героя должны быть с Solid! Давайте поразмышляем: что необходимо для РПГ? Прокачка героя, разные суперпуперспособности, адекватные сражения и диалоги - правильно? Вот этим и займемся. В Create пропишем необходимые переменные. Так как в РПГ может быть множество локаций, логично, что переменные эти глобальны (существуют в одном экземпляре и сохраняются при переходе героя на другую локацию). Скажем, так: Code global.xp=0 //Очки опыта героя global.level=1 //Уровень global.maxhealth=100 //Максимальное здоровье, увеличивается при прокачке. global.mana=100 // Мана global.maxmana=100 //Максимальная мана, тоже увеличивается при прокачке. //Также наш герой должен менять одежду, оружие, как в больших РПГ. Пропишем для начала: Code 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 (это его здоровье) В событии нажатия на монстра (в объекте монстра) ставим примерно так: Code if global.oruzhie='Кулаки' heal-=2 if global.oruzhie='Меч' heal-=4 if global.oruzhie='Еще что-нибудь' heal-=7 Естественно, также ставим при столкновении героя с монстром так: Code if odezhda='Обноски' health-=1 if odezhda='Плащ' health-=0.6 if odezhda='Еще что-нибудь' health-=0.3 Code if health<=0 {show_message('ЛУЗЕР!!!' )game_end()} А у монстра if heal<=0 {instance_destroy() global.xp+=50} Простенькая игрушка создана. Но это все еще не совсем РПГ. Нужна прокачка, верно? В степе что-нибудь вроде этого: Code 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 } Пишем в событии глобального нажатия левой кнопки мыши: Code if global.mana>=20{ instance_create(x,y,faerball) global.mana-=20} Code move_towards_point(mouse_x,mouse_y,15) В столкновении героя с НПС пишешь вот (пример): Code 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). Вот и подошел урок к концу. Если что-то непонятно, есть проблемы - обращайтесь ко мне!В данном уроке написано как это сделать в 2D Предупреждение: не буду расписывать отвлеченные вещи вроде рисования спрайтов и создания объектов. Только говорю - все препятствия на пути героя должны быть с Solid! Давайте поразмышляем: что необходимо для РПГ? Прокачка героя, разные суперпуперспособности, адекватные сражения и диалоги - правильно? Вот этим и займемся. | |
Просмотров: 6600 | | |
Всего комментариев: 0 | |