Pull to refresh
0
Анастасия Ромаха @Atonaomeread⁠-⁠only

Пользователь

Send message

Как работают пули в видеоиграх?

Reading time6 min
Views51K
Игры FPS (first-person shooter, шутер от первого лица) стали неотъемлемой частью видеоигровой индустрии ещё с момента появления в 1992 году популярнейшей Wolfenstein 3D. С тех пор жанр эволюционировал: улучшалась графика, увеличивались бюджеты на разработку, развивалась экосистема киберспорта. Но что насчёт их фундамента — механики стрельбы? Как проходило развитие на этом фронте? Почему в некоторых играх оружие кажется реальными, а в других похоже на игрушки?

Hitscan


В предыдущую эпоху многие игры для рендеринга 3D-сцен в 2D-изображения использовали технику под названием raycasting («бросание лучей»). Raycasting позволяет движку определять первый объект, с которым пересечётся луч. Но потом разработчики задались вопросом: «Что, если выпустить луч из ствола оружия, чтобы имитировать пулю?» Благодаря этой идее родился hitscan («сканирование попадания»).


Пример raycasting

В большинстве реализаций оружия с hitscan при выстреле игрока физический движок выполняет следующие операции:

  • Определяет направление, в котором указывает оружие.
  • Выпускает из ствола оружия луч на заданное расстояние.
  • Использует raycasting для определения того, попал ли луч в объект.

Если движок определил, что объект находится на линии огня, то он сообщит ему об этом, сказав, что в него «попала» пуля. Затем цель может выполнить все вычисления, необходимые для регистрации повреждений.
Total votes 73: ↑69 and ↓4+65
Comments56

Бизнес-планирование в игровой индустрии

Reading time6 min
Views19K
В апреле в Высшей школе бизнес-информатики НИУ ВШЭ проходила закрытая лекция по бизнес-планированию в игровой индустрии от продюсера компании Rocket Jump Александра Тезяева. Лекция проходила в рамках образовательной программы “Менеджмент игровых проектов”, где мы часто проводим такие мероприятия для слушателей и выпускников наших программ. Под катом предлагаем вашему вниманию краткий конспект лекции.


Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments2

Ошибки новичка Unity, испытанные на собственной шкуре

Reading time13 min
Views157K
Привет, Хабр. Это снова я, Илья Кудинов, QA-инженер из компании Badoo. Но сегодня я расскажу не о тестировании (этим я уже занимался в понедельник), а о геймдеве. Нет, этим мы в Badoo не занимаемся, разрабатывать компьютерные игры — моё хобби.

Профессионалы индустрии, не судите строго. Все советы в этой статье адресованы начинающим разработчикам, решившим попробовать свои силы в Unity. Многие советы можно отнести к разработке в целом, но я постараюсь добавить в них Unity-специфику. Если вы можете посоветовать что-то лучше, чем предлагаю я — пишите в комментариях, буду обновлять статью.

Я мечтал разрабатывать игрушки с детства. Наверное, уже в далёком 1994 году, когда мне подарили мою первую Dendy, я думал: “Как была бы здолава, если бы вот в этай иглушке было бы ещё всякое классное...” В средней школе я начал учиться программировать и вместе с товарищем делал свои первые играбельные поделки (ох, как мы их любили!). В институте мы с друзьями строили наполеоновские планы о кардинальном изменении индустрии с помощью нашей совершенно новой темы…

А в 2014 году я начал изучать Unity и наконец-то НА САМОМ ДЕЛЕ начал делать игры. Однако вот беда: я никогда не работал программистом. У меня не было опыта настоящей корпоративной разработки (до этого я всё делал “на коленке”, и, кроме меня, в моём коде никто бы не разобрался). Я умел программировать, но я не умел делать это хорошо. Все мои знания Unity и C# ограничивались скудными ещё на тот момент официальными туториалами. А мой любимый способ познавать мир — делать ошибки и учиться на них. И я наделал их предостаточно.

Сегодня я расскажу о некоторых из них и покажу, как их избежать (ах, если бы я знал всё это три года назад!)

Для того чтобы понять все используемые в материале термины, достаточно предварительно пройти один-два официальных туториала Unity. Ну, и иметь хоть какое-то представление о программировании.
Читать дальше →
Total votes 67: ↑64 and ↓3+61
Comments36

Сегментация аудитории при разработке игр

Reading time16 min
Views61K
Грамотная сегментация пользователей — один из краеугольных камней, на которых зиждется успех игры. В этом посте мы поговорим о том, каким образом можно правильно выделить целевую аудиторию игр на любых платформах: клиентских, браузерных, мобильных.

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


Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments10

Краткая история игровой индустрии в разбивке по платформам

Reading time4 min
Views23K
В далеком 1978 году коммерчески успешная игра Space Invaders сильно мотивировала крупных инвесторов обратить внимание на игровую индустрию. Эта видеоигра была выпущена в Японии на платформе, которую мы знаем под названием аркадные аппараты. Игра стала настолько популярной, что вызвала в стране дефицит монет, которые требовались для того, чтобы поиграть в нее. Из Японии игра быстро нашла свое распространение в Америке, где за 2 года было продано 60 000 аппаратов. Они стояли во всех барах, боулинг-клубах и кинотеатрах. Благодаря Space Invaders начался бум развития аркадных аппаратов, ставших первой ступенью эволюции индустрии игр. В 1979 году это было настоящим прорывом: американский дистрибьютор игры Belly Midway утроил рынок игровых автоматов в США, доведя объёмы продаж до 1,33 млрд. долларов за год. Многие известные компьютерные игры впервые появились именно на игровых аппаратах и уже позднее были портированы на другие платформы. Например, Pac-Man, Street Fighter, Killer Instinct. Под катом предлагаю вашему вниманию небольшой экскурс в историю эволюции платформ в игровой индустрии.


Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments4

Краткая история развития игровых движков

Reading time8 min
Views30K

О разработке игр и становлении игровой индустрии


image

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

Общая для игр функциональность — графические решения, игровые механики, расчет физики и другое — стала выделяться в отдельные библиотеки, но, для того чтобы быть «игровым движком» было еще далеко. Во многом это было связано с серьезным различием программно-аппаратных платформ и неопределенности в самих играх. Ведь жанры и типы игр еще предстояло изобрести, при том, что многие первые игры были текстовыми. Собственно, именно для ранних адвенчур и платформеров и стали возникать игровые движки, особенно с развитием графики — хорошим примером можно назвать Adventure Game Interpreter (AGI). При разработке King’s Quest в далеком 1984 году, программисты Sierra On-Line столкнулись с неудобством низкоуровневой разработки столь сложной и перспективной по графике в те времена игры — и разработали набор решений, которым и стал AGI. Всего на нем было выпущено 14 различных игр за 5 лет на 7 различных платформах, поэтому понятие “кроссплатформенность” было важным уже тогда.

Однако, движки того времени редко выходили за пределы изначальной компании-разработчика и, как правило, были достаточно узкоспециализированными под конкретный жанр игры.
Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments14

Интегрируем оплату через Paypal в web-приложение

Reading time21 min
Views74K
В данной статье рассмотрена интеграция разовых платежей, а также оплаты по подписке с помощью Paypal в веб-приложение. Примеры реализованы на PHP, но, в принципе, без особых проблем то же самое можно сделать с помощью других технологий. Данный метод выбран как компромисс между простотой и гибкостью. Это попытка написать руководство, которое поможет быстро разобраться в теме и интегрировать оплату через Paypal в свой проект.

Статья ориентирована в основном на тех, кто раньше с этой системой не работал. Знатоки Paypal вряд ли найдут здесь для себя что-то новое. Но, возможно, они укажут на недостатки данного метода или посоветуют, как можно было бы по-другому это реализовать.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments29

Как считать lifetime value: обзор методов

Reading time7 min
Views85K


Вопрос расчёта lifetime value (он же LTV, customer lifetime value, CLV) рано или поздно встаёт перед разработчиками мобильных (впрочем, и не только) приложений. Методов расчёта придумано множество, и по поводу того, как считать LTV, существует сколько людей, столько же и мнений. В данном материале я решил описать наиболее распространённые методы, обозначить их плюсы и минусы. Данные методы подходят прежде всего для описания f2p-модели.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments9

Семь этапов создания игры: от концепта до релиза

Reading time5 min
Views204K
Как создать свою игру? Сколько на этом можно заработать? Какая нужна команда? Каковы ключевые этапы разработки и что нужно делать команде на каждом этапе? Ответ на эти вопросы – в открытой лекции по разработке игр в рамках программы «Менеджмент игровых интернет-проектов», которую разместили наши партнеры — открытая система электронного образования Универсариум. Вот здесь можно посмотреть открытую лекцию:


А под катом вы найдете краткое текстовое описание.


Читать дальше →
Total votes 37: ↑27 and ↓10+17
Comments22

Пять видов систем крафтинга в играх

Reading time9 min
Views36K
За последние годы крафтинг развился от редкоприменимой механики ролевых игр до практически повсеместного дополнения ко всем последним новинкам индустрии. Сегодня он используется не только в почти любой RPG, но также в шутерах от первого лица, экшн-играх, симуляторах вождения и даже в системе присвоения значков пользователям Steam.

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


Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments18

Игровая индустрия: полезные материалы для геймдевелопера от A до Z

Reading time10 min
Views160K
В последнее время мы часто сталкиваемся с вопросами о том, как попасть в игровую индустрию, какие полезные материалы на эту тему можно почитать и посмотреть, с чего начать изучение геймдева. Когда начальные знания появляются, то возникают уже более конкретные вопросы, например «где найти единомышленников для создания игры», «как продвигать свой проект с минимальным бюджетом», «на каких издателей стоит выходить, как это делать и стоит ли вообще», «как улучшить ретеншн в нашей игре» и так далее.

Друг наших образовательных программ Михаил Пименов,  CEO компании Wonder Games и Team Lead инди-проекта "Guard of Wonderland" сам не раз задававший себе эти вопросы, создал для себя выборку всевозможных материалов по индустрии геймдева. От полезных ресурсов, до сообществ, подкастов, книг и фильмов, которые призваны помочь понять, с чего начинается и чем заканчивается разработка игрового проекта. Объединив наши силы, мы с Мишей сделали эту статью с подборкой полезных материалов по игровой индустрии. Вы найдете подборку под катом.


Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments26

Игровое образование в России

Reading time4 min
Views36K
Еще несколько лет назад отечественное образование в сфере геймдизайна и продюсирования игр было редким зверем. Образование, говорите?

Да, на Западе есть! Шотландский университет Абертэй Данди запустил курсы для разработчиков игр ещё в 1996 году. Канадская школа DigiPen дает полноценное бакалаврское образование по разработке игр. Вообще в 2000ых годах рост рынка видеоигр положительно повлиял на развитие образовательных учреждений, занимающихся обучением разработке игр за рубежом. Обучение проводится на базе Игровой Академии Германии, Академии искусств Сан-Франциско, Дармштадтского университета прикладных наук и многих других.

Но что же в России?
У нас геймдев-образование начало появляться позже, чем в странах запада. В настоящим момент наконец-то сформировался ряд курсов и обучающих программ по созданию игр самого разного уровня. Мы выделили наиболее крупных и значимых.


Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments9

Почему люди не покупают вашу игру

Reading time10 min
Views21K
image

В постмортемах многих игр часто повторяется одно и то же клише. Оно всплывает и в разговорах с инди-разработчиками. Звучит клише примерно так: «Чёртовы потребители! Они каждый день тратят по пять баксов на один и тот же безвкусный латте из Starbucks, но не могут выделить ту же сумму на покупку моей созданной с любовью, графически красивой инди-игры, которую я, вложив душу, разрабатывал целых три года? Почему, почему люди не могут дать моей игре шанса?»

Да, выбор кажется очевидным: или один и тот же пережаренный кофе или поистине независимое творение мысли.

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

Нежелание покупателя тратить пять долларов на странную инди-игру связано с тем, что он не представляет, какая она. Хорошо ли она сделана? Как долго можно в неё играть? На что похожа эта игра? Но, что более важно — кто её сделал? В конце концов, нам, инди-разработчикам нужно преодолеть огромное препятствие: установить взаимоотношения с нашими игроками, чтобы они доверяли нам и покупали наши игры.
Total votes 42: ↑39 and ↓3+36
Comments32

Как рендерит кадр движок Unreal Engine

Reading time23 min
Views56K


Однажды я искал исходный код Unreal и, вдохновлённый отличным анализом того, как популярные игры рендерят кадр (перевод статьи на Хабре), я решил тоже сделать с ним что-то подобное, чтобы изучить, как движок рендерит кадр (с параметрами и настройками сцены по умолчанию).

Поскольку у нас есть доступ к исходному коду, мы можем изучить исходники рендерера, чтобы понять, что он делает, однако это довольно объёмная часть движка, а пути рендеринга сильно зависят от контекста, поэтому проще будет исследовать чистый низкоуровневный API (иногда заглядывая в код, чтобы заполнить пробелы).
Читать дальше →
Total votes 64: ↑62 and ↓2+60
Comments14

Туториал по Unreal Engine. Часть 1: знакомство с движком

Reading time12 min
Views666K
image

Unreal Engine 4 — это набор инструментов для разработки игр, имеющий широкие возможности: от создания двухмерных игр на мобильные до AAA-проектов для консолей. Этот движок использовался при разработке таких игр, как ARK: Survival Evolved, Tekken 7 и Kingdom Hearts III.

Разработка в Unreal Engine 4 очень проста для начинающих. С помощью системы визуального создания скриптов Blueprints Visual Scripting можно создавать готовые игры, не написав ни строчки кода! В сочетании с удобным интерфейсом это позволяет быстро изготавливать рабочие прототипы.

В этой части туториала по Unreal Engine 4 мы ознакомимся с основными возможностями программы. Вот основные темы, которые будут в нём рассмотрены:

  • Установка движка
  • Импорт ассетов
  • Создание материалов
  • Использование Blueprints для создания объектов с простейшими функциями
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments10

Создание игры на Unreal Engine 4 за 150 часов (видео + исходники)

Reading time6 min
Views186K
Приветствую, Хабр! Хотел бы познакомить вас с относительно небольшим проектом, который я сделал c нуля примерно за 150 часов (50 заходов ~3 часа каждый) на Unreal Engine 4. Проект я делал в прямом эфире только на стримах раз в неделю (в общей сложности ушел год), попутно отвечая на вопросы пользователей.

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

  • Планирование и прототипирование проекта
  • Продумывание и реализация архитектуры проекта и отдельных его компонентов
  • Реализация интерфейса пользователя
  • Отладка и исправление ошибок
  • Работа с ассетами и графикой

image

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

Если вам интересны подробности проекта, записи стримов, исходники и прочее, читайте далее.
Total votes 103: ↑99 and ↓4+95
Comments45

Создание игры Match-3 в Unity

Reading time9 min
Views58K
image

Несколько лет назад на SeishunCon я заново открыл для себя игры match-3. Я играл в Dr. Mario детстве, но такие более соревновательные игры, как Magical Drop, Bust-A-Move и Tokimeki Memorial Taisen Puzzle-Dama, сильно отличаются от неё.

image
Dr. Mario

В результате я осознал, как много нейтральных решений связано с созданием игры match-3.

На следующем джеме Ludum Dare я решил поэкспериментировать, но сначала за неделю до этого для разогрева попробовал разработать алгоритм «Тетриса», обнаруживающий и удаляющий линии. Мне очень помог этот туториал Unity Plus. [Прим. пер.: у меня ссылка не открывается. Если вы знаете, как решить проблему, напишите мне, я дополню статью.] Разумеется, алгоритм «Тетриса» для поиска заполненных рядов гораздо проще, чем алгоритм, выискивающий разнообразные сочетания совпадающих тайлов.

Если вы хотите изучить эти примеры кода в контексте, то зайдите в мой репозиторий Ludum Dare 30. (Для бесстыдной саморекламы я снова использовал эту логику для игры Shifty Shapes.)

Два мира



Magical Drop 3 (источник: Kazuya_UK)

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

В этом её отличие от других жанров. Платформеры, например, почти полностью живут в игровом мире Unity. Transform игрока сообщает о его положении. Коллайдеры (или, в некоторых случаях, raycast) говорят, находится ли игрок на земле, ударяется ли об потолок или столкнулся с врагом. Даже если вы не используете внутриигровую физику, то всё равно, скорее всего, добавляете силу или указываете скорость Rigidbody, чтобы обеспечить распознавание столкновений без затрат.
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments3

Анализ схем уровней для улучшения многопользовательских шутеров

Reading time4 min
Views8.8K


Мир соревновательных игр находится на подъёме, поэтому всё больше и больше шутеров от первого лица прокладывают себе путь в мир киберспорта. Однако не все эти новые игры успешны в качестве соревновательных многопользовательских игр. Причинами этого могут быть игровые механики, дизайн уровней, а иногда — недостаточное количество игроков. В этой статье я раскрою основы дизайна уровней. Мы не будем останавливаться на ассетах и ресурсах, оживляющих уровень, и обсудим только схемы уровней, на которых игроки могут перемещаться и взаимодействовать.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments5

Основы геймдизайна: 20 настольных игр. Часть четвертая: Билет на поезд, Каркассон, Колонизаторы

Reading time15 min
Views18K
В новой статье из серии «Основы геймдизайна» представлен подробный обзор самых популярных настольных игр, включая традиционные вроде шахмат и го, ролевые вроде «Зова Ктулху», европейские вроде «Колонизаторов» и многие другие, у которых есть чему поучиться.


Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments6

Лучшие выступления WGDF

Reading time4 min
Views7.2K
Всем привет! Этой весной в Санкт-Петербурге состоялась West Game Development Forum — международная конференция, посвящённая разработке игр и всему, что с ней связано. Участники WGDF услышали более 40 докладов о разработке, геймдизайне, маркетинге, дизайне, юзабилити и тестировании в видеоиграх класса ААА. Своим опытом и знаниями поделились эксперты из компаний с мировым именем: Wargaming, Blizzard Entertainment, Rockstar Games, Remedy Entertainment, Unity Technologies, Autodesk и др.



И теперь мы бы хотели поделиться записями лучших докладов с хабровчанами. Под катом вы найдете выступления:
  • Blending Eastern and Western Development Cultures / Thaine Lyman / WoTs PC Executive Producer, Wargaming
  • Through the Grinder: Refining Diablo III's game systems / Wyatt Cheng / Technical Game Designer, Blizzard Entertainment
  • Five Questions to Ask Everyday: The fun-damentals of strong game design / Alexander Brazie / Game Design Consultant
  • Leadership Traits Your Company Should Have (and you can teach yourself!) / Keith Fuller / Leadership Consultant, Fuller Game Production
  • Мотивация и эмоциональные потребности игроков / Надежда Иванова / IXD Researcher, Wargaming
  • Разработка идей в условиях высокой неопределенности / Никита Денисов / Senior Game Designer, Wargaming


Приятного просмотра!
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments0
1

Information

Rating
Does not participate
Date of birth
Registered
Activity