Top-Down Shooter в Gamemaker. Часть 2 - Враги, очки и небольшие правки | Урок по Gamemaker Studio 2

Поділитися
Вставка
  • Опубліковано 19 чер 2024
  • Создаём игру в жанре Top-Down Shooter на Gamemaker Studio 2.
    В этом видео мы:
    - Сделаем врагов
    - Добавим возможность их убить
    - Добавим подсчёт очков за противников
    - Выведем счётчик очков на экран
    - Сделаем небольшие правки в коде
    Ссылка на наш Discord: / discord
    Таймкоды:
    00:00 Вступление и создание шаблона под противника
    01:33 Создаём неподвижную мишень
    04:15 Выводим очки на экран
    06:25 Создаём двигающегося врага
    10:00 Делаем рестарт игры при касании с врагом
    10:41 Делаем правки в коде

КОМЕНТАРІ • 17

  • @hetfguionardbulid9242
    @hetfguionardbulid9242 3 роки тому +2

    Отличное и информативное видео! Благодарю!

  • @foranoreforanore3922
    @foranoreforanore3922 3 роки тому +2

    Не понимаю почему у тебя так мало просмотров! Ты же хорошо объясняешь!

    • @dimusikus
      @dimusikus 3 роки тому +4

      я вообще коекак этот канал случайно откопал спустя 5 месяцев, чтото ютуб не охотно к нему относится.

  • @foranoreforanore3922
    @foranoreforanore3922 3 роки тому

    Спасибо за урок!

  • @user-te9oh5jb5y
    @user-te9oh5jb5y 4 місяці тому

    Если у вас не работает попадание и пуля летит мимо, то проверьте физику в комнате. Возможно она есть и по этому это не работает

  • @kasiannavi
    @kasiannavi 3 роки тому

    А можно ли сделать урон в диапазоне от (условно) 3 до 7? Или это никак не реализовать в этой программе?

    • @gdjourney7355
      @gdjourney7355  3 роки тому +1

      Это делается очень просто. Сначала пишешь randomize(), чтобы у тебя каждый раз новый сид для случайного числа создавался (иначе функции для случайных чисел будут давать один и тот же результат). Потом, чтобы зарандомить число используешь random_range(от, до). Она даёт случайное число, включая дробные. Но думаю в твоём случае лучше irandom_range(от, до)
      P.S. Документация движка говорит, что достаточно один раз где-то вызвать randomize() в начале игры, постоянно вызывать не надо вроде как

    • @kasiannavi
      @kasiannavi 3 роки тому

      @@gdjourney7355 Спасибо)

  • @redminote-yk4bq
    @redminote-yk4bq 2 роки тому

    пожалуйста расскажите как сделать ресет очков после смерти персонажа?

    • @gdjourney7355
      @gdjourney7355  2 роки тому

      Ставишь в месте, где у персонажа заканчиваются жизни score = 0 и всё

    • @awaydays8935
      @awaydays8935 2 роки тому

      там, где у тебя collision противника с игроком описан, игра рестартится. добавь после game_restart(); событие HP = 0;

  • @InsaRem
    @InsaRem 3 роки тому +1

    *Давно пишешь на gms2? Я тоже пишу игру, но у меня в плане графики сложная, весит уже 183мб,можешь на канале посмотреть видео*

    • @gdjourney7355
      @gdjourney7355  3 роки тому

      Пишу не очень давно, но я с этим движком, судя по всему надолго

  • @andzu8760
    @andzu8760 3 роки тому

    Что делать если пуля пролетает сквозь объект а

    • @gdjourney7355
      @gdjourney7355  3 роки тому +1

      Если пуля пролетает сквозь врагов и не попадает в них, даже, когда все коллизии правильно настроены, это значит, что скорость снаряда слишком высокая. Физика игры обрабатывается, как и сама игра с определённой частотой, поэтому в одном кадре снаряд перед врагом, в следующем он уже за ним, следовательно попадание не засчитывается. Чтобы такого не было нужно или уменьшить скорость пули, или сделать её хитбокс длинней в редакторе. Есть ещё всякие трюки, но они уже сложней

    • @gdjourney7355
      @gdjourney7355  3 роки тому +1

      Из довольно распространённых приёмов в шутерах, можно к пуле привязать короткий луч сзади, который будет дополнительно проверять касание. В GameMaker это можно сделать с помощью collision_line(), которую можно направлять через lengthdir. В общем, думаю разберёшься, как это реализовать. Я, наверно, как-нибудь видео про эту проблему запишу.

    • @andzu8760
      @andzu8760 3 роки тому

      @@gdjourney7355 спс