Вторник, 26 Марта 2019, 02:56

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

Меню сайта
Категории каталога
Создание игр [318]
Статьи об общих понятиях связанных с созданием игр.
Программирование [70]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [125]
Статьи о программах для создания игр, уроки и описания.
Софт [28]
Различные программы, в том числе в помощь игроделам.
2D-графика [12]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [11]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [102]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [77]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Вам хотелось бы стать модератором GcUp.ru?
Всего ответов: 2051
Главная » Статьи » Программирование

Создание ИИ для платформера (как в Террарии)
Так... для начала создадим спрайты и объекты к ним: s_npc_slime (слизень. обязательно должен быть серого цвета) ЗЫ сделайте второй кадр с тем же слизнем только немного сплющеным s_player (игрок). Теперь объекты: o_npc_slime (слизень) o_player (игрок).
Ну вот, с этим разобрались. Теперь откроем объект слизня и в создание запишем этот код:
Код

image_speed=0  
image_blend=choose(c_red,c_black,c_blue,c_green,c_purple)  
jump_speed = 12;
gravity_amount = 1;  
gravity_direction = 270;
alarm[0]=choose(50,55,60,65,70,75,80,85,90,95,100)
hp=10

Давайте теперь разберем что к чему.
Первая строка задает скорость анимации (0)
Вторая строка рандомно выбирает цвет для слизня.
третья строка отвечает за высоту прыжка слизня.
четвертая строчка это сила гравитации.
пятая это направление гравитации.
ну и последняя строка ставит таймер на прыжок.
Теперь заходим в степ и пишем туда следущее:
Код

if place_free(x, y + 1)  
{
  gravity = gravity_amount;  
}
else
{
  gravity = 0;  
}

Тут я думаю объяснять нечего так как это озы гамака.
Далее создаем два события - alarm0 и alarm1.
В первый сигнал:
Код

image_speed=0.5 //скорость картинки
alarm[1]=20 //сам таймер

Во второй сигнал:
Код

image_index=0 //скорость картинки на 0

jrl=choose(0,1) //JRL выбор стороны
{
vspeed-=jump_speed //приравниваем вертикальную скорость к переменной
}
{
if jrl=0 and not place_free(x,y +1)
hspeed-=2  
if jrl=1 and not place_free(x,y +1)
hspeed+=2
}

alarm[0]=choose(50,55,60,65,70,75,80,85,90,95,100) //тайм на анимацию

Вот мы совсем близко к победе)))
осталось только столкновение с блоком (платформой)
Код

x = xprevious;  
y = yprevious;  

if vspeed < 0 // если вертикальная скорость меньше нуля  
  move_contact_solid(90, -vspeed);//при контакте с чем-либо крепким.
else //иначе
  move_contact_solid(270, vspeed); //ÿ âñå ðàâíî íå â ýòîì íå ðàçáèðàþñü :D  
//выключаем скорости
vspeed = 0;  
hspeed = 0;  

Ну вот и все) Заходим в комнату и проверяем!
====================
Не забывайте про свои плюсы, и тогда я напишу часть 2)
Категория: Программирование | Добавил: CUbeB (24 Февраля 2019) | Автор: CubeB
Просмотров: 418 | Комментарии: 3 | Рейтинг: 4.2/9 |
Теги: Код, гайд, поведение, слизняк, Реакция, GM, враги, ИИ, GML, слизень, платформер, интеллект, умный, Враг, ai, Обучение, искусственный интеллект
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

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

Всего комментариев: 3
+2-
2 GC-Vic   (26 Февраля 2019 12:14)
GC-VicСомневаюсь, что это умный ИИ, но для рядового врага пойдет. Для боссов ИИ куда сложнее нужно делать и с фазами желательно.

+1-
3 CUbeB   (27 Февраля 2019 15:45)
CUbeBВозможно потом выложу как сделать босса)

+1-
1 CUbeB   (25 Февраля 2019 15:16)
CUbeBНадеюсь всем понравится моя статья :D

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • Ren'Py
  • WinPAW
  • SRPG Studio
  • Java Script WebGL Games Creator
  • Unreal Engine 4
  • SimpleJ
  • Unity
  • 3D Game Studio
  • Bitsy
  • UkiRAD
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2019 Рейтинг