Острая лапша

Категория: первые блюда
Время приготовления: около 45 минут
Необходимая степень прямоты рук: минимальная

Берем тонкие макароны типа “вермишель”. Ломаем примерно вчетверо, обжариваем на сухой сковородке до светло-коричневого цвета и запаха сухарика. Ни масла, ни воды – ничего. Просто сушим таким образом.

Делаем бульон с курицей. Наливаем кастрюлю воды, кладем туда промытую куриную спинку (в мясных иногда продается отдельно за недорого) или аналогичное по весу мясо птицы, чуть солим. Пусть покипит минут 15-20 на среднем огне. Как закипит – поубавить огонь и дать бульону “дойти” и стать прозрачной светло-желтой жидкостью. Хотите пожирнее – оставляем мясо плавать, более диетическое – вытаскиваем его. Костяк можно обобрать и дополнить лапшу мясом на финальном этапе.

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

Обжаренные лук с морковью добавляем в бульон, перемешиваем, даем пару минут, добавляем картошку. Присматривать за этим делом 10-15 минут, помешивая и снимая пенку. Картошка должна провариться, но быть с легкой сыринкой

Добавляем обжаренную/высушенную вермишель и почти сразу – чайную ложку (без горки) смеси перцев или приправы к мясу. Дозу специй подгоняйте под размер кастрюли и степень желания сжечь себе язык. Перемешиваем, даем 5-7 минут повариться, пока сушеная вермишель размягчится, а картошка дойдет до полной готовности

Разлить по тарелкам, при желании – присыпать зеленушкой. Приятного 🙂

Про графику

Первые игры (в классическом их понимании, которое пришло к нам в начале 80х) либо были вообще текстовыми (получалась этакая интерактивная книга с постоянными ответами на вопросы), либо обладали графикой на основе знакомест и таблицы ASCII. Например, меч могли отрисовать вот так:

o=[===>

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

Поскольку знакомест людям стало мало, следующим поколением стала пиксель-графика. Изображение любого типа билось попиксельно и загружалось точно так же – в виде двухмерного массива пикселов. Как правило, чтобы не нагружать тогда еще маломощные системы, фоновые изображения делались неподвижными, а интерактивные модельки (например, персонажи) максимально упрощались и усреднялись. Идеальный пример такого формата графики – игры класса “найди предмет”. Кроме того, подобным образом обрабатывается графика большей части игр на платформы типа ZX Spectrum

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

Собственно, в современных двухмерных играх это один из основных методов вывода графики. Изображение бьется на составные части одинакового размера – тайлы. Они не обязательно будут квадратными (хотя чаще всего они именно квадратные). Например, в играх с изометрией тайлы так и называются “изометрические”, но по факту являются ромбами (или квадратами, которые отображаются с поворотами на N градусов). Кроме того, популярны фасеточные тайлы – разбитие на шестигранные “соты” или “фасеты”.

Потом, после формирования тайлсета (палитры со всеми необходимыми тайлами) тайлы можно использовать сколько угодно раз в любых комбинациях. Например, в игре “супер марио” облако и лес на фоне – один и тот же тайл, но с разной цветовой маской. Как правило, в современных двухмерных играх используется как минимум две карты тайлов – из одной собирается “задний фон” (дома, ландшафты, неподвижные объекты), из второй (как правило – другого размера) собираются модельки, персонажи, подбираемые айтемы и т.д.

Вторым же методом вывода двухмерной графики являются заготовленные модели (например, спрайты – готовые изображения персонажа). Спрайты загружаются целиком и полностью и их можно комбинировать как с тайлами, так и с пиксель-графикой. Кстати, на основе спрайтового метода можно рисовать даже примитивное 3D – как, например, первый Doom или Wolfenstein, в которых псевдо-трехмерность строится на масштабировании двухмерных картинок.

Ну и, наконец, то, к чему мы все привыкли – полигональные модели.

Про дизайн уровней

На самом деле, это центральная часть разработки, проектирование самой важной части игры. Локации, расстановка объектов, подготовка сцен и окружения игрока.

Главные принципы данного этапа – интересность, заполненность и интуитивность.

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

Как правило, самыми запоминающимися и проработанными делают начальные и конечные локации – так уж устроен наш мозг, что он легче запоминает начало и конец повествования. И не только в играх, но и книгах с фильмами. Каждому уровню в начале, конце и самом центре сюжета дается некая изюминка: самые важные квесты и самые прописанные квестовые линии, самые харизматичные персонажи или фракции, самые красивые локации со своими особенностями (например, рельефа или архитектуры), достопримечательностями (статуи, святилища, дворцы, храмы).

Например, любой игрок в тот же Скайрим наизусть вам опишет Хелген (стартовую локацию) и Совнгард (конечная локация, но дошли до нее не все). И весьма подробно опишет центральные локации типа Вайтрана (город в центре карты) или Рифтена (город гильдии воров) или Маркарта (город, построенный на руинах “гномов”). Но вот с остальными, даже важными по сюжету, локациями дело будет несколько хуже.

Заполненность
В игре не должно быть слишком пустых (привет юбисофт с полупустой картой “Одиссеи”) и слишком переполненных (привет, CDPR с откровенно переполненным и тесным Новиградом) локаций. Нет, разумеется, есть центральные локации, которые должны быть заполнены больше остальных, и есть условные пустыни или долины, где и не должно быть много всего, но иногда разработчики перегибают.

Хорошим тоном считается не добиваться максимального полного заполнения мелких локаций, акцентируя внимание на центральных точках. Именно поэтому в центральных городах и локациях проработают даже уникальный узор на коврах, а в условной деревне Зюзино, которая находится на краю карты и которую игрок посещает за игру один раз, никто не будет заморачиваться и ставить такие вещи, как печи в каждый дом, картины, посуду на столах… Да, скорее всего, даже с интерьером заморачиваться никто не станет – просто сделают коробки домов с забитыми окнами и дверьми, обозначив, что эта локация недоступна игроку. Что, кстати, иногда порождает лулзы – игрок может до смерти запиздить огромного дракона гнилой табуреткой, но хлипенькую деревянную дверь, забитую парой досок, открыть ну никак не может.

Интуитивность
Данный принцип требует, чтобы игрок, никогда прежде не игравший в игры, быстро и интуитивно определял без лишних подсказок, куда ему идти и что ему делать на том или ином уровне. В играх типа Mirrors Edge ключевые элементы паркура, или точки маршрута красят в яркие цвета (красный чаще всего), элементы головоломок в RPG чаще всего содержат некую подсказку в виде записок или особенно выделяющихся текстур (например, текстура факела, который является рычагом, будет с более высоким контрастом, как и стена, за которой скрыт проход).

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

Про классы в РПГ

Изначально в компьютерных играх не было такого понятия, как класс и классовая система. Игрок был просто игроком, враги – просто нпс с разными атаками и стилями. Сюжеты были линейными и, как правило, не подразумевали больше трех классических путей прохождения (“убей всех”, “прокрадись мимо всех”, “договорись со всеми”). И уже игроки, в зависимости от выбранного ими пути, сами искали и выбирали снаряжение, стиль игры и, в отдельных случаях, характеристики, если они были.

Понятие класса в компьютерных играх появилось примерно в начале 90х годов, но окончательно сформировалось только к началу нулевых, когда появились такие хиты, как Morrowind, World of Warcraft, Lineage 2, Diablo 2, Neverwinter Nights и другие классические РПГ и ММОРПГ. И перекочевало это понятие не откуда-нибудь, а из классических настольных ролевых игр типа Dungeons & Dragons.

Классовая система привнесла в мир компьютерных РПГ новый опыт, который упростил дело как игрокам – ведь теперь не надо было постоянно себя контролировать и самому думать, как распределять снаряжение, расходники и очки – так и разработчикам, ведь теперь можно было прописать каждому классу конкретный набор навыков, которыми мог бы пользоваться как игрок, так и НПС. Кроме того, разработчикам стало проще создавать персонажей, ведь теперь можно было не генерировать персонажей по отдельности, а назначить каждому из них какой-то базовый класс, который определял бы навыки, поведение и реакции персонажей (воин предпочитает тяжелые латы, ближний бой и драки, а какой-нибудь лучник – легкие доспехи, дальний бой и отступления для соблюдения дистанции)

Сначала были чистые классы – воин, маг, плут и жрец, которые определяли конкретные стили игры (воин – защитник и атакующий с ближним боем, маг – атакующий с дальним боем и социальщик, плут – скрытность и социальные взаимодействия, жрец – лекарь для всей компании и, в редких случаях, дальнобойный атакующий). Затем игроков это малость подзаебало, да и обрели популярность новые редакции D&D, в которых были прописаны новые классы. Так появились дополнительные классы, которые были основаны на комбинациях чистых классов. Например, паладин – это помесь воина и жреца, а чернокнижник – это помесь мага и плута.

Собственно, данный опыт по сей день используется в ММОРПГ типа World of Warcraft просто потому, что так проще типизировать игроков и обеспечить их взаимодействие, например, в рейде или подземелье. Потому что куда проще сказать, что вы ищете в подземелье жреца-лекаря, чем сказать, что вы ищете человека с целым списком навыков.

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

Так что на смену ей пришла система мультиклассирования. Игрокам дали дерево навыков и сказали “Ебись с этой хуйней сам, сын мой”. И это было сделано совершенно правильно, как мне кажется. Потому как это подарило игрокам некоторую свободу действия, оставив при этом возможности классовых систем. То есть, игрок, привыкший играть магом, и остается магом, в общем и целом (ибо прокачка магических навыков никуда не делась), но если ему вдруг захочется отложить магию и уебать врагу по лбу булавой – никто не мешает ему качнуть одноручное оружие хоть немного. При этом, НПС так и остались с классовой системой для упрощения работы разработчиков.

Примеры хорошего мультиклассирования и бесклассовых систем – The Elder Scrolls V: Skyrim, Fallout: New Vegas. Какие бы навыки вы ни качали, при грамотном их применении и комбинировании, вы можете пройти всю игру без особой сложности и заморочек с билдами.

Примеры херового мультиклассирования и бесклассовых систем – серия игр The Witcher. Если вы не взяли прокачку мечей или не задрочили мануалы по правильному билду, скажем, через знаки или через бомбы (а некоторые решения нихуя не очевидные) – вам будет пипец трудно пройти игру до конца и не разъебать при этом клавиатуру или геймпад об стену.

Про искусственный идиот в играх

ИИ – это, собстна, все управление NPC, кроме диалогов. Все передвижения, все взаимодействия с миром и игроком, ориентирование на местности и, разумеется реакция на события в игре.

Самый примитивный ИИ просто двигает врагов по заранее запланированным маршрутам (вейпоинтам). Яркий тому пример – любой платформер типа Super Mario Bros. Там NPC даже на игрока не реагируют, а тупо действуют по расписанию и таймеру.

Более сложные вариации ИИ NPC могут (и в большей части современных игр – делают):

  • иметь систему “свой-чужой” и переключать параметры в ней в зависимости от обстановки вокруг
  • имитировать жизненный цикл (как в Скайриме – персонажи по расписанию гуляют, едят, торгуют, работают и т.д.)
  • взаимодействовать между разными NPC(реакции на встречи, двже сложносоставные сцены)
  • взаимодействовать с игроком
  • взаимодействовать с объектами (пример – сталкеры лутают убитых)
  • искать укрытия и использовать тактические маневры (большая часть экшн-игр и военных симуляторов)
  • подстраиваться под игрока(в Left 4 Dead ИИ анализировал скилл игроков и в зависимости от этого спавнил орду и обозначал ее поведение и навыки)
  • самообучаться (если в Quake III запустить битву, в которой будут только боты, то они будут сперва самообучаться друг на друге, пытаясь подобрать тактику, где выживет как можно больше союзников, а потом, рано или поздно, примут решение прекратить воевать)
  • искать кратчайшие маршруты (например, в Скайриме, когда стража идет к игроку кратчайшим возможным путем)
  • имитировать тревогу и поиски (на самом деле, ИИ, конечно всегда знает, где игрок, но в играх типа Hitman, Assassins Creed и прочих стелс-экшнах симулируется поиск игрока по косвенным признакам типа шума, движения или поведения игрока).

В RPG, что характерно, ИИ практически нулевый. Взгляните на популярные тайлы типа Скайрима, Ведьмака, Зельды, Фоллаут (хотя это скорее экшн-рпг), Dragon Age, WoW, Diablo, SW: KOTOR, Newerwinter Nights (а вот это уже тру RPG). В них нет продвинутых моделей поведения. Примитивная симуляция жизненного цикла, простая система “свой-чужой” и простая же система реакций типа “бей или беги”. В отдельных случаях (как в Скайриме) есть весьма тупенькая механика напарников, которые могут только идти за игроком и бить врагов.

Про диздоки

Диздо‌ки – это, можно сказать, “игра на бумаге”. Когда собран концепт и сделаны некие наброски того, о чем вообще будет игра, наработки собираются в один общий документ. Зачем это нужно?

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

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

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

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

Например, появилась линия на тему помощи полиции в одном крупном паранормальном деле под условным названием “оборотни в погонах”. И названа она этим именем не просто так 🙂

Поскольку я планирую привлечь к проекту некоторых своих друзей (как минимум, двух, а в идеале – четырех человек), да и масштабы игры получаются очень даже немалые, мне необходимо собрать такой документ. Чем я, собственно, и занимаюсь последние несколько вечеров.

Что входит в диздок? Да всё. Вообще всё. Плановые фичи и используемые компоненты. Используемый движок (после бессмысленных трепыханий над собственным двиглом, решил, все же, пилить на Unity), редактор кода, формат и стилистика игры, основные платформы, сюжетные ветки, описание персонажей, древа диалогов и реакции нпс, описание действий нпс с игроком и друг с другом, тактика искусственного идиота, схемы уровней, карта мира, дерево развития навыков с конкретным описанием действий навыков, списки ингредиентов и ресурсов, принципы виртуальной экономики игры и т.д. Короче, все до последней мелочи, начиная от карт уровней и заканчивая цветом белья у персонажей-девушек.

Работа долгая, монотонная, скучная, но необходимая. Потому что без нее – хана, все забудется и затрется. И выйдет не игра, а малоиграбельная и неинтересная хрень

Про пользовательский интерфейс

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

Правила хорошего тона требуют, чтобы на экране было одновременно не более 7 элементов HUD (прицел, отображение хп, маны, панель быстрого доступа, миникарта и еще что-то), а открываемые интерфейсы (типа инвентаря, карты и т.д.) должны иметь не более трех уровней вложения (например, “квесты – тип квестов – конкретный квест”).

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

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

Про дизайн мира

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

Условно говоря, есть пять типов дизайна мира.

  1. Линейный дизайн мира – в этом случае игрок получает доступ к локациям по очереди. Пример линейного дизайна – кампании в шутерах. Игрока кидают с миссии на миссию, уровни между собой не связаны вообще или связаны очень слабо.
  2. Мир-карта – данный тип ворлд-дизайна присущ стратегиям типа “Цивилизации”. В этом случае, весь мир – это одна сплошная карта, с которой взаимодействует игрок.
  3. Статичный мир – данный тип ворлд-дизайна чаще всего применяется в казуальных проектах в духе “три в ряд” или “виртуальный питомец” и квестовых играх типа “найти на картинке все предметы из списка”. Картинка одна, не меняется почти ни при каких условиях.
  4. Арена – этот тип дизайна мира чаще всего встречается в мультиплеерных проектах типа DoTA, Counter Strike и прочих соревновательных играх. Мир представляет собой набор карт, на которых хватает интерактивных элементов и которые обязательно равно пригодны для двух команд, которые начинают в слегка разных условиях. Кроме того, данный тип дизайна мира используется в файтингах типа Мortal Kombat.
  5. Открытый мир. Собственно, название, как и во всех прошлых случаях, говорит за себя. Мир открыт для исследования, топай туда, куда хочешь, делай там все, что хочешь и позволяет механика игры. Данный тип миров встречается в большей части современных РПГ-проектов (RDR 2, Witcher 3, Skyrim и т.д.) и в играх-песочницах (Minecraft, Space Engineers и подобные игры).

Поскольку наш игровой проект создается в жанре РПГ, то удобнее и логичнее всего использовать открытый мир. Это и облегчает, и усложняет задачу, ибо игроки – товарищи любознательные. И, естественно, если дать им свободу действия, то они будут ее использовать, гуляя по всему игровому миру, выискивая секреты и стараясь попробовать ну вот буквально каждую возможность. И надо предусматривать эти моменты, чтобы не вышло так, что игрок уже убил персонажа, с которым должен был познакомиться только через несколько глав сюжета. Например, можно не спавнить персонажа в игре до момента, пока игрок не получит тот или иной квест (GTA 5). Или сделать альтернативную концовку квеста в том случае, если важный персонаж погиб (Ведьмак 3). Или сделать персонажа неубиваемым (привет, Скайрим).

В структуру мира, помимо размещения объектов, персонажей и прочих радостей, входят также такие важные вещи, как продуманность виртуальной экономики, общая карта мира, работа с погодой и погодными эффектами, предыстория и раскрытие этой предыстории в рамках мира игры (книги, записки и дневники персонажей), реакция мира на действия персонажа (реакции от встречи НПС с персонажем игрока, радио в игре, новостные ленты во внутриигровых СМИ и т.д.) и т.д.

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

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

Про навыки и развитие персонажей

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

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

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

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

Примеры хорошего дерева навыков – Titan Quest, Dragon Age: Origins и Neverwinter Nights. В этих играх почти ни один билд в прямых руках не будет совсем уж ущербным. Да, безусловно, есть более сильные и “правильные” билды персонажей, но даже если игрок совсем овощ в подборке навыков – ему будет не сильно хуже.

Примеры херового дерева навыков: Skyrim и Ведьмак 3. В Скайриме минимум треть веток навыков откровенно не нужны в большей части случаев (все школы магии, ибо мага с достойным ДПС на высоких уровнях не собрать, щиты – бесполезны, а красноречие мало на что влияет), равно как и в Ведьмаке (хоть кто-то качал ирден, арбалеты и почти всю коричневую ветку общих навыков? 0_о).

Игровые переменные

Сегодня про то, что из себя представляют разные игровые переменные

На самом деле, все процессы, которые затягивают игрока в процессе игры – это сплошные манипуляции с переменными. И переменных этих огромное количество. Некоторые их них явно заметны игроку (хп, мана, уровни навыков и т.д.), другие же – совершенно неочевидны.

Например, внешность персонажа – это структура (набор переменных, если максимально упростить), в которой будет примерно 30 переменных. Пол, возраст, раса, тип глаз, тип носа, форма губ, цвет волос, форма волос и т.д.

Разные игровые штуки типа крафта – это тоже переменные. Например, надо нам слепить меч. По рецепту крафта нам нужен 1 слиток металла, 1 палка и 1 полоска кожи. И, скажем, нужно быть у кузницы.

Для компа это выглядит как код формата:

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

То же самое касается и разных параметров. Скажем, персонаж получил некое “благословение божеств”. Игрок просто увидит, что на него наложен эффект и краткое описание эффекта типа “вы ощущаете прилив сил”. Но для игры это не так увлекательно. Для нее получаемые игроком бафы и дебафы, хилье и урон – манипуляции над чисельными переменными типа health, maxHealth, regenHealth, mana, maxMana и т д. Если же персонаж получил, скажем, частичное сопротивление чему-либо – то игра просто допишет некоторый множитель типа:

int resistFireMult=0.03;

И на этот множитель, который игрок увидит в эффектах как “+3% к сопротивлению магии огня”, будут умножаться все повреждения (уменьшение переменной хп)

Как видите, никакой магии и ничего сложного. Но, как я уже говорил, этих переменных – просто дохерища. И у каждого объекта в игре они свои.