Лев Дизайнит – Telegram
Лев Дизайнит
1.53K subscribers
68 photos
4 videos
64 links
Канал об играх, гейм-дизайне, кино и обо всем, что связано с медиа и технологиями💻

По всем вопросам:
@cheslev
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
CS50 - пройден!

Вчера завершил курс от Гарварда - CS50. Это были 4 месяца работы по вечерам, но оно того стоило.

На гифке, вы можете увидеть мой финальный проект. И, возможно, с первого взгляда, ничего выдающегося, но это проект, написанный мной с 0 на чистом C при помощи фреймворка Raylib.

Что это значит? А то, что, в данном проекте, я применил знания, которые приобрел на курсе. Структуры, функции, циклы, переменные, работа с пулом объектов - все это и больше, я применил без беспечного следования туториалу, а сам, что-то гугля, что-то додумывая сам.

Также, в написании проекта, я сталкивался с проблемами, для которых искал решения: как обрабатывать коллизии, как разбивать астероид на два, как повторить космическую инерцию, которая была в оригинале. Это невероятный опыт.

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

Так что, все, кто раздумывает, как наконец-то, взяться за программирование - вот вам ответ.

Ну а я: пойду учиться дальше, ведь впереди - куча интересного!
🔥35👍3
Last of Us Part 2 и обучение в безопасности

Добрался наконец-то до Last of Us P2 с холодной головой и открытым сердцем. Мне нравится.

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

Есть одна интересная вещь, которую часто обходят стороной, ибо она не кажется интересной для разбора - обучение. И вот в LoU2, оно реализовано очень элегантно.

Дело в том, что в начале игры, нам предлагают очень мягкое обучение боевой системе - игра в снежки.

Данный способ отлично работает потому, что:

1. Игрок в безопасности может обучиться боевой системе без риска умереть.

2. Игроку бросается первый вызов в игре: выиграть в снежки с детьми.

И то, и другое позволяет вовлечь игрока в процесс, не позволяя ему заскучать на «типичном обучении».

Плюс, это работает на нарративную составляющую. Контрасты между «игрой в снежки» и «бойней» дальше создает у игрока нужные эмоции, позволяя пройти весь путь героя.

Очень много, что хочется рассказать про геймплейную составляющую, может, попробую написать мини-статью с мини-заметками о дизайне Last of Us Part 2.
17
This media is not supported in your browser
VIEW IN TELEGRAM
Курс Тома Лумана по Unreal C++. Задание 1.

Начал проходить курс от Тома Лумана по Unreal C++. Хочется разобраться в программировании на Unreal Engine. Буду потихоньку выкладывать сюда домашки, которые делаю.

Курс привлек тем, что он от действующего профессионала и то, что его проходят работники таких студий как: CD Project Red или Riot Games, а также, он читался в Стэнфорде.

У меня был небольшой опыт в блупринтах до этого, но в один прекрасный момент, мне надоела лапша и я пошел проходить курс CS50, а затем и этот.

Классный курс, лично для меня, его прелесть в том, что многое нужно читать самому. Это не к тому, что база плохо дается, а к тому, что задания выстроены таким образом, что тебе необходимо читать и слушать что-то помимо курса. От этого, любая информация данная в курсе, закрепляется еще сильнее. А сам Том активно дает подсказки и отвечает на любые вопросы.

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

Буду делиться с вами своим прогрессом и своими трудностями в этом курсе.

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

#TomLooman
👍115
Как мне удается делать дела

На самом деле, это название не совсем отражает то, о чем я хочу поговорить. Тут я скорее буду говорить о том, как не сбиться с пути, начать и закончить какое-то дело/проект/курс.

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

Часто, я слышу от людей: "Хочу пройти курс X, но нет времени, что делать?". Формулировка не важна, важно то, что человек что-то хочет, но не представляет, как вообще ему уместить что-то в его загруженный график.

Изначально, у меня абсолютно те же проблемы. Когда я хочу начать что-то делать, я не представляю возможным, как у меня на это хватит времени. Но вот, что я вывел для себя.

Люди, говоря о том, что у них нет времени, очень часто представляют себе, что они сядут и будут 10 часов, каждый день, 8 дней в неделю делать их дело. Возможно, так получится у кого-то, но для большинства - это не работает, к сожалению.

А вот, что работает: 5 минут. Серьезно, начните с 5 минут. Вот, хотите вы программировать. Сядьте, заведите таймер, откройте курс/IDE и просто посмотреть, потыкайте что-то, напишите "Hello world". И закройте.

Завтра уделите еще 5 минут этому. Напишите не только Hello World. Посмотрите еще видео. И после завтра. И потом. Знаете, что самое главное в этом? Вы уже каждый день уделяете время этому. Вы не распыляетесь, а сознательно, садитесь и делаете что-то, каждый день. Это называет дисциплина.

И вот, когда вы делаете это по 5 минут, вы сами не заметите, как перейдете к 10 минутам, а потом к часу. И даже, если вы садитесь на час каждый день. В неделю, это - 7 часов. В месяц - 28-31. В год - 365 часов. 365 часов на ваше дело. Это нормально.

Мозг очень сильно пугается, когда вы говорите ему, что ему необходимо уделять сразу 2-5 часов на дело постоянно. Он не будет так работать. Это ему не нужно. Он выберет рилсы. Потому, что это - быстрое действие и быстрый дофамин. На 15 секунд.

А вам нужно просто "обмануть" его, сказав, что вы всего 5 минут поизучаете программирование. И все. Это не так страшно.

В итоге, важно не количество часов которое вы сидите у себя в голове, а дисциплина, с которой вы подходите к делу в реальности.

Таким образом, я учу японский, прохожу курсы, изучаю геймдизайн. Попробуйте, может, и вам поможет.

Возможно, получилось сумбурно, но, я надеюсь, кому-нибудь да помог.
🔥24👍6🙏4
А я продолжаю быть амбассадором CS50 (бесплатно).

Для тех, кому был интересен курс, но хотели про игры - вас услышали. Прямо сейчас на канале CS50 проходят живые лекции по программированию 2D игр.

Пока вышло 2 лекции, позже будут остальные. Рассмотрят все: от Pong до Зельды. Потом еще и задания подвезут.

https://www.youtube.com/live/_hcaVPyhdBY?si=TROtoMZq_zztJSSG
🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
Курс Тома Лумана по Unreal C++. Задание 2.1.

Начал выполнять второе задание. Оно состоит из 3-х частей. Выложу пока первую.

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

По заданию, необходимо было при помощи LineTrace от камеры определить место попадания, при этом, сохранив точку спавна от руки.

Справился за два вечера, но пришлось немного поломать голову. При помощи функции FindLookAtRotation определил поворот, а конечную точку определил при помощи Linetrace. Что и дало эффект у вас на экране. Снаряд бьет в цель.

Ждите следующую часть и я тоже буду ждать!

#TomLooman
🔥113
This media is not supported in your browser
VIEW IN TELEGRAM
Курс Тома Лумана по Unreal C++. Задание 2.2.

Вторая часть второго задания по курсу была занимательнее первой.

Нужно было создать поглощающую все вокруг сферу. Сделать это необходимо на блупринтах.

Основа, по-прежнему, плюсы. Я создал теперь базовый класс проджектайлов, в который помещаю все основные переменные и функции, и наследуюсь о него. Так что, основа была готова на прошлых уроках.

Для поглощающей сферы, я использовал RadialForceComponent, с обратной, поглощающей силой (просто увел Force в минус). И отдельную сферу, внутри основной сферы, которая при прикосновении уничтожает все Actors, которых касается.

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

Иду к третьей части второго задания...

#TomLooman
11
Media is too big
VIEW IN TELEGRAM
Курс Тома Лумана по Unreal C++. Задание 2.3.

Над третьим заданием пришлось чуть дольше посидеть. Задание: выпускаем снаряд и телепортим персонажа на место снаряда. Называется Dash.

Основные сложности заключались в том, как установить таймер в C++. В блупринтах все не так сложно, одна нода. Но вот в плюсах, необходимо создать таймер, обозначив его, поставить в него нужную функцию и только затем он сработает.

В остальном же, для телепорта использовалась функция TeleportTo, она удобна и встроена. Бороться не пришлось. А я иду на следующую неделю курса.

Спасибо, что читаете и лайкаете, мне очень приятно. Плюс, я хочу вернуться к анализу игровых механик, а то немного забросил это на канале❤️

#TomLooman
20
Детерминированность в Divinity Original Sin 2.

Детерминированность - процесс, исход которого предопределен заранее алгоритмом, значениями входных переменных и начальным состоянием системы.

Одним из ключевых отличий DOS2 от других игровых систем, подобных D&D является детерменированность. Larian сознательно пошли на этот шаг, отказавшись практически от всех элементов, которые не дают игроку точного прогнозирования результата. Это создает из привычной нам системы, которая часто полагается на удачу (бросок кубика), систему, которая ощущается как логическая задачка.

1. В DOS 2, большинство способностей не используют механику шансов, вероятностей успеха, и других, непрозрачных для игрока систем, тем самым, дает игроку обучаться через действие и приносит удовольствие от чистой, предсказуемой тактики, сродни шахматам.

2. Механика очков действия и уход от классических экран-поинтов, уровней заклинания, позволил игре привести действия к одному слагаемому. Таким образом, позволив игроку рассматривать свой ход как арифметическую головоломку, не уходя во множественные ресурсы.

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

Таким образом, ларианы не только привнесли новое в жанр ролевых игр, но и создали новое ощущение moment-to-moment решений игрока в CRPG, снизив порог вхождения и убрав некоторую фрустрацию, с которой, порой, встречаются игроки, бросая кубик.

Еще раз, спасибо, что читаете❤️

#заметкинаполях
13🔥5❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Курс Тома Лумана по Unreal C++. Задание 3.

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

Наверное, это потому, что большинство заданий касалось аудио-визуального оформления и UI. Но, тем не менее, я их выполнил и изучил пару новых трюков.

Задания заключались в следующем:

1. Добавить звук при попадании снаряда в цель.
2. Добавить эфффект "вспышки" при попадании снаряда в персонажа.
3. Добавить показатель нанесенного урона.
4. Добавить границы здоровья (не опускается ниже 0, не поднимается выше максимального).
5. Ну и самое на мой взгляд интересное - добавить зелье восстановления здоровья.

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

Далее - искусственный интеллект врагов. И вот эта тема, я чувствую, попадет мне в сердечко.

Спасибо, что читаете и ставите реакции!

#TomLooman
🔥115❤‍🔥1
Kingdom Come Deliverance 2 и еда, как инструмент вовлечения

Разработчики десятилетиями уже пробуют различные способы вставить в игру таймеры.

KCD 2 (и 1) пошли по довольно известному пути - заставить игрока следить за уровнем голода. В любом выживаче эта механика уже исписана вдоволь. Но я хочу поговорить о ней, как о способе вовлечь игрока, заставить его исследовать мир и преобразить игровой опыт.

Еда - это таймер. Но, что же делает его увлекательным и не раздражающим?

1. Баланс вместо жесткого лимита. При голоде - игрок не умирает немедленно. Он переходит в статус "голодает" или "смертельно голодает". Его характеристики понижаются, как бы сигнализируя о том, что поесть неободимо. Таймер не является главным звеном победы или поражения, он - лишь часть системы. Игрок может превысить "таймер", съедая больше, чем нужно, тем самым получая второе состояние - переедание. Таким образом, таймер побуждает игрока не бояться нуля на стрелке, а держать баланс.

2. Еда поддерживает эксплоринг и прогресс игрока. Благодаря еде, игрок вынужден шарить по шкафам в поисках еды. Варить зелья, следить за состоянием еды и прокачивать персонажа, дабы тот меньше голодал или больше насыщался. Это прекрасно работает с точки зрения системного дизайна, так как дает игроку чувство прогресса и награждает его за исследование мира.

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

4. Еда побуждает к решениям. Таймеры детерменированны, у них есть true или false. Разная еда дает разные эффект, еда портится и еда имеет вес. Это побуждает игрока к решениям: съесть сейчас или позже, выкинуть испорченную еду или рискнуть, выпить или предстоит важное дело?

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

Спасибо, что подписываетесь и ставите реакции! 💚

#заметкинаполях
👍72
This media is not supported in your browser
VIEW IN TELEGRAM
Курс Тома Лумана по Unreal C++. Задание 4 из 7

Это было сложно и больно - ИИ врагов. Но я это сделал, при помощи гугления, просматривания различных видео и пересматривания видео с курса. Я до сих пор не понимаю 95% вещекй по ИИ, все слегка обрывочно, думаю, понимание придет с практикой.

Задание было следующим: необходимо заставить врага убегать в укрытие и хилиться, если его здоровье опускается до критической отметки. Делать он это должен раз в 60 секунд.

В данном задании, я познакомился с такими концепциями, как: сервис, EQS, BT Task и вообще работа с Behavior tree.

По порядку:

1. Behavior Tree - "дерево поведения", при помощи него, мы можем создавать "задания", которые ИИ будет выполнять. Работает сверху-вниз, слева-направо. Это значит, что, например, в приоритете, всегда будет задача, которая находится на нем левее.

2. Сервис - помог мне создать условие, при котором та или иная ветка поведения будет включаться. Именно сервис проверял, если ХП ниже нужное отметки.

3. EQS - Environment Query System. Система, которая указывает ии, куда двигаться, как реагировать на объекты вокруг. Все наше поле - точки, и EQS выбирает нужную в зависимости от наших пожеланий. Это я очень сильно упростил.

4. BT Task - "задание" на выполнение. Бежать, прятаться, прыгать, кричать, хилиться. Я сделал "задание" на хил, подсоединив компонент свойств (в нем, например, и сожержится вся информация о здоровье).

В общем, работы и изучения предстоит много, но это я уже буду пробовать на собственном проекте. Я оставлю несколько полезных ссылок по работе с искусственным интеллектом.

Red Blob Games - очень полезный сайт, чтобы разобраться в разных алгоритмах нахождения пути.

Сикорский Пишет - канал, который помог мне дополнительно разобраться в системах ИИ в анриле

Unreal AI - документация по ИИ от Epic Games

Спасибо, что читаете! Надеюсь, что вдохновляю вас на изучение нового и движение к мечте!💚

#TomLooman
6👍5🔥4
Нашел прекрасный сайт со множеством туториалов на Юнити. Для тех, кому интересно, создание своей игры с нуля - есть туториал по созданию Tower Defense с врагами, башенками, баллистикой и т.д.

Также тут есть туторилы по мувменту и водным поверхностям

Удачи в обучении!

#полезныессылки
🔥10👍42
Желаю вам, чтобы выход и вашей игры ронял стим❤️
🔥26😁541
Прошел Resident Evil 7.

И очень интересно было наблюдать, как меняется игра в зависимости от персонажа.

1. Изначально, когда мы встречаемся с папой семейства, у игры стоит цель обучить нас и ввести в историю. Это получается благодаря самому персонажу, который давит на игрока не чем-то новым с точки зрения механики, а эмоцией преследования. Это очень примитивная, по-хорошему, эмоция. И она позволяет сохранить динамику игры, при этом превращая простые механики для обучения в напряженные.

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

3. Сынок семейства переворачивает механики. Он не столько про шутер или метроидванию, сколько про постоянную эмоцию недоверия. Например, ящики, которые игрок привык разбивать, чтобы получить ресурсы - теперь начинены взрывчаткой. Такими простыми инструментами, можно подарить игроку новый опыт.

4. Последний этап - чистый сурвайвал-хоррор: ищем предметы, сражаемся с монстрами, пугаемся, проходим дальше. Меня он впечатлил меньше всех, ибо давал довольно стандартный опыт и не привносил ничего кардинально нового. Однако, стоит заметить, что данный этап отбирал у игрока все, тем самым внутриигровой прогресс игрока как бы обнулялся, но его знания об игре - никуда не делись.

Спасибо, что читаете, для меня это важно💚

#заметкинаполях
🔥11🎉31
"21" в Resident Evil 7

Одно из DLC предлагает нам поиграть в вариацию знаменитой карточной игры (передаю большой привет Balatro) - "21".

Ее смысл в том, что каждая карта равняется числу, и игроку надо брать столько карт, чтобы получилось число 21 или меньше, если больше - поражение. В игре также есть модификаторы: "Отмени последнюю вытянутую карту у себя/противника, вытяни конкретную и т.д.".

И суть в том, как это реализовано в хорроре: напротив вас сидит ваш соперник. И ему, в случае поражения, придется несладко.

Эмоция ужаса тут добивается за счет наглядности последствий поражения, неправильного решения. При неправильном решении, наш соперник получает крайне жестокое наказание. Звуковые, визуальные эффекты и анимации его страданий взывают к нашему ужасу. Мы начинаем ассоциировать себя с тем, что видим. И нам страшно, так как, мы можем быть следующими.

#заметкинаполях
🔥5
Пока я в отпуске, наткнулся на интересное видео. В нем, предлагают из обычных игральных карт сделать полноценный Dungeon crawler.

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

https://youtu.be/Gt2tYzM93h4?si=iV5BYxZunkAE-m1b
🔥5
Ребятки, сейчас в отпуске в Японии, по этому поводу накатаю пост - Япония Игровая.

Но сейчас расскажу, что поучаствовал в папках геймдева.

Читайте о них ниже, добавляйте папку целиком или подписывайтесь на то, что понравилось 💘

🤩Ксения изучает game studies и смежное полезное, исследует опыт игроков, нарративный дизайн, пользу игр и этику в канале You are in a Cave

🤩Блог о дизайне игр и живой дневник-повествование, а также менторство от Левел-дизайнера Ирины - Пандоров ящик

🤩Помогают новичкам и старичкам найти работу и себя Ступени геймдева

🤩Левел-дизайн от Алексея, вдумчивого специалиста с разборами игр и другими полезностями, на канале Вот это уровень!

🤩Арина - Ведущий нарративщик и сценаристка в Thundertale, пишет глубоко и интересно, в Нарративное бессознательное

🤩Маша, архитекторка с многолетним опытом, с каналом о видеоигровой архитектуре, где пишет от сердца и показывает красивое: Mass Effect и второсортная живопись

🤩Иероним К об играх и game studies, на канале Гипермда

🤩И Александра Голубева, нарративный директор Ice Pick Lodge (вы можете помнить ее по бомбическому переводу Disco Elysium), с каналом Телеграм-река

Или подпишитесь на саму папку. Вуаля, теперь наслаждайтесь! ✔️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
Япония игровая.

Я второй раз побывал в Японии, на этот раз, три недели. И из поездки в поездку не могу устоять, как любовь к этой стране проникает в меня все глубже.

Япония пронизана играми от и до. Игры в ней - не увлечение нердов, а полноценная часть общества. Хочется рассказать об этом.

1. Гачи. Гачи везде. Первое, что вы видите при прилете в аэропорт - гачи. Пластиковые ящички с ручкой. Заплатив немного денег (от 100 до 300 рублей), вы получаете случайную вещь из определенной коллекции. Это может быть кошелек, игрушка, брелок, шоппер, что угодно. Но чаще всего, это все связанно с медиа: кино, аниме, игры, рекламы. Передаю привет геншину.

2. Игры везде. Рекламы в метро, стенды в магазинах, огромные баннеры на улицах. Ты просто ходишь и видишь, как творения твоих коллег по цеху располагаются на глазах у общества.

3. Игры вписаны в экономику. Из предыдущего пункта вытекает то, что игры плотно помогают экономике страны. Capcom, Square Enix, Nintendo являются главными спонсорами игровых и неигровых мероприятий. От кинофестивалей до… спортзалов.

4. Коллектеблы. Есть такая тема - штампы. Штампы ставятся во многих местах. Желательно купить штампбук и ставить их туда. Наполненный штампбук является не только хорошим сувениром, но и способом рассказать историю мест, в которых вы побывали.

5. Звуки. Играя в игры Nintendo, вы могли замечать, как любое действие игрока подкрепляется звуковым сопровождением, давая фидбек. В Японии абсолютно все имеет уникальный звук: заход в магазин, высадка на станции, заход в метро, уникальные джинглы в магазинах. И они очень… аркадные. Отсюда, начинаешь понимать аудиодизайн в их играх.

6. Коллаборации. Ну и последнее, о чем хочется рассказать. С играми коллаборируется буквально все: от одежды в Юникло до пластырей с Марио. И это все - официально. Что лишний раз подтверждает то, насколько для Японии важна игровая сфера.

И важны вы, разработчики игр. Так как каждый день, вы создаете те миры, которые, возможно, будут видеть все. И для всех, это - будет неотъемлемой частью жизни.

Спасибо вам💚
23🔥5