Похожие презентации:
Chapter_1
1.
- What is video game && GD- What’s video game
- Modern develop vs old school
- What is game engine
- What is game engine
- Engine evolutions
- Unity engine review
2.
What is video game- What’s video game
What
is
game
engine
Video game = SOFT REAL TIME system
REAL TIME
t
3.
REAL TIMEt
В игре время — главный ресурс и двигатель всего:
•Движение: Позиция объекта = скорость * время.
•Анимации: Смена кадров анимации зависит от времени.
•Физика: Расчёты сил, столкновений, траекторий — всё привязано к временному шагу (delta time).
•ИИ: Противники принимают решения на основе происходящего в настоящий момент.
•Геймплей: Таймеры на способности, respawn (возрождение) врагов, время раунда.
В большинстве жанров игра не «ждёт» пользователя. Мир живёт своей жизнью непрерывно, а
игрок взаимодействует с этим живым миром.
4.
Что происходит внутри одного кадра?Каждый кадр — это один цикл обновления всей системы. Вот что происходит за те ~16
миллисекунд, которые есть на кадр для 60 FPS:
1.Ввод : Получить координаты мыши, преобразовать из экранных в глобальные, проверить нажатые клавиши
2.Игровая логика:
1. Обновление состояния акторов : Здоровье, положение, эффекты.
2. Обновление ИИ :
Принять решение для каждого врага.
3. Расчёт физики :
Проверить столкновения (Check Collision), просчитать траектории
4. Обновление анимаций :
Переключить кадр спрайта или скелета.
3.Рендер :
Отрисовать всю сцену на основе новых данных.
И всё это повторяется 30, 60 или 144 раза в секунду!
5.
Почему «Soft» (Мягкая), а не «Hard» (Жёсткая)?Пример 1 : Кликер
Здесь требования ко времени действительно «мягкие». Небольшая задержка между
действиями не ломает игровой процесс. Кадр может длиться и 100 мс, и 500 мс.
6.
Почему «Soft» (Мягкая), а не «Hard» (Жёсткая)?Пример 2 : Динамичный шутер (CS GO , CoD)
Здесь требования жёстче. Падение FPS ниже 60 уже серьёзно влияет на игровой опыт и
результат.
Но даже здесь срыв дедлайна (зависание на секунду) не «убивает» программу, как в
случае с сердцем или системой управления тормозами. Поэтому игра — это всегда Soft
Real-Time System.
7.
ЗаключениеЧто будет если мы «умрем» в игре
?
Что будет если мы едем с
автопилотом где
Он начнет «лагать» и не успеет
затормозить? ( Автопилот тоже
программа )
8.
Заключение:• Испытаем эмоций
Эмоции — это часть игрового опыта.
Загрузим последнее сохранение /
Возродимся у костра
Это механика, которую придумали
разработчики, чтобы дать нам шанс.
Возможно посмотрим на YouTube как
пройти.
Хорошая игра порождает целую культуру
и коммьюнити вокруг себя
Реальные системы, управляющие
физическими объектами (как автопилот), —
это не игра. Они должны быть спроектированы
с безупречной надежностью и
предусмотрительностью. Ошибка здесь — это
не "гейм овер", это настоящая трагедия, о
которой можно жалеть всю жизнь.
9.
Геймдизайн: Сердце, Мозг и ДвигательИгры
Игра — это больше, чем код. Это опыт и
эмоции.
10.
Цель игры — вызывать эмоции(Сердце)
Игра в первую очередь должна быть интересной. Она должна вызывать у игрока
чувства:
Игра в первую очередь должна быть интересной:
Она должна вызывать у игрока чувства:
Радость от победы момент Любопытство к миру и сюжету Удовольствие от чистого геймплея и открытий .
Напряжение в сложный момент.
Досаду после поражения (которая заставляет попробовать снова!)
Ваша задача как разработчика: придумать и создать эти эмоции с помощью механик, истории, искусства и
звука.
11.
Техническая основа — стабильность(Двигатель)
Самый гениальный дизайн умрёт, если игра тормозит.
Игра в первую очередь должна быть интересной:
•Стабильный FPS — это не фича, а базовое требование.
•Почему? Потому что сломанный опыт = испорченные эмоции.
•Игрок не сможет погрузиться в ваш мир, если его отвлекают лаги и вылеты.
Вывод: Высокий FPS и отзывчивое управление — это фундамент, на котором уже строятся все
эмоции.
12.
Понимание игрока — ваша целевая аудитория(Мозг)
Вы не можете понравиться всем. Нужно понимать, для кого вы делаете
игру.
Ключевой вопрос: Что именно цепляет вашу ЦА в этих играх? Какую "крючок-фичу" вы
можете добавить в ядро своей игры, чтобы она так же зацепила игроков?
•Это может быть уникальная боевая система?
•Невероятная свобода действий?
•Возможность творить и делиться этим?
•Соревновательный дух?
Классика
Современность
Diablo, Heroes, Morrowind
Fortnite, Apex Legends, Rocket League
* Глубокие системы
* Сложность, требующая изучения
* Неторопливый темп, стратегия
* Ностальгия, уважение к традициям
* Быстрый темп, экшен
* Социальный аспект, сессии с друзьями
* Постоянное обновление контента
* Яркий, доступный визуал
13.
Итог: Формула успешной игры((Отличная Идея (Сердце) + Понимание Аудитории (Мозг) + Техническая
Стабильность (Двигатель) ) * ( маркетинг + Δ ) = Запоминающийся
Игровой Опыт
14.
Эволюция разработки: Old School vsModern
// Fast memory copy for game assets
// (x86 assembly optimization)
void fast_game_memcpy(void* dest, const void* src, size_t size) {
// Copy in 4-byte blocks for maximum speed
size_t blocks = size / 4;
size_t remainder = size % 4;
__asm {
mov esi, src // Source pointer
mov edi, dest // Destination pointer
mov ecx, blocks // Number of 4-byte blocks
rep movsd
// Fast block copy (4 bytes at a time)
mov ecx, remainder
rep movsb
// Copy remaining bytes (1-3)
}
}
15.
Эволюция разработки: Old School vsModern
https://github.com/diasurgical/devilution/tree/master
Old School
Modern Development (Сейчас)
«Писать всё с нуля»
Каждая игра — это свой уникальный движок, написанный под
конкретный проект. Команда программистов создавала всё: от
рендерера до физики.
«Собирать из готовых кирпичиков»
Разработка на готовом игровом движке (Unreal, Unity, Godot).
Команда использует встроенные системы и концентрируется на
геймдизайне и контенте.
Огромные затраты времени на «велосипеды»
Месяцы уходили на создание базовых вещей: загрузка текстур,
работа со звуком, система коллизий.
Быстрый старт
Встроенный рендерер, физика, инструменты для анимации и звука
есть «из коробки». Можно сразу приступать к прототипированию
геймплея.
Жёсткая оптимизация под «железо»
Программисты писали код прямо под процессор и видеокарту,
выжимая из них максимум.
Кроссплатформенность
Движок сам адаптирует игру под PC, консоли, мобильные устройства.
Задача разработчика — настройка, а не переписывание кода.
Команда — универсальные мастера-одиночки
Программист часто был и дизайнером уровней.
Команда — специалисты узкого профиля
Геймдизайнер, 3D-художник, аниматор, левел-дизайнер работают в
одном редакторе.
Магия и героизм
Результат достигался невероятным трудом.
Демократизация разработки
Создать игру сегодня может небольшая студия или даже один человек.
16.
Основные компоненты игрового движка3D real-time engine
1.