Содержание
С чего начать делать игру? Пошаговая инструкция — Gamedev на DTF
Это статья для новичков в геймдеве. Для тех, кто хочет сделать игру, но не знает с чего начать.
99 167
просмотров
Я постараюсь, по шагам, объяснить весь процесс от желания до релиза. Погнали!
Кто я такой?
Меня зовут Александр Дударев
Александр Дударев E-mail: [email protected]
Я гейм-дизайнер с 10-летним стажем. Работал в многих компаниях, например в Playgendary. Делал разное: и казуалки для мобилок, и танковый шутер для PC.
Теперь я инди-разработчик. Живу за счёт продажи своих игр. Выпустили 4 игры для PC и Консолей. Сейчас разрабатываю игру They Are Here: Alien Abduction Horror — хоррор от 1-го лица, про похищение пришельцами.
They Are Here: Alien Abduction Horror
Шаг 1. Запасись энтузиазмом
Энтузиазм — это топливо, которое ты сжигаешь при разработке. Оно позволит тебе делать игру после работы, когда устал, когда хочется отдохнуть.
Как пополнять запас энтузиазма? Смотри документалки, читай истории успеха разработчиков. Это мотивирует!
Например, вот классная документалка о инди-играх Indie Game: The Movie
Смотри по сторонам: на другие игры, фильмы, кино, на новые технологии. Желание изучить что-то новое или сделать что-то похожее — это то, что нужно.
Шаг 2. Собери команду или сделай всё сам!
Одному — проще. Проще придумать идею и принимать решения. Не надо спорить и описывать задачи. Сделать игру одному — возможно. Я например сделал 4 игры один.
С командой — лучше. Лучше получается качество. Твои решения критикуются, и результат улучшается. Можно распределить обязанности и сделать игру быстрее. Последнюю игру я делаю в команде со своей женой. Она отвечает за историю, критикует мои решения, помогает с артом, ищет стримеров.
Короче — есть команда, круто! Нет команды — делай всё сам, это не трудно.
Типичный инди-разработчик
Шаг 3. Сформулируй цель разработки
Очень важно понять — для чего тебе всё это?
Ну например:
1. Трудоустройство в геймдев компанию.
Продукт — портфолио. Приоритет — качество исполнения.
Вопросы: На какую должность хотим устроиться? В какую компанию(и)? Какими играми занимается компания(и)? Чему нужно научиться?
2. Научиться делать игры, освоить навык.
Продукт — опытный образец. Приоритет- новые знания.
Вопросы: Какой навык освоить? Как сделать какую-то конкретную штуку?
3. Рассказать о чём то важном.
Продукт — манифест. Приоритет — донести идею до масс.
Вопросы: Поймут ли мою идею? Как сделать продукт более массовым?
4. Сделать игру о которой мечтал.
Продукт — мечта. Приоритет — воплотить своё видение.
Вопросы: Что я хочу видеть? Чем можно пренебречь? Как закончить проект?
5. Построить свой бизнес.
Продукт — актив. Приоритет — получить доход.
Вопросы: Какие игры лучше продаются? Сколько времени займет разработка? Как сократить это время?
Цель может быть не одна. Цели могут меняться от игры к игре.
Короче — ты должен ответить на вопрос — зачем я делаю эту игру?
А рально, зачем?
Шаг 4. Вспомни, что ты умеешь или любишь
Например, я и моя жена — фанаты фильмов ужасов про пришельцев. Типа «Знаки», «Мрачные небеса», «Секретные материалы». Поэтому нам проще работать над идеями и сценарием для They Are Here
А может, ты на досуге рисуешь анимешных девочек. А твой друг изучает программирование искусственного интеллекта. Значит вам будет проще сделать игру про девушек, которые будут чатиться с игроком, словно живые.
Тян одобряет отталкиваться от умений и увлечений
Короче — твои умения и увлечения — это твои преимущества. Учитывай их при выборе платформы, движка, жанра игры. А пока, просто подумай над этим.
Шаг 5. Выбери платформу
Если просто, то есть 2 пути: Мобилки или ПК + Консоли.
Исходя из целей и умений нужно будет выбрать что-то одно. Это разные платформы, с разными играми, аудиторией и монетизацией.
Путь 1. Мобики
Аудитория:
- Массовая аудитория. Дети, пенсионеры, скучающие продавщицы. Это не геймеры. Всё должно быть очень понятно и просто.
- Играют по 1 — 5 минут. В перерывах, в очередях, на работе. Чтобы «убить время».
- Ценится простая яркая графика.
- Упор на простой, но залипательный кор-геймплей.
Плюсы:
- Некоторые жанры (головоломки, аркады) — наиболее просты в разработке. Можно сделать небольшой прототип (1-5 уровней) и показать его работодателю, например.
- Не требуется красивая или сложная графика. Главное — чтобы было понятно.
- Простой геймплей и гейм-дизайн.
- Будет плюсом, если сам привык к мобильным девайсам и играм.
Минусы:
- Очень. Высокая. конкуренция. Игр миллионы и почти все они — бесплатные. Игроки приходят только с рекламы. Нет рекламы — нет игроков. Нет денег.
- Монетизация. Нужно встраивать рекламу или внутри-игровые покупки в игру. Знать куда и как. Тестировать чтобы всё это работало.
- Аналитика. Нужно понимать что такое LTV. Почему он должен быть > чем CPI. Встраивать аналитику в игру.
- Будь готов делать по 20 прототипов или улучшать продукт, пока LTV не станет > CPI.
- Заработать денег небольшой команде, можно только с издателем. Я лично не знаю других путей.
Короче — мобилки, это огромный супер-маркет. На полке лежит то, что окупает рекламу. Это конкуренция рекламных бюджетов. Если хочешь заработать на мобилках, то советую делать гипер-казуалки и работать с издателем.
Если пофиг на доход — классная, лёгкая платформа.
Если решишься, узнай подробнее про:
- Гипер-казуальные игры (всё по теме гейм-дизайна и производства).
- Как найти издателя гипер-казуальных игр.
- Казуальная графика.
- Low-poly графика.
- Казуальные игроки (сложность казуальных игр и туториалы).
- Аналитика мобильных игр (CPI, LTV, Retention).
- Монетизация мобильных игр.
- Оптимизация мобильных игр.
- Google Play и App Store. Регистрация аккаунта разработчика. Правила и рекомендации. SEO.
- Рекламные медиаторы и сети (Iron Source, AdMob и т.п.
).
- Сервисы рыночной аналитики мобильных игр (Sensor Tower, App Annie).
Путь 2. ПК + Консоли
Аудитория:
- Хардкорные геймеры.
- Играют по несколько часов. Дома. Чтобы погрузиться в игру.
- Ценится реалистичная или стильная графика.
- Упор на интересную историю или глубокий геймплей.
Плюсы:
- Меньше конкуренция, чем на мобилках. Особенно на консолях.
- Легче получить игроков и отзывы.
- Можно хорошо заработать портировав игру на консоли, с помощью издателя.
- Не надо возится с аналитикой и монетизацией.
- С детства понятная платформа (ПК / Консоль) и аудитория (Геймеры).
- Аудитория любит авторские, творческие, интересные игры.
- Будет плюсом, если сам играешь на компе или приставке.
Минусы:
- Плохо заходят простенькие игры (головоломки, аркады). Геймеры хотят получить опыт, вжиться в роль. Залипнуть надолго. Игра не должна выглядеть как что-то на пару минут.
- Игры дольше в производстве. Но можно хитрить — делать маленькие игры, которые выглядят как большие, а также использовать готовые ассеты.
- Нужно поработать над интересной идеей. Найти отличительные черты (USP), которые выделят проект.
- Нужно продумать интересную историю или геймплей.
- Более сложный геймдизайн.
- Большая требовательность к качеству графики.
Короче — ПК, а особенно Консоли это элитный бутик. На полке лежит то, что пользуется спросом. Это конкуренция качества. Если хочешь заработать, то сделай интересную игру, и обязательно портируй её на консоли (через издателя). Подумай как сэкономить на производстве!
Если решишься, узнай подробнее про:
- Геймдизайн компьютерных игр.
- Нарратив, сторителлинг.
- Как питчить игры.
- Фичи игры / USP.
- Что такое вертикальный срез.
- Steam. Регистрация аккаунта разработчика. Оформление страницы. Тэги. Правила и рекомендации.
- Маркетинг и продвижение инди-игр на Steam (рекомендую http://howtomarketagame.com/) Как сделать крутой постер, трейлер, скриншоты, ГИФки.
- Портирование игр на консоли.
- Издатели игр на консолях.
- Конкурсы и фестивали инди-игр.
- Работа с инфлюенсерами (ютуберами, стримерами).
- Реалистичная графика.
- Стилизованная графика.
- Сервисы аналитики тэгов и жанров (SteamDB, Steamspy, SteamCharts, Game Data Crunch).
- Сервисы рассылки ключей (Keymailer, Woovit)
Шаг 6. Узнай про геймдизайн и производство игр
Интересуйся тем Как делают игры (классный подкаст в твои наушники)
Рекомендую погуглить про:
- Игровые механики, жанры и сеттинги.
- Геймдизайн. Есть книга Джесси Шелла, она хорошая, но большая. Можешь гуглить про конкретный жанр.
- Кор-геймплей и Мета-геймплей.
- Левел-дизайн. Лучше гуглить про отдельный жанр.
- Пользовательский интерфейс (UI) в играх.
- Ассеты и маркетплейсы.
Короче — сперва узнай поверхностно о всех непонятных терминах. Глубже изучай только то, что нужно будет для разработки конкретно твоей игры.
Шаг 7. Выбери движок и глянь уроки
Движок — это программа, в которой собирается игра. Это большой кухонный комбайн, в котором есть всё. Там программируется логика, собираются уровни, выставляется освещение, настраивается анимация, создаются материалы, вставляются звуки и т. п.
Про выбор движка написано много статей — погугли.
Если ты один, и не знаешь языков программирования, рекомендую Unreal Engine 4.
- Там есть Blueprints — это визуальное программирование. Это проще чем писать код.
- Красивый рендер «из коробки».
- Есть большой маркетплейс с гововыми ассетами
- Это популярный коммерчесский движок, на котором сделано очень много игр.
- Можно сделать игру под все платформы. Можно встроить рекламу, инапы, аналитику.
- Много уровков. Рекомендую Unreal Engine Rus
- Классный интерфейс.
- Куча встроенных функций.
- Бесплатный до ляма баксов дохода.
Unreal Engine 4 Blueprints
Перед началом работы над игрой, сделай пару очень простых подделок «в стол».
Сделай змейку, пинг-понг и т.п. Пофиг на качество, пофиг на геймдизайн. Главное — попрактиковаться «на кошках», пощупать функции движка.
В движке будет работать вся команда — поэтому каждый должен изучить его, хотя-бы поверхностно. Вы должны понимать друг друга, а еще помогать программисту собирать игру.
Короче — почитай про выбор движка. Потрать время на его изучие.
Шаг 8. Выбери жанр
Жанр — это твоя ниша. Жанр — это очень важно. Есть жанры, в которые никто не играет. А для некоторых нужно изучить много дополнительного материала.
Лучше выбрать жанр который:
- Популярен на платформе. Игры этого жанра часто покупают или скачивают. Используй сайты для аналитики жанров.
- Не слишком сложен в производстве. мморпг — не твой выбор.
- Нравится тебе или команде. Ты разбираешься в нём или много играл в детстве.
Продажи игр в разных жанрах
Как только ты определилися с жанром — гугли всё по производству игр в этом жанре. Геймдизайн, графика, уровни, звуки. На что сделать акцент?
Поиграй в лучшие игры в этом жанре. Посмотри видео об этом жанре.
Короче — выбери жанр и узнай про него всё что можешь!
Шаг 9. Придумай идею, концепцию, USP
Идея — ядро твоей игры. Зерно, из которого вырастет проект.
Какая идея хорошая?
- Понятная. Должна быть понятна каждому. Например, твоей маме.
- Интересная. Уже хочется поиграть в это! Люди любят риск и новый опыт, который хотят, но не могут пережить в реальной жизни. Например GTA — это симулятор крутого парня, которым все хотят быть, но не могут.
- Популярная. Это не артхаус, не что-то странное или специфичное. Идея обращается к понятным образам из жизни или массовой культуры.
- Выделяющаяся. Такого раньше не было. Или было, но давно. Или в другом жанре. Или в другом стиле. Или плохо сделано.
Что поможет тебе в выборе идеи?
- Каталог игр на твоей платформе.
Смотри что популярно. Думай как это изменить, подать под другим углом. Хмм…игра про постройку железной дороги в топе. А что если, мы играем за машиниста?
- Сайты-сервисы с аналитикой тэгов и жанров на платформе. Можно отследить популярность жанра, количество игр в нем. Можно скрестить отдельные тэги между собой.
- Массовая культура. Фильмы, книги, комиксы, короткометражки, гифки, картинки из интернета.
Скорее всего у тебя будет рождаться много идей. Записывай их. Дай полежать. А потом выбери ту, что не даёт тебе покоя и кажется лучшей.
Когда родил идею
Про питч
Идея может казаться масштабной. Но она должна умещаться в Питч, чтобы быть понятной игрокам, прессе и твоей маме.
Питч — короткое предложение, описывающее идею. Например, They Are Here: Alien Abduction Horror — ужастик про похищение пришельцами. Почитай подробнее про то «Как питчить игры».
На основе Питча, описываем концепт игры. Более развернутое описание игры на одну страничку. За кого мы играем? В чем цель? Что можно делать? Какие эмоции вызываем?
Про USP
Продумай ключевые фичи — USP, которые будут продавать твой проект. Они вытекают из твоей идеи.
Например, идея Панка — издевательство над массовой культурой и модой.
Ключевые фичи (USP) Панка: вызывающее поведение, агрессивная музыка и странные прически.
Зацени мои USP, чувак!
Показывай свои USP везде — в трейлере, скриншотах, постере, описании игры. Говори про них общении с прессой и издателями.Тычь ими в лицо!
Например, у They Are Here — это пришельцы, кукурузные поля как фильме Знаки, и НЛО.
Кароче — почитай про идею, концепцию, питч, USP игры. Сформулируй чёткое видение твоего проекта и доноси это видение до всех. Без него — всё развалится и поплывет.
Шаг 10. Составь список ассетов и задач
Ассеты — это кирпичики, из которых состоят игры.
Составь список того, что нужно сделать. Хотя-бы крупными мазками. Сделать уровнь, найти музыку, вставить персонажа. А еще надо 20 видов мечей.
Оцени время, а потом умножь его на 2. Даже если тебе кажется это глупым. Умножь его в 2 раза!
Если видишь, что проект большой — отрезай всё ненужное. Ненужное — всё, что не показывает идею. Или редко появляется на экране.
Например, если идея игры — ультра-насилие, то можно не делать 20 видов мечей, а лучше проработать физику расчленения тела.
Прикинь, что для мобильных гипер-казуалок нужно сделать минимум 30 минут геймплея. А для ПК и Консолей, лучше сделать игру на 2 часа. Если можешь больше — круто!
Настоятельно рекомендую!
Покупай и используй готовые ассеты. Это лучший способ сократить время производства и не потерять качество. Это не стыдно, это нормально. Это вообще огонь!
Шаг 11. Организуй процесс
Записывай, всё что надо сделать. Каждую мелочь. Иначе — забудешь.
Ставь задачи. Себе и команде. Рекомендую Trello (проще) или Asana (функциональнее).
Cобирай инфу по проекту в одном месте. Можно юзать доски типа “Miro” или вики типа Notion.
Если ты один, или у вас небольшая команда, не парься над большой и красивой документацией. Лучше покажи пример, начерти схему, объясни на пальцах ЧЁ НАДО сделать.
Референс — лучшее описание задачи для художника! Например, я сказал жене — хочу обложку как у Слендера, но с пришельцем. Этого — достаточно!
Собирай и храни нужную инфу. Ссылки на классные статьи. Контакты возможных партнёров. Скриншоты багов. И т.п.
Шаг 12. Сделай демку
Демо-версия / Вертикальный срез / MVP — очень близкие по смыслу понятия. Это маленький кусочек игры финального качества.
Маленькая, но качественная демка
Демо-версия решает множество задач:
- Поможет записать видео, скриншоты, гифки
- Покажет окупаемость мобильной игры
- Поможет устроиться на работу
- Ускорит набор вишлсистов в Steam
- Получит отзывы от игроков и стримеров
- Можно участвовать в фестивалях и конкурсах
- Только с ней можно найти издателя.
Короче — сделай демонстрационную версию игры. Это твоя визитная карточка. Показывай её всем. Говори — я сделаю так-же, только больше.
Шаг 13. Фигачь! Прорывайся к релизу!
Не буду вдаваться в подробности о релизе. Всё зависит от игры и платформы.
Лучше дам рекомендации как дожить до релиза:
- Не меняй идею на ходу. Сильно. По чуть-чуть можно.
- Не начинай другие проекты. Не распыляйся. Делай, что запланировал.
- Составь график работы. Работай над игрой постоянно. Хотя бы по 3 дня в неделю, по 2 часа в день. Больше — быстрее!
- Надоела разработка? Поиграй в похожие игры. Посмотри похожие фильмы. Найди, что было бы круто сделать.
- Всё равно надоела? Мечтай о релизе. Представь как это будет здорово и вечно!
- Показывай свою работу — пиши посты, пости гифки, давай поиграть стримерам.
Твоя цель — получить позитивную обратную связь. Ну или отрицательную.
- Узнавай что-то новое про производство игр. Слушай подкасты, смотри доклады. Это мотивирует, помогает в производстве.
Будь как этот парень
Спасибо, что дочитал!
Эта статья — вводная. Тебе много предстоит узнать и загуглить на каждом шаге.
Короче — ты можешь сделать это! Реально!
Главное — желание!
Выбор движка для первой игры — Pixonic на vc.ru
Разбор технологий и платформ — первая статья из цикла о разработке.
142 527
просмотров
Автор: Антон Григорьев. Первую игру написал самостоятельно ещё в школе, а на 4-м курсе устроился на позицию джуниор-разработчика. В Pixonic работает заместителем технического директора и руководит отделом клиентской разработки. Отвечает за запуск новых проектов, обучение и внедрение новых технологий. Говорит на пяти языках, а программирует на десяти.
Когда вместе с vc.ru мы запускали проект «Пора создать свою первую игру», то не ожидали увидеть так много крутых работ в первом конкурсе. После цикла «Геймдизайн» нас завалили концептами с продуманными идеями, геймплеем, метой. С таким уровнем можно смело переходить к прототипированию на движке и тестированию конкретных механик.
За несколько недель мы:
Эта статья — первая из нового цикла «Разработка», где мы будем учиться делать цифровые прототипы, выбирать движок, заполнять пробелы в кодинге с помощью обучающих материалов и не только. В конце снова разыграем крутые призы, а главным станет вышедший недавно бандл PS4 Pro Spider-Man Limited Edition. Поехали.
Платформы
Разработка игр для смартфонов, ПК и консолей значительно отличается. Хотя бы потому, что у них разные технические характеристики, устройства ввода/вывода и способы распространения продукта. Сразу сделать одну игру на несколько платформ не получится, но об этом мы еще поговорим. А пока рассмотрим особенности каждой из платформ и перейдем к движкам.
Мобильные устройства
- Тачскрин для ввода и вывода информации — следовательно, пальцы не должны закрывать важные элементы интерфейса.
- Смартфоны и планшеты должно быть удобно держать, чтобы играть одной/двумя руками. Отлично подходит для казуальных игр (match-3, hidden object, интерактивных историй и так далее), а для шутеров — не очень.
- Ограниченная оперативная и графическая память, которые часто совмещены. Нужно постоянно следить за ними, отгружать ненужные ресурсы, текстуры и ужимать звук, то есть использовать форматы с компрессией.
- Ограничения графики. Можно сделать крутые шейдеры как в Crysis, но на телефоне это будет жутко тормозить.
- Частые потери пакетов, пинг в 200 мс — норма. В случае сетевых игр это нужно учитывать.
- Распространение через сторы (App Store, Google Play, Amazon).
Понадобится поддержка API покупок, социальных функций и так далее.
- Для Android придется учитывать огромное количество гаджетов с разной производительностью, соотношением сторон экрана и разрешением.
ПК
- Ввод с клавиатуры и мыши — то, к чему мы привыкли с детства.
- Вывод картинки на экран монитора. Моделей мониторов много, они отличаются частотой смены кадра, размерами, разрешением — это нужно учитывать во время создания интерфейса игры.
- Большой размер оперативной и видеопамяти. Можно позволить себе детализированные текстуры, плавные анимации, высокополигональные объекты мира и большие карты.
- Огромное разнообразие видеокарт, процессоров и других комплектующих, что делает тестирование игры трудоёмким процессом.
- Возможность распространения старым добрым способом (диски) либо через онлайн-магазины (самый популярный на данный момент — это Steam).
Консоли
- Управление с джойстика. Лучше подходит для аркад, файтингов, игр от 3-го лица, но не так удобно для шутеров. Хотя последнее поколение геймеров играет с джойстика не хуже, чем с клавиатуры и мыши.
- Продвинутые графические технологии.
- Ограниченное количество конфигураций устройств. Например, если разработка ведётся под Xbox One или PS4, то нужно знать особенности только этих устройств, а значит и тестировать будет проще. В отличии от различных конфигураций ПК или целого «зоопарка» устройств на Android.
- Не все плагины портированы или хорошо работают, например, сетевые библиотеки и плагины аналитики. Но в последнее время их становится больше).
- Вывод на экран телевизора/проектора. У кого-то может стоять новый изогнутый Samsung, а у кого-то бабушкин «ящик» с электронно-лучевой трубкой — это тоже нужно учитывать.
- Чтобы выпустить игру на консоли, нужно пройти лицензирование — процесс проверки соответствия игры стандартам платформы.
Это долгий процесс, со множеством условий и ограничений. Например, при портировании одной игры на консоль от Nintendo я с командой когда-то не прошёл лицензирование с первого раза из-за того, что время загрузки уровня было больше половины секунды, а по их правилам это нужно обозначать в виде иконки загрузки или надписи Loading. И таких нюансов немало.
Web
- Ограничения на размер игры, поскольку она будет загружаться в браузере. Никто не любит долго ждать. А еще некоторые играют в браузере телефона и платят за трафик. В общем, делать полноценный AAA-тайтл нет смысла.
- Ограничения по 3D (используется WebGl). Поэтому в Web в основном выходят 2D-игры.
- Ограничения по сетевой игре, ведь обычные сокеты недоступны. Можно делать запросы по https или использовать WebSockets. В основном на Web можно делать простые игры с небольшим количеством запросов к серверу. Например, фермы. Сетевые 3D-шутеры делать тоже можно, но сложно.
- Дешёвая интеграция с соцсетями. В первую очередь, Facebook. Поэтому делается упор на социальную составляющую.
VR
- Необычное управление: головой, перчатками, перемещением, джойстиками. Все эти устройства нужно поддерживать, у них обычно свой SDK. Кроме того, управление нужно сделать «естественным» для человека.
- Эффект укачивания. Не всем шлем может «зайти», а при плохой реализации игры стошнит даже самого стойкого. Чтобы этого не было, движения в игре обычно делают плавными.
- «Экран» VR-шлема делится на две части — по одной на глаз. Поэтому, чем выше разрешение, тем качественнее получается картинка. Если сравнить картинку на PS VR и HTC Vive, у последнего она будет детальнее, а потому и погружение ощущается лучше.
- Совершенно другой пользовательский интерфейс, по сравнению с ПК и мобильными устройствами Обычно он трехмерный, а чтобы нажать на какой-нибудь элемент нужно задержать взгляд на определенной кнопке.
Если в планах кроссплатформенная игра, то нужно учитывать все особенности. Но быстро переделать интерфейс или способ ввода на новую платформу в большинстве случаев не получится.
Совет для начинающих:
- Лучше начать с одной платформы, на которой вам самим нравится играть — вы уже хорошо в ней разбираетесь.
- Тестировать игры для мобильных устройств или ПК обычно в разы проще, чем, например, для консоли. Смартфоны и компьютеры есть почти у всех, и от нажатия кнопки Build в редакторе до загрузки прототипа на устройство может пройти лишь несколько секунд.
Обзор основных движков
Сначала поговорим про «взрослые» движки. Они позволяют разрабатывать под несколько платформ сразу, кроме того, у них есть очень много полезных инструментов. Пугаться и начинать с более простых не стоит — список составлен с учетом доступности для новичков, количества обучающих материалов в открытом доступе, наличия хороших вышедших игр на движке и цены.
Один из самых популярных движков на сегодня.
Платформы: мобильные устройства, ПК, Mac, Linux, консоли, Facebook, WebGl, VR и другие.
Unity идеально подходит для разработки под мобильные устройства (но не только). На нём сделаны Angry Birds 2, Hitman Go, Heartstone, Monument Valley, Fallout Shelter, Ori and the Blind Forest, Pillars of Eternity, Firewatch, Inside, Pokémon Go, Super Mario Run, Cuphead, Escape from Tarkov, Life Is Strange: Before the Storm и множество других популярных игр.
Fallout: Shelter
В Unity можно спокойно разрабатывать как 2D, так и 3D-проекты. В Asset Store есть много готовых платных и бесплатных решений: модели, текстуры, анимации и полноценные проекты. Например, шутер про зомби. Очень много обучающих материалов как от самих Unity, так и от энтузиастов на YouTube (подробнее расскажем в следующем материале цикла). Плюс множество плагинов для рекламы и внутриигровых покупок.
Язык программирования: C #, по сравнению c С++ у него меньше возможностей выстрелить себе в колено, в частности, это касается работы с памятью. Также поддерживается JavaScript, который на самом деле UnityScript. Если писать код совсем лень или нет навыков, есть плагины, которые позволяют делать игры без написания кода, например, Playmaker. Правда, за него придется выложить 45 долларов.
Кто-то ругает Unity за графику, но на самом деле графику можно сделать красивой на любом движке, просто в Unity она по умолчанию средняя. В последней версии движка появился новый Rendering Pipeline, и с ним вполне можно делать графику на уровне топовых AAA-проектов.
Стоимость движка: бесплатно, если разработчик зарабатывает на игре меньше $100 тысяч в год. Иначе — подписка, но тогда это не будет большой проблемой.
Очень продвинутый движок, сообщество которого в последнее время быстро растет, чему способствует компания-разработчик Epic Games. По Unreal Engine проводятся митапы, стримы, а в этом году прошла первая конференция, посвященная разработке на Unreal.
Платформы: движок в первую очередь для тех, кто хочет делать проекты с крутой графикой на ПК и консолях. Для мобильных устройств тоже подходит, но пока популярных мобильных игр на Unreal Engine немного: Fortnite и PUBG. Ещё на нём сделаны серия Infinity Blade, Batman: Arkham Knight и Life is Strange.
Fortnite
Язык разработки: C++. Кого-то это может отпугнуть, но есть решение — блюпринты. С их помощью теоретически можно разработать игру, не написав ни строчки кода. На практике — это очень полезно для быстрой разработки прототипов. Также есть магазин ассетов Unreal Engine Marketplace, где можно скачать готовые модели, звуки и полноценные проекты.
Злые языки говорят, что Unreal Engine превосходит Unity по графике. На самом деле это просто разные движки. Хотя частицы и пост-эффекты в Unreal Engine по умолчанию всё же красивее.
Стоимость движка: 5% роялти, если разработчик зарабатывает на игре больше $3000 за квартал.
Стал известным после выхода Crysis — прорывной для своего времени игры. На нём вышло очень много крутых больших игр: первый Far Cry, MechWarrior Online, Sniper: Ghost Warrior 3, Armored Warfare, Homefront: The Revolution, Prey 2017-го года.
Платформы: ПК, консоли и VR. Официальной поддержки мобильных устройств нет, но по слухам разрабатывать можно.
Код движка можно модифицировать, что приносит как радость, так и боль. Я сам работал с CryEngine 2 — много модифицировали движок, исправляли баги, а когда попытались перейти на CryEngine 3 — потратили месяц и в итоге вернулись на предыдущую версию, так и не справившись с некоторыми проблемами.
Язык разработки: C++. Совсем недавно появился Marketplace с ассетами.
Стоимость движка: начиная с пятой версии — 5% роялти с при доходе с игры более $5000, а ведь помню времена, когда он стоил миллион евро.
Молодой и бесплатный движок с открытым исходным кодом от Amazon на основе CryEngine для разработки игр AAA-класса. Главная особенность — встроенная поддержка сервисов от Amazon, например, AWS и Twitch.
Платформы: Windows, PlayStation 4, Xbox One, iOS, Android, VR (Oculus Rift, HTC Vive).
Серьезных проектов на Lumberyard в разработке пока можно пересчитать по пальцам, а выпущенных проектов нет вообще.
Язык разработки: C++.
Стоимость движка: бесплатный, но за поддержку сервисов Amazon придётся заплатить.
Другие движки
В последнее время среди разработчиков игр для Web набирают популярность HTML5-движки. В их основе лежит WebGL, WebAudio и JavaScript. Самые популярные движки: Phaser и Turbulenz.
Отлично поддерживается создателями. Полезных фич много: спрайтовая графика, анимации, система частиц, 2D-физика, загрузка ресурсов одной строчкой кода, поддержка нескольких камер. Плюс поддержка мобильных браузеров и система плагинов для расширения функциий движка.
Лучше всего подходит для простеньких браузерных 2D-игр (match-3, hidden object, гонки).
Платформы: ПК, iOS, Android.
Этот движок уже поддерживает 3D-графику с динамическим освещением, физику, обрабатываемую в реальном времени и мультиплеер с присоединением к игре в один клик по ссылке и интеграции с соцсетями. Но игр на Turbulenz пока немного.
Платформы: Web, ПК и PlayStation 4.
Есть и нишевые движки для визуальных новелл, головоломок, RPG старой школы и других 2D-игр. Например, Corona SDK, GameSalad, Cocos2d, Game Maker. В Википедии есть большой список игровых движков, но перечисленных выше должно быть достаточно.
Hotline Miami — одна из многих известных игр, сделанных на Game Maker
Мы в компании считаем, что для новичков лучше всего подходит Unity. По нему очень много подробных обучающих материалов, простейшую игру можно сделать за день (умелец запилит Flappy Bird за пару часов), легко деплоить на девайсы. Мы сами используем Unity для разработки игр и прототипов, поэтому в следующих материалах цикла «Разработка» будем больше акцентировать внимание именно на этом движке.
Домашнее задание
- Выберите платформу, для которой вы будете делать игру в первую очередь, учитывая все особенности своего проекта.
- Выберите и установите движок, который вам подходит (для начала мы рекомендуем Unity).
В следующей статье рассмотрим источники обучающих материалов для разработки 2D-игр.
Это статья из нашего большого проекта с vc.ru. Если выполнять все задания, можно — ни много ни мало — научиться делать видеоигры. И выиграть лимитированное издание PS4 Pro в конце каждого цикла статей.
Цикл «Разработка»:
Топ-5 игр для начинающих | by Tenish
5 игр, которые обязательно нужно попробовать начинающим разработчикам игр
Программирование не приносит большего удовольствия, чем программирование игры. Есть что-то такое приятное в том, чтобы заставить что-то двигаться на экране, это просто чертовски гениально.
Итак, если вы новичок в программировании или являетесь старшим разработчиком, много лет занимающимся программированием корпоративных систем, этот блог должен помочь вам начать работу с каким-либо игровым разработчиком или, по крайней мере, мотивировать вас дать это. назад.
Небольшое замечание: на самом деле я не , а разработчик игр, и моя повседневная деятельность в основном связана с кодированием крупных предприимчивых Java-приложений. Но приятно прийти домой и провести вечер за программированием чего-то более интересного. Я выпустил серию руководств, на которые я часто ссылаюсь в этом блоге на своем веб-сайте codeheir.com, где я рассказываю об эволюции игр, начиная с Pong — 1972, затем Space Race — 1973 и т. д. В основном это пошаговый процесс. как кодировать игры с помощью p5.js. Но, конечно, язык, который вы используете для кодирования игр, не важен, важны концепции, которые вы изучаете в процессе их создания.
Если вы уже знакомы с основами программирования на языке разработки игр, я бы порекомендовал попробовать программировать игры, прежде чем читать мои пошаговые инструкции. Если вы застряли, используйте блоги в качестве справки, чтобы увидеть, используете ли вы тот же подход к решению проблемы, что и я, и, скорее всего, вы найдете лучший способ 😅.
Если вы совсем новичок в программировании, то я бы порекомендовал взглянуть на Дэниела Шиффмана — The Coding Train на Youtube, у него есть блестящая серия для начинающих. Затем, когда вы начнете понимать основы, следуйте за моим блогом для игры, которую вы хотите написать.
Если вы погуглите «Создана первая игра», скорее всего, появится Pong. Официально это не первая созданная игра, но первая коммерчески успешная. Он был создан в июне 1972 года!
Программирование-понг научит вас множеству ключевых концепций разработки игр, вот некоторые из них:
- Пользовательский ввод: игра с перемещением ракетки и/или ракеток
- Обнаружение удара: мяч попадает на ракетки, а затем
- Подсчет очков система: вам нужно будет отслеживать очки обоих игроков
- Ограничение экрана: предотвращение выхода ракетки за пределы экрана
Чтобы узнать пошаговый процесс кодирования понга, нажмите здесь!
Год спустя после понга вышла Space Race (тоже сделанная Atari). Space Race очень проста, это игра для двух игроков, каждый игрок управляет ракетой. Идея состоит в том, чтобы добраться до вершины карты, избегая космического мусора, чтобы получить очко. Полоса в середине показывает время, оставшееся до конца игры, побеждает игрок с наибольшим количеством очков в конце игры!
Coding Space Race научит вас некоторым ключевым понятиям, а также закрепит некоторые понятия, которые вы узнали ранее из программирования:
- Использование массивов: для хранения обломков вы, вероятно, будете использовать массив, чтобы перебирать их и определять, не столкнулись ли они с ними. ракеты
- Таймеры: использование какого-либо таймера для определения времени окончания игры
Чтобы узнать, как закодировать космическую гонку, нажмите здесь!
Jet Fighter — блестящая игра, выпущенная в 1975. Это довольно просто: есть черный самолет и белый самолет, черный самолет стреляет черными пулями, а белый самолет стреляет белыми пулями. Цель состоит в том, чтобы выстрелить в другого игрока и получить очко.
Ключевые концепции реактивных истребителей:
- Наложение экрана: когда пули/струи покидают экран, они наматываются и возвращаются с другой стороны Jet Fighter — источник вдохновения для моей многопользовательской космической игры 9.
0057 Космический наследник . Идея заключалась в том, чтобы создать гибрид Asteroids и Jet Fighter. Принимая во внимание аспекты игрока и окружающей среды на астероидах; стреляя по астероидам, чтобы получить уровни. И система боя игрок против игрока Jet Fighter.
Исходный код игры полностью открыт, вот GitHub
Чтобы узнать, как написать код для Jet Fighter, нажмите здесь!Безусловно, самой популярной игрой, выпущенной в 1978 году, была Space Invaders. Всего за 4 года он собрал 3,8 миллиарда долларов и не нуждается в представлении.
Ключевые понятия из кодирования космических захватчиков:
- Удаление массива: Удаление или сокрытие пришельцев, когда вы стреляете в них
- Выбор массива: Убедитесь, что стреляют только нижние пришельцы быстрее инопланетяне получают
- Случайный выбор: Предоставление инопланетянам случайного шанса выстрелить
Чтобы узнать пошаговый процесс кодирования Space Invaders, нажмите здесь!
Monaco GP — это бесконечная гоночная игра, выпущенная в 1979.
Это очень весело кодировать, плавная обертка — вот что делает эту игру настолько важной, что создается ощущение, что вы мчитесь по бесконечной трассе. Обратите внимание, что реальная игра не очень похожа на мою реализацию.
Ключевые понятия из кодирования Гран-при Монако
- Бесконечная игра: заставьте трассу продолжаться и продолжаться с помощью классного трюка разработчиков игр!
- ИИ: Кодирование поведения других машин, а также их заворачивание.
Надеюсь, вам понравился этот блог и, возможно, он помог некоторым из вас. Примите участие в разработке игр, это очень, очень весело.
Если вы не являетесь участником, подумайте о том, чтобы зарегистрироваться для поддержки писателей по этой ссылке здесь:
Присоединяйтесь к Medium по моей реферальной ссылке — Tenish
Если вы являетесь участником Medium, часть вашего членского взноса идет авторам, которых вы читаете , и вы получаете полный доступ ко всем историям…
crunchyknuckles.
medium.com
Рендеринг на стороне сервера с помощью NextJS
Рендеринг на стороне сервера: основные возможности NextJS
enlear.academy
Основные тенденции веб-разработки в 2021 году
Основные тенденции веб-разработки, которые должен знать каждый разработчик
enlear.academy
5 советов по чистоте базы кода в React
5 Советы по чистоте кода 5 academy
7 Easy Games to Code for Beginners
Создание крутых игр — отличный способ бросить себе вызов и применить свои навыки программирования. Итак, сегодня мы поделимся несколькими простыми играми для начинающих. От веселой аркадной игры Pacman до традиционных крестиков-ноликов — найдите игру, которая вам понравится, и примите новый вызов!
Если вам нравятся игры по программированию, обязательно ознакомьтесь с нашими предстоящими одночасовыми специальными занятиями по программированию онлайн-игр под руководством эксперта. Узнайте, как создать игру про покемонов в Scratch.
Присоединяйтесь к нашему онлайн-клубу по созданию игр среднего уровня или к нашим урокам программирования для начинающих, разработанным экспертами из Google и Массачусетского технологического института:
Не пропустите наше бесплатное мероприятие для детей «Час кода» этой зимой:
Откройте для себя простые игры для начинающих
Создавайте классные игры за час! Создавайте вечную классику, например, игру в понг, или узнайте, как сделать игру с прыжками, которую вы можете модифицировать, чтобы воплотить в жизнь любую идею. Как только вы выберете игру, которую хотите создать, просто следуйте простому руководству шаг за шагом.
1. Pacman
Pacman — это аркадная игра-лабиринт, в которой игрок управляет Pacman, который должен съесть все точки в закрытом лабиринте, избегая при этом призраков. Игра Pacman считается одной из самых влиятельных и важных и обычно считается одной из величайших видеоигр всех времен! Вот как создать игру Pacman в Scratch.
Вот несколько способов сделать игру еще более индивидуальной: попробуйте добавить еще один или два уровня; добавить силовые пакдоты, которые дают Пакману возможность поедать призраков в течение определенного времени; или добавьте любую другую идею, которую вы можете себе представить!
2.
Make a Mario Game
uper Mario Bros, выпущенная в 1985 году, возможно, является одной из самых популярных видеоигр всех времен и образцом не только всей франшизы Mario, но и, в какой-то степени, Nintendo. в целом. Super Mario Bros принадлежит к чрезвычайно популярному жанру аркадных игр: платформеру с боковой прокруткой.
«Платформер» относится к тому, как игрок должен преодолевать препятствия на любом заданном уровне игры, часто буквально прыгая по платформам. И настоящий «боковой скроллер» определяется тем, как игрок постоянно открывает новые части уровня, перемещая своего персонажа к правой стороне экрана.
Другая распространенная версия Side-Scroller — это та, в которой уровень (или «мир», если использовать терминологию Марио) разбит на части, и чтобы перейти к новой части, вы должны достичь конца предыдущей. часть. Это тот тип Side-Scroller, который вы будете строить! Вот как шаг за шагом создать игру Mario на Scratch.
3. Легкая игра в понг
Игра в скретч-понг создается с помощью мяча и ракетки.
Лопасть ударяет по мячу, отскакивая от стены, прежде чем мяч возвращается к ракетке. Удивительной особенностью игры в понг является то, что это одна из первых когда-либо созданных компьютерных игр. Первоначальный понг состоял из двух лопастей, которые игроки использовали для того, чтобы бросать мяч туда-сюда по экрану. На создание этой игры от начала до конца у вас уйдет около часа. Вот как можно сделать игру в понг с помощью кода Scratch.
После того, как вы закончите играть в понг, проверьте эти расширенные испытания:
- Приведите ракетку в движение с помощью клавиш со стрелками.
- Завершить игру, если мяч не попадает в ракетку
- Добавить больше мячей в игру
- Увеличивать скорость мяча каждый раз, когда он попадает в ракетку.
4. Игра «Перейти дорогу»
В этой игре цель состоит в том, чтобы провести вашего персонажа через оживленную дорогу, не получив ударов. Если вы доберетесь до другой стороны невредимым, вы выиграли!
Это довольно популярная игра, и довольно популярная версия этой игры позволяет вам управлять цыпленком, пытающимся избежать столкновения с машиной.
Вы, наверное, тысячу раз слышали анекдот: «Почему курица перешла дорогу?» Знаешь, кто еще слышал эту шутку тысячу раз? Курица, и ей это надоело, если не сказать, что она просто немного зла.
Итак, в нашей сегодняшней игре мы попытаемся переправить машину на другую сторону дороги и не попасться разъяренным цыплятам. Чтобы построить нашу игру, мы собираемся нарисовать собственный фон и использовать множество блоков «если-то» в кодировании Scratch, чтобы проверить и увидеть, соприкасаются ли два спрайта, а также позволить себе управлять спрайтом. с помощью клавиш со стрелками на нашей клавиатуре. Вот как запрограммировать игру «Пересечь дорогу».
5. Простая игра с прыжками по коду
Существует множество популярных игр с прыжками, и у них есть одна общая черта: вы просто не можете перестать играть в них!
Возможно, это перспектива побить свой старый рекорд или просто волнение от достижения новых высот. Какой бы ни была ваша причина, мы повеселимся, создав эту игру, изучим множество крутых стратегий и, самое главное, к концу этого руководства у вас будет захватывающая игра, в которой вы сможете бросить вызов своим друзьям и семье!
Вот как будет работать игра.
Когда мы начнем, с неба начнут падать платформы. Наш персонаж тоже начнет падать, и единственный способ остаться в живых — продолжать прыгать с одной платформы на другую. Чем дольше мы продержимся, тем выше наш счет! Вот как кодировать игру с прыжками.
6. Code a Игра «Ударь крота»
«Ударь крота» — потрясающая игра о «кротах», которые выскакивают из «земли». Чтобы играть, игрок использует инструмент, похожий на молоток, чтобы «ударить» как можно больше кротов и как можно быстрее.
В Whack-A-Mole десятилетиями играли на карнавалах, в парках развлечений и игровых автоматах. Вы даже можете играть в Whack-A-Mole онлайн и бесплатно. Итак, сегодня у вас есть шанс узнать, как создать эту популярную игру с помощью кода Scratch!
Вот как создать игру «Ударь крота» на Scratch. Чтобы сделать эту игру более оригинальной, вы можете использовать инструменты рисования в Scratch, чтобы нарисовать собственного крота, молоток и фон. Вы также можете добавлять звуки всякий раз, когда крот выскакивает из земли или когда его бьют.