Что такое props в играх
Компоненты и пропсы
Компоненты позволяют разбить интерфейс на независимые части, про которые легко думать в отдельности. Их можно складывать вместе и использовать несколько раз. На этой странице мы ознакомимся с самой идеей компонентов — детальное описание API находится здесь.
Во многом компоненты ведут себя как обычные функции JavaScript. Они принимают произвольные входные данные (так называемые «пропсы») и возвращают React-элементы, описывающие, что мы хотим увидеть на экране.
Функциональные и классовые компоненты
Проще всего объявить React-компонент как функцию:
Эта функция — компонент, потому что она получает данные в одном объекте («пропсы») в качестве параметра и возвращает React-элемент. Мы будем называть такие компоненты «функциональными», так как они буквально являются функциями.
Ещё компоненты можно определять как классы ES6:
С точки зрения React, эти два компонента эквивалентны.
Функциональным и классовым компонентам доступны дополнительные возможности, о которых мы поговорим в следующих главах.
Как отрендерить компонент
Пока что мы только встречали React-элементы, представляющие собой DOM-теги:
Но элементы могут описывать и наши собственные компоненты:
Когда React встречает подобный элемент, он собирает все JSX-атрибуты и дочерние элементы в один объект и передаёт их нашему компоненту. Этот объект называется «пропсы» (props).
Например, этот компонент выведет «Привет, Алиса» на страницу:
Давайте разберём, что именно здесь происходит:
Привет, Алиса
Привет, Алиса
Примечание: Всегда называйте компоненты с заглавной буквы.
Если компонент начинается с маленькой буквы, React принимает его за DOM-тег. Например,
Чтобы узнать больше про это соглашение, прочитайте Углублённое изучение JSX.
Компоненты могут ссылаться на другие компоненты в возвращённом ими дереве. Это позволяет нам использовать одну и ту же абстракцию — компоненты — на любом уровне нашего приложения. Неважно, пишем ли мы кнопку, форму или целый экран: все они, как правило, представляют собой компоненты в React-приложениях.
Например, компонент App может отрендерить компонент Welcome несколько раз:
Не бойтесь разбивать компоненты на части.
Допустим, у нас есть компонент Comment :
Этот компонент представляет собой комментарий в социальной сети. Его пропсы включают в себя author (объект), text (строка), и date (дата).
С этим компонентом может быть не очень удобно работать из-за излишней вложенности. Мы также не можем повторно использовать его составные части. Давайте извлечём из него пару компонентов.
Для начала извлечём Avatar :
Пропсы следует называть так, чтобы они имели смысл в первую очередь с точки зрения самого компонента, а уже во вторую тех компонентов, которые его рендерят.
Теперь можно немножко упростить наш Comment :
Это позволит ещё сильнее упростить Comment :
Пропсы можно только читать
Компонент никогда не должен что-то записывать в свои пропсы — вне зависимости от того, функциональный он или классовый.
Возьмём для примера функцию sum :
Такие функции называют «чистыми», потому что они не меняют свои входные данные и предсказуемо возвращают один и тот же результат для одинаковых аргументов.
А вот пример нечистой функции — она записывает данные в свои же аргументы:
React достаточно гибкий, но есть одно правило, которое нельзя нарушать:
React-компоненты обязаны вести себя как чистые функции по отношению к своим пропсам.
Конечно, интерфейсы приложений обычно изменяются с течением времени. В следующей главе мы узнаем о том, что такое «состояние» компонента. Состояние даёт компонентам возможность реагировать на действия пользователя, ответы сервера и другие события, не нарушая чистоту компонента.
Пропсы и декали в геймдеве
Полнота погружения пользователя в геймплей во многом зависит от детальной проработки игрового окружения. Чтобы создать иллюзию большого, впечатляющего и реалистичного мира, дизайнеры уровней используют самые разные элементы структурной геометрии, проще говоря “пропсы” и “декали”. Создание деталей игрового окружения — не менее важная задача, чем дизайн уровней, написание сценария, звука и кода.
В этой статье преподаватели Высшей школы бизнес-информатики НИУ ВШЭ, профессиональные левел-дизайнеры и авторы образовательных программ “Менеджмент игровых проектов” и “Основы создания игр”, поделятся опытом создания атмосферных уровней и расскажут, как правильно расставлять акценты на локации.
Какие бывают пропсы
Пропсы в геймдеве — это своего рода бутафория, позволяющая игроку ощутить атмосферу и оценить обстановку в окружающем мире. Все пропсы подразделяются на три основных типа:
Как использовать пропсы и декали
На «необработанную» структурную геометрию накладываются пропсы различных габаритов. Чтобы у игрока не возникло ощущения “обмана”, при ближайшем рассмотрении объектов должно четко читаться количество полигонов, текстура, комплексность и качество материалов. Это особенно важно для объектов на первом плане.
Не меньшую роль в создании реалистичной картинки играют декали. Эти специальные изображения накладываются на поверхности, создавая на них различные эффекты. Например, можно поместить на стену декаль с потеками, трещинами и граффити. Добавить к дому изображения окон, вентиляционных люков и рекламных объявлений. И, наконец, просто создать реалистичное дорожное полотно с разметкой, лужами, решетками ливневок и мусором на обочине.
Как создаются детали игрового окружения
Как правило, игровые объекты (особенно крупные) компонуются из нескольких готовых моделей. Если на high-poly моделях должны присутствовать более мелкие детали (узоры, сколы, трещины), используется технология скульптинга, основанная на принципах классической лепки.
Важно учитывать правильность отрисовки света и его взаимодействия с различными материалами. При проработке освещенности и текстуры пропсов используются различные специальные текстурные карты (кривизны и шероховатости, дополнительные эффекты и фото-текстуры). Работа со светом позволяет добиться максимально реалистичного качества графики.
Где научиться создавать реалистичное окружение в играх
Узнать подробнее, как создаются детали игрового окружения можно, пройдя обучение по программам “Основы создания игр” и “Менеджмент игровых проектов” в ВШБИ НИУ ВШЭ. Вы освоите навыки проработки реалистичного игрового мира, который необходим для создания уникальной атмосферы в игре. А помогут вам в этом профессиональные разработчики, за плечами который не один успешный продукт!
Еще больше информации вы найдете на канале МИП ВШБИ на YouTube. Подписывайтесь и не пропускайте свежие записи с открытых мероприятий ВШБИ НИУ ВШЭ.
Основные 3d программы. Делаем игровой пропс
Видео будет полезно больше для тех, кто не очень разбирается в 3дшке, а крутанам можно глянуть разве что просто послушать мой трёп на тему. Чому бы и ни? Стараюсь сделать видосы ламповыми, поэтому было бы круто, если бы вы написали в комментариях тут или на Ютюбе как вам, и о чём ещё хотелось бы послушать в будущем. 🙂
CGI Media
2.2K поста 5.6K подписчиков
Правила сообщества
• Посты должны соответствовать тематике cообщества.
• Не допускается спам и нарушение правил сайта pikabu.
диван из ВарКрафта ) прикольно, свой стиль
С наступающим!!
Так и успел распечатать в этом году и даже расписать.
Напоминаю, модель есть в свободном доступе, ссылка. Печатать можно и в масштабах значительно меньше чем у меня (1:12). Печатается без проблем и ошибок. Интересно увидеть ваши варианты её печати и росписи.
3D принтер: ANYCUBIC Photon Mono X
Фотополимер Harzlabs, INDUSTRIAL ABS + ANYCUBIC.
Роспись акрилом от The Army Painter и Vallejo + аэрография.
3D моделирование, печать и роспись: amforma
Почта России целенаправленно ломает отправления клиентов
Всем привет. Заголовок не сколько факт, сколько очень вероятное объяснение, произошедших со мной событий. У меня возникает много вопросов по случившемуся и я надеюсь, что кто-то из пользователей Пикабу сможет дать мне на них возможные объяснения. В конце концов, хочется просто выговорится. Теперь ближе к делу.
Сам я занимаюсь создаем фигурок на заказ. Заказали у меня фигурку Ревенанта из игры Apex Legend. Смоделировал я её, напечатал на 3д принтере, осуществил покрас и отправил клиенту Почтой России.
Ноги отломаны в коленях, плюс одна в месте сочленения таза и бедра. Руки повреждены в плечах. В каком же состоянии коробка? А вот коробка в идеальном состоянии. Ни вмятины, ничего подобного! Есть только одна особенность: упаковочный скотч переклеен с одной из стороны коробки.
Я так криво полоску скотча абсолютно точно не клеил. Если случайно так и получается, клею ещё несколько полосок поверх (вообще всегда заматываю в несколько слоёв). Это сделал уже кто-то другой. Кто-то, кто и сотворил с моим детищем этот акт вандализма.
Моя версия: произошел «неаккуратный» таможенный досмотр. Таможня чем-то заинтересовалась, вскрыла посылку. Далее какая-та толстая тетка со словами «ух, нехристь какая, сатанинская сволочь!» целенаправленно ломает всё, до чего смогла дотянуться жирными потными ручонками. Какие ещё могут быть объяснения? Посылка не из хрупкого хрусталя, от мановения ветра не ломается. Упакована была очень надежно, а коробка не имеет никаких повреждений. При всём этом фигурка повреждена тупо ВЕЗДЕ, где потенциально это было возможно.
При всём этом очень интересно было бы разобраться в ситуации, может кто-то из пользователей Пикабу имел схожий опыт? Могут ли быть еще какие объяснения? Хочется всё учесть на будущее.
Много комментариев про то, что таможня внутри страны отсутствует. Отвечу комментарием одного доброго человека из обсуждения, который меня правильно понял.
Слэнг cg-художника в геймдеве
Часть моих друзей – программисты. И когда мы собираемся вместе, то в разговорах они пугают меня словечками типа «рефакторинг», «бэкэнд» и «компилиться». Они спокойно могут в открытую делиться тайнами разведки, мой мозг не воспринимает это.
Слэнг, фичеризм – входной билет в закрытую тусовку. Говоришь заветные слова, и все тебя понимают, ты свой. Поэтому новичкам бывает тяжело понять, о чем это говорят люди в стримах, при чем тут «трубы», что хочет от вас ваш «лид», давая «фидбэк», ну и шуточки всякие мимо проходят.
Я собрала для вас самые распространенные слэнговые словечки с описаниями, дабы вы больше никогда не попадали в неловкие ситуации.
По крайней мере в неловкие ситуации, связанные со слэнгом в геймдеве.
Арт-слэнг
Пайплайн — это не прокладка труб. 🙂 Это формализованный процесс разработки, пошаговый план; ему можно обучить новичков. Если художники в команде придерживаются одного пайплайна, стиль проекта более однородный. Пример: “Для персонажей у меня вот такой пайплайн: сначала делаю скетч, потом лайн, потом заливаю цветами, потом рендерю мелочи”.
Рендер — термин пришел в 2d из 3d. Рендер в 3d означает просчет компом и отрисовку пиксель за пикселем всей сцены. Когда 2d художники говорят про рендер, они имеют ввиду ручную отрисовку большого количества мелких деталей, проработку света, добавление эффектов, и пр.. Я не встречала использование этого термина 2d художниками англоязычного сегмента в таком контексте. Пример: “Всю ночь рендерил кольчугу эльфийке! Результатом доволен!”
Matte-painting (мет-пейнтинг) — техника, часто используемая концепт-артистами, применение фото-текстур для создания концептов. Такой подход позволяет ускорить процесс, но многие новички излишне рьяно пользуются этим, отсюда некоторое порицание данного метода в арт-сообществе.
Фотобаш — техника, в которой используются готовые куски фотографий, которые коллажируются и обрисовываются поверх. Часто используется в концепт-арте для кино, т.к. там важна скорость и фотореалистичность.
Про фотобаш и matte-painting можно посмотреть вот это видео.
Китбаш — техника, аналогичная фотобашу, но вместо фото используются 3d модельки.
Спрайт (sprite) — чаще всего растровое изображение, которое используется в игре. Подробнее можно прочитать в данной статье. Пример: «Как-то ты криво спрайты сохранил! У них размер 2048 на 2048 пикселей!”»
Спрайтшит (sprite sheet) — набор спрайтов, например для покадровой анимации персонажа.
ГУЙ (Game User Interface, UI(User interface)/UX(User experience)) —интерфейс, элементы с которыми взаимодействует пользователь: кнопочки, плашечки, бары; элементы навигации, подсказки, и т.п..
Пропсы — отдельные объекты, иконки предметов. Одна из самых легких задач на старте. Пример: “Новичкам проще всего попасть в геймдев, рисуя пропсы”.
WIP (вип, work-in-progress) — этими тремя буквами подписывают незаконченную работу, работу в процессе, когда хотят поделиться ею в сети.
VFX artist — художник, занимающийся разработкой эффектов(блестяшек, светяшек, взрывов, дыма, пыли и т.п.). Профессия на стыке арта и программирования. Художник по эффектам может, если нужно, написать шейдер или какой-то скрипт. По моему личному мнению художники по эффектам — просто богичны!
Шейдер — кусок кода, который проводит определенные манипуляции и выводит на экран картинку
Технический блок
Движок (game engine) — фреймворк для создания игр. Я попросила друга-программиста объяснить мне доступным языком, цитирую: «Игровой движок — это куча-куча кода, в котором специально оставили «дырочки». В эти дырочки прикладные программисты вставляют свои куски кода по правилам, определенным разработчиком движка. В движке реализована куча-куча разных возможностей, это как погружной блендер — меняешь насадки(то, что в дырочках), меняется поведение. Движок — это кусок игры. То, что скомпилируется в бинарные файлы, скопируется на устройство и запустится».
Юнити (Unity) — один из наиболее популярных движков. На нем сделаны такие игры как Ori and the Blind Forest, Monument Valley и Cuphead.
Анрил (Unreal Engine) — так же популярный движок. От Unity отличается языками программирования.
Системы контроля версий (SVN, Git, etc.) — программы, позволяющие нескольким людям работать параллельно над проектом, добавляя изменения на сервер по мере разработки. С этим термином напрямую связаны «коммит», «пуш-пул», «работать в ветке», «репозиторий», но если вам ничего не говорят эти слова, лучшее решение — почитать документацию о работе с конкретной программой.
Геймдизайн-блок
Геймдизайнер. Многие считают, что это графический дизайнер, работающий в игровой индустрии. Но это не так. Геймдизайнер – это человек в команде, который придумывает, какой будет игра. Как правило, он не рисует, а занимается такими вещами как баланс внутриигровой валюты, просчет длины сессии игрока, работает с сюжетом игры и т.п..
ГДД (GDD). Расшифровывается как Game Design Document. Его пишут геймдизайнеры перед стартом разработки, там прописаны основные идеи, механика игры и ее уникальные фичи.
Фичи (feature) — атрибут, особенность игры. То, чем она будет круче всех игр конкурентов. Примеры фич: открытый мир, уникальная система боя, система крафта, и т.д..
Билд (Build) — сборка игры с определенными конфигурациями и набором контента. Под разные цели могут собираться разные билды.
Игровая сессия — промежуток времени и действия внутри данного промежутка, от запуска приложения до выхода из него.
Механика — это функциональная основа происходящего. В игре может быть несколько механик. Например, можно играть в RPG и ловить рыбу в одной и той же игре.
Кор-механика — основная механика. То, в чем игрок совершенствуется, его основная деятельность в игре. Например, в шутере он стреляет.
Ретеншн (retention) — частота возвращения игроков в приложение после установки.
Day1, Day7, Day30 — имеется в виду ретеншн на следующий день, через неделю и через месяц. Это одни из основных показателей успешности игры, показатель вовлеченности игрока.
Киты — игроки, которые вливают много денег в игру, покупая дорогой внутриигровой контент(валюту, шмот, жизни и т.п.). Пример: “Мы с нашим магазином внутриигровым ориентируемся на китов!”.
Дельфины — среднеплатящие игроки.
Малоплатящих игроков называют как попало: кильки, шпроты, планктон. А все потому что денег они не приносят.
Менеджмент
Дедлайн (deadline) — момент, к которому нужно умереть, но сделать. 😀
Кранч — сверхурочная работа, связанная с приближением дедлайна. Пахать как вол днем и ночью.
Майлстоун (Milestone) — Точка в разработке игры или приложения, когда надо сдать промежуточный результат(например, потому что за него заплатят); обсудить и принять решения типа «добавлять/вырезать ли фичи» и «в том ли направлении двигается игра». Пример: “В первом майлстоуне у нас прописаны 4 игровых зоны, а сделано только две! Работаем, ребята!”.
МВП (MVP, Minimal Valuable Product) — стадия готовности продукта, билд, который покрывает большую часть потребности пользователя. Например, это может быть основа игры+кастомизация персонажа. Важно, что на основе МВП можно проверить гипотезы и в соответствии с результатами выстроить дальнейшую разработку.
Аутсорс (outsource) — передача разработки части контента фрилансерам или сторонним студиям, ради экономии времени и/или средств.
Фидбэк (feedback) — обратная связь от менеджера/артлида/продюсера, как правило список замечаний и предложений по улучшению графики.
Релиз (release) — запуск игры.
Софтлонч (soft-launch) — это не ланч. 🙂 Это запуск приложения в ограниченном ряде стран для «обкатки» того как ведет себя игра на рынке.
Модели распространения игр
f2p (free-to-play, условно-бесплатная) — модель монетизации, при которой игра предоставляется бесплатно, но внутри игры можно совершать покупки. Часто f2p путают с казуальными играми, но f2p не связана с жанром. Например, в популярную игру жанра «Королевская битва» Fortnite играют бесплатно, но внутри можно докупить модный скин.
Freemium (фримиум) — более широкое понятие, аналогичное f2p, используется, когда речь заходит не только об играх. Например приложения, в которых за деньги ты отключаешь рекламу, подпадают под эту категорию.
Paid (пейд) — Модель монетизации, при которой игрок сначала платит денежку(покупает диск или цифровую версию продукта), а уже потом наслаждается игрой. По данной модели могут распространяться как игры для PC и консолей, так и мобильные игры. Примеры мобильных пейд-игр: Monument Valley, Framed, Device 6.
Термины в маркетинге
Креатив — графика для рекламной кампании. Например, баннер или карусель(последовательность нескольких изображений).
Tier 1/2/3/… — может означать что угодно, но в маркетинге имеются в виду страны. К Tier 1 относят самые хорошо платящие страны(Канада, Франция, США, Соединенное Королевство, Норвегия и т.д.). С увеличением циферки платежеспособность, а следовательно, и заинтересованность в привлечении аудитории этой страны падает.
CTR(клик на показ), CVR, CTI, и тд — страшные термины маркетологов, показатели, означающие успешность рекламной кампании.
К лассы игр
AAA-проект. Произносят как “трипл эй”. Проект(игра) с высоким бюджетом именно на производство. Как правило ААА-игры выходят на PC и консолях, их графика — на острие технологий. Примеры игр: Uncharted, Detroit и God of War.
AA-проект. Дабл эй проект. Игры, которые мимикрируют под высокобюджетные, но не дотягивают до титула трипл эй по качеству/бюджету/масштабности. Посмотрите вот эту и вот эту статью для большей информации.
Night in the Woods
Инди (indie games). Игры от независимых разработчиков. Т.е. ребята сначала сделали игру своими силами, а уже потом стали думать над изданием, тогда как обычно издатель спонсирует команду разработчиков. Или же игры, созданные с помощью краудфайндинга. В бытовом плане, когда говорят инди, скорее всего имеют в виду короткую игру с необычным артстилем и/или механикой. Примеры игр: Undertale, Witness, Night in the Woods.
Мидкор (mid-core) — игры средней сложности для искушенных игроков. Характерны довольно высоким порогом вхождения – ваша бабушка вряд ли осилит, ориентированы на мужчин от 25 до 45 лет. Отличный пример такой игры на мобилках – Clash Royale.
Казуалки (casual games) — игры с низким порогом вхождения. Приятная, чистая графика. В большинстве случаев нет насилия, все вокруг сверкает и ми-ми-ми. Это не значит, что игра «простая», на 2х тысячном уровне Candy Crush вы никогда не побьете вашу бабулю. Кривая сложности построена так, что она плавно нарастает, достигая заоблачных высот. Примеры: Homescapes, Township, Bubble Witch Saga.
Механики игр
Матч3 (match3, три-в-ряд) — механика игры, основной принцип которой — собирать фишки на поле по 3 одного типа(цвета, формы) в ряд. Примеры игр жанра: Bejeweled, Candy Crush, Gardenscapes.
Джелисплэш (jelly splash) — механика игры, где ты тянешь цепочку через фишки одного цвета. Название механика получила в честь игры, принесшей ей популярность. Примеры игры жанра: Jelly Splash, Best Fiends.
Бласт (blast) — механика игры, где ты тапаешь на фишку определенного цвета и этим взрываешь весь блок фишек данного цвета, стоящих рядом. Минимум таких фишек должно быть две, поэтому эту механику еще называют match2. Название механика получила в честь игры, принесшей ей популярность. Примеры игры жанра: Pet Rescue Saga, Toy Blast, Toon Blast.
Батлер — игры про прокачку отряда персонажей. Такие отряды воюют с другими отрядами (PVE) и мобами (PVP). Пример игры данного жанра: Heroes Charge. Бывают карточными, наличие персонажа — условность.
PVP (player versus player) — режим игры, где противники — другие игроки.
PVE (player versus environment) — режим игры, где противниками управляет компьютер.
Супер-кэжуал (super-casual games). Игра с супер-низким порогом вхождения. В них сможет играть даже ваш кот. Буквально. Самые знаменитые издатели в таком жанре — KetchApp и VooDoo. Иногда в сети такие игры называют «hyper-casual».
One-finger games/one tap games. Разновидность супер-кэжула. Играется одним пальцем: тапом, свайпом. Не обязательно легкая, но управление в ней простое. Например, Crossy Road.
ХОшки (HO games, HOPA, Hidden Objects, iSpy) — механика игры, “поиск предметов” на захламленной сцене. Они есть как в «премиум» модели монетизации (можно посмотреть у издателя Big Fish Games), так и f2p(одна из механик Criminal Case, Midnight Castle, Seekers Notes). Когда речь заходит о ХОшках чаще всего представляют премиум-игры для дам за 50 в фэнтезийно-винтажном сеттинге. Но это не так, прежде всего это механика, а ее можно засунуть и во вполне «приличную» игру.
Социализация
Геймджем (Gamejam) — ограниченный по времени ивент по разработке игр. Название произошло от смеси слов game и jam session(совместная музыкальная импровизация). Например, два дня на создание игры с нуля без предварительной подготовки. Прототипы, сделанные в рамках геймджемов, как правило, прекрасны. Среди них — нашумевший благодаря шикарнейшей графике и садистской системе управления Enviro Bear 2000.
Хакатон (Hackathon) — форум по разработке ПО, ограниченный по времени ивент. Не обязательно связан с играми, но в русском сегменте геймджем часто называют хакатоном. Изначально марафон для программистов-криптографов.
Людумдэр (Ludum Dare) — один из известных геймджемов. Игру создают по теме, набравшей большее кол-во голосов. После 48 часов разработки все игры выкладывают на оф.сайте.
Enviro Bear 2000, игра, созданная в рамках Ludum Dare
Такие дела. 🙂
Если вам понравилась статья — поделитесь с друзьями!
Если вам не хватает разъяснения какого-то термина или вы видите неточность — напишите мне, и мы вместе сделаем статью лучше.
Любите арт и геймдев? Буду рада видеть вас в своем паблике by HN.