Как сделать UI в Игре на GameMaker Studio 2 - Основы пользовательского интерфейса | Devlog 6

Поделиться
HTML-код
  • Опубликовано: 26 сен 2024
  • На UI Дизайн и Обучение в играх обращают внимание только тогда, когда они сделаны плохо.
    Если же они сделаны хорошо, то игрок вообще их не заметит!
    Но и обойтись без них нельзя, ведь User Interface и Обучение доносят до игрока ключевую информацию и позволяют контролировать процесс игры.
    Создать такой Пользовательский Интерфейс, который будет одновременно информативным, удобным и красивым - крайне непростая задача.
    А создать обучение, которое не портит погружение - настоящее искусство.
    Этим видео я продолжаю серию своих девлогов по созданию первой в моей жизни 2д игры на движке GameMaker Studio 2. Здесь я расскажу о своём первом опыте в создании пользовательского интерфейса и обучения в играх. О том, с какими проблемами я столкнулся и покажу какой результат у меня получился в итоге.
    Приятного просмотра!
    ------------
    Тайм-коды:
    00:04 - Презентация Бортового Компьютера
    00:43 - Создание Пользовательского Интерфейса
    04:00 - Создание Таймера
    06:32 - Проработка Обучения в Игре
    09:23 - Результаты
    ------------
    Полезные ссылки:
    Канал «Дети Играют» - / @kids_playing
    Мой Бусти - boosty.to/evil...
    Наша Группа ВК - evilogr...
    #Gamedev
    #UI
    #gamemaker
    #Indi
    #EvilOgreStudio

Комментарии • 35

  • @angiovannie2798
    @angiovannie2798 Месяц назад

    Как же идеально обыграны эмоции и реакции тут)
    Видос оч информативный! Спасибо 🤩

  • @JamgJust
    @JamgJust 6 месяцев назад

    с каждым разом твое видео становится лучше

    • @EvilOgreStudio
      @EvilOgreStudio  6 месяцев назад

      Спасибо, я рад, что это заметно. :) Каждый новый ролик я стараюсь сделать хоть в чем-то лучше предыдущих )

  • @xolbonit
    @xolbonit 7 месяцев назад +6

    Ура, новое видео от отличного разработчика

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад

      Спасибо, бро!😄 Я сам рад, что наконец-то его доделал :)

  • @mr.hefren
    @mr.hefren 7 месяцев назад +5

    😊У Огра вышло новое видео с интересной и невероятно важной информацией для игроделов
    💀Я пишу игру полностью кодом

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад +1

      там даже с кодом большие проблемы с этими встроенными переменными дурацкими :(

  • @leafyMoonlight
    @leafyMoonlight 7 месяцев назад +1

    Давненько я не заходила на ютуб...
    Создание игр это и круто и сложно одновременно, но я стараюсь не опускать руки! И ползти к цели)
    Ваша игра супер! Шедевр рождается на глазах! Эта игра еще не вышла? Хочется опробовать уже)
    Я думаю мучения окупятся)
    Удачи!

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад

      Большое спасибо! :) Игра пока не вышла. Но больше половины пути уже точно пройдено. Самому не терпится поскорее закончить. :) Вам тоже желаю успехов и терпения на творческом пути!

  • @xleb5211.official
    @xleb5211.official 7 месяцев назад +3

    имба видео

  • @HodwiStudio
    @HodwiStudio 7 месяцев назад

    Выздоровел и пошёл пахать!
    Видео улучшились, своя инфографика и также медленночно не прям, а спокойное и понятное.
    А то знаю таких, кто быстро всё диктует что не успеваешь следить. Как будто торопятся пойти на вокзал и в спешке, делают монтаж 😆
    Нет, понятно что зацепить зрителя нужно за 10-15 секунд, но не так же быстро весь ролик
    Мы даже сами пробуем спокойный, но понятный ролик
    Осталось нам только инфорграфику больше сделать и правильно зацепить зрителя и думаю пойдёт хорошо
    Но у тебя всё классно как всегда
    Правда насчёт рекламы каналов у тебя неправильный немного подход.
    Здесь стоит учесть, что в ролике самом не упоминал, да и ссылку в конце только говоришь. Хотя до конца не все досматривают
    Можно сделать так, говоришь материал ролика как обычно, но при этом связать свою тему с рекламой. Чтобы сильно не отходить от темы, думаю 20-30 секунд будет достаточно. Минута прям на крайняк, если это прям полезный канал. А в основном 20-30 секунд достаточно думаю будет
    Чисто на заметку тебе 😉
    Жду новых роликов, да и мы отставать в плане разработки не будет. В этом году планируем выпустить наконец девлоги. Но это ещё как получится, может план другой будет к этому времени, но в планах есть

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад +1

      Давайте работайте! А то у тебя ролики выходят даже реже, чем у меня! :) У меня тоже полно планов по проекту на этот год. Так что будем делать!

  • @liveworkdie
    @liveworkdie 7 месяцев назад +3

    Оу, йессс. Огр жив. Слава богам! Как всегда хорош. Оформление видео бомба. UI это вам не это. Всегда сложно.

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад

      Спасибо! :) Да, как-то в этом движке не важно с готовыми инструментами для UI.

  • @djzargo
    @djzargo 7 месяцев назад

    @EvilOgreStudio
    На 8:56 я посмеялся над самим кодом. Вспомнил себя самого.
    Ты мог записать эту логику намного лучше и проще, по крайней мере как для опытных разработчиков.
    Если ты еще пока не знаешь про массивы и циклы, то советую подучить. Это понимание также важно и для визуального программирования.
    С таким кодом ты сможешь просто добавить новую строчку инструкций и ничего копипастить не нужно. Попробуй обязательно.
    Disclaimer: Так как я разраб под Unity и C#, а не GameMaker и GML, то не могу дать гарантий что можно или нельзя объявлять массив на разных строках и, что я также как и ты, случайно не сослался на встроенные переменные и ключевые слова.
    instructions = [
    "Используйте 'W', 'A', 'S', 'D' или 'Клавиатурные Стрелки', чтобы двигаться.",
    "Используйте 'Пробел' или 'ЛКМ', чтобы стрелять!",
    "Собирайте Монетки!",
    "1000 очков = +1 Жизнь!",
    "Накопите 10 000 кредитов и станете победителем!",
    "Удачи!"
    ]
    index = instruction_number - 1 // У массивов отсчет номера элемента начинается с 0
    #region // Вариант 1
    //instructions_count = array_length_1d(instructions)
    //line_w = create_array(instructions_count, 700)
    //scales = create_array(instructions_count, 0.3)
    //line_w[5] = 500
    //scales[5] = 0.5
    //cur_line_w = line_w[index]
    //cur_scale = scales[index]
    #endregion
    #region // Вариант 2
    cur_line_w = 700
    cur_scale = 0.3
    if (instruction_number == 6) {
    cur_line_w = 500
    cur_scale = 0.5
    }
    #endregion
    draw_text_ext_transformed_color((room_width / 2), 110, instructions[index], 30, cur_line_w, cur_scale, cur_scale, 0, c_white, c_white, c_white, image_alpha)

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад

      Заходи к нам в чат разработчиков в Телеге! Нам нужны такие спецы. :)

  • @mejnav
    @mejnav 7 месяцев назад

    Бро, видя, что ты на собственном опыте научился, я думаю уже поздно говорить😂, но встроенные переменные и функции - это база в любом движке. Конкретно встроенные переменные бывают очень удобны в сокращении кода если правильно их использовать. И всё-таки я бы сказал что косяк в назывании переменных за тобой, т.к. у оформления тоже есть свои правила😅.
    А ещё я бы посоветовал тебе не полагаться так во всём на готовые решения, потому что, как ты заметил, они вообще не всегда есть. Я думаю тебе нужно оставить визуальное программирование, и начать писать код. Да, я не спорю, будет трудно, но неужели ты шёл в геймдев с мыслями о том, что будет легко?😅 В общем, подумай о том чтобы взяться за это серьёзно, друг :)

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад +1

      Привет, бро! :) На счет кода - мб когда я все-таки доделаю эту игру, я пройду какой-нибудь краткий курс на степике по С#. Но вообще визуально мне удобнее все это собирать. :)
      А что касается встроенных переменных - я согласен, что они в целом нужны. Но блин, хорошо когда они работают интуитивно понятно, как speed например. А нафига к этим переменным накрутили доп функций просто чтобы их значение вытаскивать? При этом полученное значение нужно ещё поместить в третью переменную, которая будет посредником, просто чтобы реализовать тот же функционал, что я сделал в этом видео. Мне показалось, что это какой-то бред. Мб я не прав и в этом есть какой-то глубокий смысл, но хз как я могу об этом узнать.

  • @limtim-j6c
    @limtim-j6c 7 месяцев назад

    привет как сделать так чтобы бластер крутился вокруг сферы , и когда мы нажимали стрелял

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад

      Ну не простую задачку ты задал ) Создавать отдельный объект, задавать ему координаты через синус угла и время, а в качестве центра радиуса задавать центр сферы. :) Как-то так.

  • @amyamych3272
    @amyamych3272 7 месяцев назад

    Привет, а будет видео о создании диалогов? Просто голову уже долго ломаю как сделать их так, чтобы если поговорил с нпс, он будет говорить " мы уже поговорили."

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад

      Привет! Ну когда эту игрулю закончу, планирую делать новые уроки. Мб и по диалогам когда-нибудь сделаю. :) Но конкретно в твоём случае я бы просто делал переменную которая бы изменялась при общении с НПС. А при каждом начале диалога проверял бы её значение. Если оно уже достигло определенного значения, то НПС выдавал бы "мы уже поговорили". Вроде должно работать. )

    • @amyamych3272
      @amyamych3272 7 месяцев назад

      @@EvilOgreStudio хорошо спасибо большое

  • @EmilGasanov-v7q
    @EmilGasanov-v7q 6 месяцев назад +1

    куда пропал?

    • @EvilOgreStudio
      @EvilOgreStudio  6 месяцев назад

      Готовлю новый ролик ) Скоро будет уже )

  • @knfcv553
    @knfcv553 7 месяцев назад

    через какую программу делать анимаций и обьекты

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад +1

      Я все рисую и делаю анимации в Krita (Она бесплатная.)

  • @limtim-j6c
    @limtim-j6c 7 месяцев назад

    привет будет ли тг канал

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад

      Привет! Да, собираюсь в ближайшее время его сделать )

    • @limtim-j6c
      @limtim-j6c 7 месяцев назад

      как сделать кнопку играть или быть точнее чтобы кнопка отправляла тебя в другую комнату @@EvilOgreStudio

    • @EvilOgreStudio
      @EvilOgreStudio  7 месяцев назад

      @@limtim-j6c Ну делай отдельный объект (кнопка) выноси его в комнату и ставь ивент (нажатие мышкой) в ивенте ставь экшен go to room и выбирай комнату в которую перейти.

  • @GqqdArt
    @GqqdArt 3 месяца назад

    Если бы ты юзал гмc то было бы проще

    • @EvilOgreStudio
      @EvilOgreStudio  3 месяца назад

      Да, но чтобы его юзать, нужно уже знать функции. Когда будет побольше опыта, буду переходить на него.