Реферат по теме выпускной работы
Содержание
- Введение
- 1. Описание и плюсы используемой парадигмы
- 2. Развитие RPG
- 3. Что можно считать элементами RPG
- Список источников
Введение
Любая структура состоит из определённых элементов, чаще всего давно изученных и широко используемых. Однако если чётко сформированных компонентов нет, как тогда построить такую структуру? Какие условия нужно учитывать, создавая определённую форму? На чём строятся её опорные элементы? Как выделенные элементы влияют на всю структуру? И почему каждый компонент занимает своё место?
Эти и многие другие вопросы возникают при анализе любой структуры, в нашем случае — RPG-систем. Формирование и развитие таких структур зависит от множества факторов, включая уровень развития конкретного жанра и контекст, в котором он существует. Если говорить об RPG, то важными критериями анализа становятся жанровые особенности и место RPG в игровой индустрии (геймдеве).
Развитие любого элемента происходит под влиянием множества факторов, главным из которых является время. Создание новых систем и механизмов основывается на уже имеющихся решениях и актуальных трендах. Это особенно заметно в игровой индустрии. Например, многие элементы, привычные сегодня для RPG, были разработаны и активно использовались десятилетиями ранее. Однако важно понимать не только то, что используется, но и зачем это делается.
Инновации играют ключевую роль в формировании структуры. Иногда даже небольшое изменение, вроде нового положения камеры, способно кардинально изменить восприятие жанра и задать новое направление его развитию.
Разумеется, это лишь часть вопросов, которые нужно учитывать при создании системы. Остальные аспекты будут подробно рассмотрены в самом проекте.
Структура создаётся не в вакууме — важно учитывать платформу, на которой идёт разработка. Сегодня существует множество игровых движков, каждый из которых обладает уникальными особенностями. Одни элементы легче реализовать на одном движке, другие — на другом. Различные движки предлагают свои подходы к оптимизации, и те решения, которые кажутся тривиальными в одном случае, могут быть неэффективными или даже нежелательными в другом.
Эти особенности складываются в набор правил и ограничений, которые движок берёт за основу. Такие правила называют парадигмами, и они находят применение в разных областях программирования, позволяя адаптировать подходы к выполнению конкретных задач.
Описание и плюсы используемой парадигмы
Основную популярность КОП получила благодаря движкам разработки игр. Каждый движок имеет разные преимущества, которые тяжело реализовать в обычной системе ООП из-за жесткой взаимосвязи между классами, поэтому разбиение особенностей на компоненты позволяет оптимизировать реализацию как для программиста, так и для машины.
Тем не менее, это не один из способов использования парадигмы. Стремительное развитие, сразу же откликнулась на многих видах приложений, самый большой отклик получили корпоративные приложения. В их основе лежит метод компонентов, облегчающий наращивание функционала для работы приложения, так мы можем использовать уже новые компоненты, для работы баз данных, а устаревшие компоненты, спокойно отключить от системы или же компания может использовать уже наработанные компоненты, для их адаптации в новые ветки развития приложения.
В первую очередь, актуальность темы, обеспечивается особенностями использования данного подхода, для этого коротко выделим его основные плюсы и минусы
Одним из главных преимуществ КОП, является его легкое интегрирование в систему. Это достигается за счет главного свойства компонентов – независимости [1].
Поскольку компоненты являются независимыми, то их легко можно заменить, что добавляет гибкости проекту в реализации.
Жизненный цикл компонента дополняется со временем, поскольку идея компонента в том, что он является частью модели и выполняется по необходимости.
Еще одной особенностью является взаимодействие, выполняющееся по необходимости. То есть, даже если объекты схожи, они могут выполнять разные функции, что повлияет на компоненты. При этом сами компоненты, участвующие во взаимодействии, могут и вовсе ничего не знать друг о друге, поэтому компоненты используют динамический обмен информацией при выполнении события.
Использование стандартных компонентов позволяет упростить обучение и поддержку системы, а также снизить порог вхождения новым разработчикам в проект.
Говоря о минусах, сразу же всплывает сложность адаптации КОП под уже готовую систему. Данный подход, может требовать большое количество времени на разработку, так как каждый компонент необходимо настраивать отдельно, что является сложностью не только для изменения парадигмы при создании продукта, так и уже для готовых продуктов. Чем больше проект, тем больше сложностей возникает, ведь проект становиться очень громоздкий и требует щепетильного отношения со стороны проектировщика.
Как и любой другой код, компоненты требуют тщательного отношения к проектированию и оптимизации [2]. В случае с компонентами даже один неоптимизированный компонент способен очень сильно нагружать систему.
Использование большого количества компонентов, затрудняет понимание системы в целом. Данный подход требует куда больше затраты времени на проектирование и обдумывания взаимодействий между компонентами, тем самым делая их универсальными.
Хоть и компоненты являются основной силой КОП, они также являются и её слабостью. При разработке создание сложных компонентов откликается на стоимости продукта, даже если студия или компания ранее занимались развитием этого взаимодействия. Поскольку КОП не очень распространен, цены на отдельные компоненты в условиях рынка отражают эту нераспространённость.
Благодаря своим особенностям перспективы подхода огромны, они могут быть нацелены почти на любую область в сфере программирования [2]. К примеру, область безопасности. Разделение системы позволяет сделать более управляемые компоненты, которые используются многократно. Это уже позитивно влияет на защищенность системы. Своим подходом к эксплуатации системы КОП позволяет очень конкретно настраивать способы взаимодействия внутри системы, снижая вероятность проникновения злоумышленников.
Самой перспективной частью КОП, является его развитие. Многие игровые движки стараются внести свой вклад, дополнив и развив данный подход. Так некоторые понятия могут несколько раз изменяться в течение месяца, как и документация к каждому движку. Сейчас идет много споров о том, как правильно использовать подход и какие нововведения стоит оставить, а какие убрать. Так Godot engine, использует в своей реализации КОП – узлы, позволяющие делать более направленные компоненты.
Помимо развития способов использования КОП, внутри парадигмы развивается огромное количество новых и адаптирования старых паттернов проектирования.
Компонентно-ориентированный подход имеет еще массу перспективных направлений, которые развиваются каждый день, тем самым создавая новые способы взаимодействия, управления и другие способы взаимодействия объектов [2].
Выбор был сделан именно в сторону этого подхода, поскольку он максимально эффективно позволяет реализовать систему взаимодействий, между разного рода способностями и взаимодействиями, зависящими от внутренних компонентов созданного объекта. Грубо говоря, объединяя кирпичик за кирпичиком с целью создания плотной структуры, где каждый способ взаимодействия можно заменить на схожий и стена не развалиться.
Развитие RPG
В наше время компьютерные игры, позволяют окунуться в атмосферу или какие-то детали, которые привлекают человека. Компьютерные игры развивались, уже долгое время, начиная от игр с консолей, таких как Magnavox Odyssey, где игры были по большей части являлись очень простыми спортивными симуляторами, и заканчивая современными наполненными разнообразием и направлениями игры, такие как Baldur’s Gates 3, HellDivers 2, Resident Evil 4 Remake и тд. При том, из-за современных возможностей, конкурентности рынка и массы других причин, современные игры более разнообразные в плане геймплея и разделяются на массу направлений на любой вкус и цвет. Но так было не всегда и большой вклад в историю развития игр, внесли настольно ролевые игры.
В 1974 году выходит первое издание “Dungeon and Dragons”. Придумали её Гэри Гайгэкс и Дэйв Арнесон. Можно сказать, что это была первая ролевая игра, фактически выросшая из настольных игр. Тогда в игре было всего 3-и класса: Боец, Заклинатель и Жрец. Каждый из классов выполнял конкретные функции, которые ассоциировались с названием. Цель игры была пройти путь от неизвестного странника, желающего найти себя, в могущественного лидера, способного вести армии и быть важной частью определенной среды.
В эти же года выходит первая RPG игра на PLATO (Programmed Logic for Automatic Teaching Operations) от Расти Резерфордом. Игра называлась “The Dungeon” – это текстовая игра, сосредоточена на исследовании подземелий, поиске сокровищ и борьбе с монстрами. Данная игра стала первым представителем RPG игр на консолях, дав начало развитию жанра. Она по большей мере строилась именно на системе DnD 1 редакции, о которой пойдет речь далее.

Рисунок 1 – скрин из игры “The Dungeon”
В это время совсем не было подобных игр, поэтому для создания хоть какой-то системы, брались механики, уже реализованы в настольных играх, поэтому бросков кубиков было очень много, и они были разнообразны. По большей части это привлекало людей играющих в настольные игры тех времен, ведь они были сложные и необычные, строящиеся на массе правил и расчетов, тем не менее инструментов для создания игры было очень мало, а большей часть игр проходило в воображении игроков [3]. В будущем подобные игры попытались сместить свой фокус на другие аспекты игры, чтобы привлечь больше аудитории. Тем самым следующая редакция DnD больший акцент отдала на создание персонажей и механикам связанных именно с героями, по большей части все складывалось в то, что персонажи игроков отправлялись в места, где было полно “вражеских” НПС.
В будущем игры развивались, как и любая другая популярная сфера и стали появляться вещи, которые отделяли многие RPG друг от друга. В сфере НРИ(настольно ролевых игр), до 1991 года, в основном было два направление, первое это наследие варгеймов(игры имитирующие военные конфликты) в этих играх главным, было стратегическое мышление и использование своих ресурсов, для реализации поставленных целей. Второе направление — это детективные игры, направленные на поиск улик, на крайне эффективное использование навыков персонажа и в целом, акцент больше направлен именно на взаимодействие одного персонажа с миром со многими [6]. В 1991 выходит ролевая игра Vampire the Masquerade, где акцент начинает смещаться в сторону драматичности, появляется возможность играть в тайные общества, используется современный мир с теориями заговоров, что якобы существует какая-то сила управляющая миром, тем самым сместив акцент в первую очередь с персонажей на драматичность событий, которые происходят с персонажами, теперь они первые. Помимо этого, НРИ начинают влиять и на другие вещи в медийной сфере, такие как литература и кино преобразуя образ вампира.
Такую же параллель можно провести и с RPG [4]. При своем появлении многие RPG были наполнены огромным количеством текста и в первую очередь на прохождение “данжа” прокачивая характеристики и находя сокровища [4].
Можно сказать, что с 1980 начинается бум RPG игр, выходят первые игры серий, существующих до сих пор, таких как The Elder Scrolls, Ultima. Эти игры отличались своей сложность и нетипичными игровыми возможностями. Рассмотрим подробнее на примере игры “The Elder Scrolls: Arena”. В инструкции к игре была тонна текста о возможностях, механиках и чего и как можно делать в игре, что отпугнет современного игрока. Трудности в игре возникали с самого начала, многие не могли выйти с первой локации, что вызывало, по большей части интерес к игре. Возможности консолей и компьютеров были очень ограничены, поэтому большая часть игр не имела сохранений, что очень усложняло любую игру. Поэтому многие журналы публиковали гайды о прохождениях, особенности игры и секреты, скрытые внутри игры, такие журналы как правило переходили по многим рукам, помогая проходить непонятные моменты. И все же, игра похожа на своего предшественника “The Dungeon”, но более технологичная и способная реализовать то, что не давалось её предшественнику, а именно систему передвижения в реальном времени и использование полноценной графики. Изображение игры, можно посмотреть на рисунке 1.

Рисунок 2 - Скриншот из игры “The Elder Scrolls: Arena”
В это же время выходит игра “Diablo”, которое буквально создаст подвид RPG игр, а именно action RPG. Диабло, объединяет игры типа huck-and-slash, направленные на уничтожение огромного количества врагов и RPG. Теперь геймплей будет зависеть от текущих способностей персонажа его прокачки и наличии определенных артефактов. Весь геймплей состоит по большей части из уничтожения армий врагов и иногда сильных боссов. Уничтожения противников позволяет, получать опыт или артефакты, которые влияют на возможности персонажа. Атаки персонажа будут зависеть от выбранного класса и стиля игры за данный класс. Казалось бы, не самые сложные аспекты, но в совокупности они дают очень комплексный геймплей, которые используют и по сей день. Основной особенностью игры, является проверка текущих навыков, но не в привычном понимании, теперь если у персонажа не хватает урона, он будет бить противников очень долго, что делает геймплей скучным, а если у него не хватает способностей к выживанию, игрок будет умирать от каждой армии противника.
Игры подобного жанра пользуются популярностью и сейчас, в основном рынок заняла игра “Path Of Exile”, но также появляются конкуренты, которые пользуются большой популярностью, например “Last Epoch”. Но и сама серия Диабло не исчезла, последняя часть не пользуется популярность, но из-за некоторых особенностей, вторая часть стала действительно легендарной, до того, что по ней и в наше время появляются турнир.
Примерно с Диабло выходит и первая игра, серии игр Final Fantasy. Цель игры базировалась в поиске других персонажей с необходимыми тебе способностями, а после эффективным образом использовать их в нужный тебе момент, так же можно было использовать предметы, что делало геймплей глубоким.

Рисунок 3 - Скриншот из игры “Diablo 2”
По большей части игра состояла из исследований местности и использования разнообразного окружения, сами же бои происходили в пошаговом режиме, сначала ход игрока, после противника, при том у каждого персонажа были отдельные шкалы хп, маны, а в будущем и выносливости, важным фактором так же является, то, что в команде могло быть всего 4-е персонажа [6]. Это заставляло балансировать команду и придумывать комбинации, позволяющие закрыть слабые места всех членов команды. Этот жанр по большей части эксплуатировала Японская индустрия, из-за чего жанр был назван JRPG. Современные представители, все так же используют эту систему, но разбавляя их дополнительным геймплеем. Так в “Persona 5”, помимо зачистки подземелий, игра постоянно подкидывает разные возможности для взаимодействия с миром, будь то развитие персонажа, через учебу или упражнения, покупка дополнительных предметов в магазинах или взаимодействие с людьми, при том отделяя мир, где будут происходить сражения и реальный мир, где работают другие правила и взаимодействия.

Рисунок 4 -скриншот из игры “Final Fantasy 1”
Компьютерные игры шли по разным векторам развития, но чем больше развивается индустрия, тем больше она пытается получить аудитории сделав продукт более массовым, по большей степени такое же коснулось и настольно ролевых игр. По большей части он разбились на поджанры, которые больше всего подходят для рассказа конкретной истории. Так, например игра “Dune”, использует систему 2d20. Эта система разделяет характеристики на два показателя: физический (не посредственно тот, которым будет использоваться действие) и убеждение (то ради чего персонаж что-то делает). У этих показателей есть еще характеристики, как например у физических это бой, коммуникации, дисциплина, передвижение, понимание. Важным аспектом этого НРИ является то, что все параметры даются очень абстрактно и могут трактоваться по-разному, это делается для того, чтобы точно понимать, чего хочет и как к чему относиться конкретно персонаж, что поможет мастеру подготовить ситуации ставящие перед персонажем разные выборы, влияющие на его убеждения и поведение. Это система очень подходит для новичков, так как не требует многих знаниях о конкретной системе и запоминание о многих игровых элементах, что позволяет сконцентрироваться на текущем сюжете и персонажах. В свою же очередь подобные НРИ привлекают именно вселенной в которой они находятся, вот почему данная НРИ несет имя популярной вселенной Фрэнка Герберта.
В противовес подобным НРИ существуют, другие, заточенные на сочетании способностей и разноплановой боевой системы, такие как ShadowRun 5e. Данная игра специализируется на том, чтобы многие механики сочетались друг с другом. Так помимо обычного мира, действия еще могут происходит в матрице и астрале. Матрица – это интернет пространство, которое преобразилось за 100 лет существования магии и технологического прогресса, теперь техномант, те кто могут буквально путешествовать по матрице, оставляя там свои “спрайт”, так и ломать чужие системы защиты или просто находиться рядом, при том все сети разделены на локальные, у которых есть главный админ – бог и управляющие админы, имеющие ограниченные права. Астрал – это магическое пространство, по которой может путешествовать душа в отдельности от тела, помимо этого пространство в астрале невероятно, человек практически не может адекватно воспринимать то что там происходит, поэтому местные маги учатся контролировать свое внимание так, чтобы всматриваться только в нужные компоненты. За все способы взаимодействия в игре отвечают характеристики, но и помимо них, в книгах описаны, как способности и особенности магии, так и использование матричных способностей, и даже это далеко не все, что можно описывать в игре. В этом и особенность, данная игра полна описаний и механик, которые встречаются на каждом шагу, они направлены на помощь игроку в том, чтобы четко понимать вектор способностей, что по большей части перегружает игру и делает её очень сложной, но честной.
Что можно считать элементами RPG
Этот вопрос очень сложен. Развитие жанров, сделало так, что элементы RPG, могут встречаться в абсолютно любой игре, но остается важный вопрос, зачем добавлять элементы RPG и как они влияют на саму игру.
Здесь можно провести параллель с программированием и существующими парадигмами [10]. Когда-то программирование зарождалось с КОП подхода, но после, появились более общие подходы, решавшие возникшие текущие проблемы. При том новые подходы, такие как ООП, брали некоторые черты КОП и улучшали их, под текущие реалии, находя эффективные решение задач, которые показывали себя еще и намного удобнее, чем предоставляла им прошлая парадигма. Тем не менее, время шло, а развитие концепций не стояло на месте, теперь прошлые парадигмы рассматриваются под обличием современности. Современные задачи во многом отличаются от тех, что были 20 и более лет назад. Взгляд на текущие методы решения проблем, позволяет понять, что не стоит зацикливаться на чем-то одном [12]. Решение требует эффективного использование необходимых функций. То есть, если решать все задачи одной парадигмой, это концепция покажет свою неэффективность. Для достижение максимальной простоты и надежности парадигм, стоит использовать их там, где им самое место. Для этого необходимо понимать сильные стороны парадигмы, а также слабые места.
Тоже работает в сторону RPG, если понять и выделить основные элементы, на которых держится жанр, можно понять, как эти элементы могут влиять на другие игры.
Основная отличительная часть RPG, это абстрактное выделение характеристик. Они присутствуют, как и в прародителе RPG, так и в самих играх. Учитывая, что прошлые игры были просмотрены, можно сделать вывод, что чем более направленны характеристики, тем лучше. К примеру, в играх типа ARPG, по большей части не нужны социальные характеристики. Ведь они будут забирать на себя внимание игрока, от того зачем он пришел в эту игру, то есть бить орды противников. Помимо этого, теперь у игрока появляется еще один трекер, за которым нужно следить, о котором нужно помнить и развивать. Еще одна проблема с внедрением социальных характеристик в игры типа ARPG, заключается в сложности их реализации. Банально не понятно, где данная характеристика может пригодиться.
Важным так же является не сам элемент, а то, для чего он предназначен. Абстрактные характеристики можно использовать, во-первых, для показания текущего состояние персонажа, а во-вторых, для понимания, насколько далеко персонаж продвинулся. Чувство развитие, является одним из важнейших элементов RPG, так как позволяют распознать прогрессию вовремя игры. В свою очередь, это откликается на возможностях, чем дальше персонаж, тем больше у него появилось возможностей, они могут быть связаны, как с победой над более сильными монстрами, так и с какими-то взаимодействиями, возможно к этому еще добавляются перки или особые способности, которые можно получить на определенном уровне персонажа или на определенном уровне навыков. Все это в купе может вызвать как сложность и условное дерево возможностей, при котором разделяя возможности, можно получить необходимый минимальный уровень навыка, позволяющий сделать определенное действие, так и балансировать игру, не позволяя игроку получить все варианты за одно прохождение.
Таким образом, используя этот элемент или инструмент, можно балансировать сложность и оценивать возможности игрока, подкидывая ему подходящие испытания, возможности для определения сложности и необходимых минимальных элементов прохождения локации [13]. Так же можно сознательно сделать виды выборов, которые игрок может пройти только с определенной прокачкой. Этот инструмент так же может хорошо показать развитие персонажа, при том не всегда необходимо использовать все его особенности, достаточно будет взять дерево выбора. Еще один способ использования данного инструмента – контроль игрока. Используя ограничения, можно не позволять игроку получить той или иной предмет, который в совокупности с “не прокачанными” способностями, позволял стать намного сильнее или же наоборот, позволить игроку стать намного сильнее, чтобы пройти следующий акт, а после забрать его особенность.
Список источников
- Фаулер M. Шаблоны корпоративных приложений / Мартин Фаулер. – М.: Вильямс, 2013. – 560 с.
- Ларман К. Применение UML и шаблонов проектирования / Крэйг Ларман. – М.: Вильямс, 2010. – 736 с.
- Адамс Э. Механика игр: Разработка современных игровых систем / Эрнест Адамс. – СПб.: Питер, 2016. – 432 с.
- Роллингс Э. О дизайне игр / Эндрю Роллингс, Эрнест Адамс. – М.: Диалектика, 2006. – 416 с.
- Bach J. The Component Revolution / Johnatan Bach. – London: Addison-Wesley, 2003. – 400 с.
- Петерсон Д. Введение в разработку игр / Джеймс Петерсон. – М.: Эксмо, 2018. – 512 с.
- Александр К. Вневременная архитектура: Принципы проектирования / Кристофер Александер. – М.: Гильдия дизайнеров, 2005. – 252 с.
- Шелл Д. Искусство гейм-дизайна: Книга линз / Джесси Шелл. – М.: Питер, 2020. – 608 с.
- Нистром Р. Шаблоны программирования игр / Роберт Нистром. – М.: Питер, 2015. – 496 с.
- Хокинг Д. Unity в действии: разработка игр на C# с использованием Unity Engine / Джоэл Хокинг. – М.: Вильямс, 2020. – 416 с..
- МакШаффри М. Полное руководство по разработке игр / Майк МакШаффри. – М.: Диалектика, 2016. – 672 с.
- Гамма Э. Шаблоны проектирования: Приемы объектно-ориентированного проектирования / Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. – СПб.: Питер, 2021. – 368 с.
- Браун К. Повышение уровня: Руководство по созданию отличного дизайна видеоигр / Крис Браун. – М.: Питер, 2019. – 528 с.