Разработка прототипа компьютерной игры жанра Roguelike
История появления жанра roguelike. Применение текстового редактора Google Docs и графического редактора Draw.io. Среда разработки Visual Studio. Описание общего алгоритма игры. Генерация случайных локаций. Основное назначение пользовательского интерфейса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.08.2018 |
Размер файла | 4,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное агентство связи
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Поволжский государственный университет телекоммуникаций и информатики»
Факультет Заочного обучения
Кафедра Информатики и вычислительной техники
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Разработка прототипа компьютерной игры жанра Roguelike
Разработал
А.С. Литвенцов
Самара 2017
Введение
Несмотря на то, что roguelike является весьма консервативным жанром и зачастую сложно отличить свежевыпущенную игру от классики 90-ых годов, интерес к жанру не уменьшается. Сообщества фанатов как конкретных игр, так и roguelike в целом растут и развиваются, к играм регулярно выходят обновления, проводятся турниры и различные ежегодные события, например, 7DRL - конкурс по написанию roguelike с нуля за 7 дней, через пол года обычно проходит ARRP (The Annual Roguelike Release Party) к которому многие авторы приурочивают релиз новых версий своих творений. А на сайте ASCII dreams каждый декабрь проходит голосование на звание лучшей roguelike года.
Актуальность данной темы также подтверждает и то, что в крупнейшей платформе цифровой дистрибуции игр Steam по тегу Roguelike находится более 350 игр, из которых около 75% имеют положительную или крайне положительную оценку игроков, что также подтверждает востребованность roguelike как жанра в целом, так и отдельных его представителей.
Целью данной работы является создание прототипа игры в указанном жанре.
Задачи, которые решаются в рамках выпускной квалификационной работы (ВКР) следующие:
1. Исследовать часть комплексного процесса “разработка игры в жанре roguelike”.
2. Спецификой жанра является относительно простая реализация основных игровых механик, и огромное количество контента, наполнение которым зачастую может занимать больше десятка лет, поэтому в данной работе мы ограничимся подробным описанием желаемого (конечного) результата, а также написанием рабочего прототипа, на базе которого будут реализовываться новые возможности, а также будет происходить наполнение контента в дальнейшем. В будущем на базе прототипа планируется разработать и реализовать полноценную игру жанра roguelike.
Объектом исследования являются игры жанра roguelike, а предметом исследования - алгоритмы, классовая структура, схемы локаций и так далее для разработки прототипа игры жанра roguelike.
Выпускная квалификационная работа (ВКР) содержит три главы, введение и заключение.
При работе были использованы источники литературы по программированию на языке C#, материалы по описанию особенностей игр жанра roguelike.
При написании текста ВКР использовался текстовый редактор, доступном в сети интернет - Google Docs, для построения блок-схемы алгоритма и оформлении других схем - графический редактор Draw.io.
1. Описание объекта исследования
Roguelike (/ro??la?k/; буквально «Rogue-подобные» (игры), сленг «рогалик») -- жанр компьютерных игр. Характерными особенностями классического roguelike являются генерируемые случайным образом уровни, пошаговость, и необратимость смерти персонажа -- в случае его гибели игрок не может загрузить игру и должен начать её заново. Многие roguelike выполнены в декорациях эпического фэнтези под сильным влиянием настольных ролевых игр наподобие Dungeons & Dragons.
С 2000-х годов начали появляться игры, имеющие основные принципы roguelike, но включающие в себя элементы игр других жанров. Их иногда классифицируют как roguelike-like («Rogue-подобно-подобные») и roguelite («слегка rogue»).
Rogue [?ro??] -- компьютерная игра, написанная в 1980 году. Её основной темой является исследование подземелий. Она была необычайно популярной на университетских Unix-системах в начале 1980-х годов и породила целый жанр, известный как «Rogue-подобные игры» (т. н. «Рогалики»)
В Rogue игрок выполняет типичную для ранних фэнтезийных ролевых игр роль искателя приключений [1]. Игра начинается на самом верхнем ярусе не нанесённого на карту подземелья с большим количеством монстров и сокровищ. Цель в том, чтобы пробиться на самый нижний ярус, получить Амулет Йендора, а затем подняться обратно на поверхность. Постепенно, по мере продвижения вглубь лабиринта, возрастает сила монстров и продвижение усложняется, а не получив амулета игрок не может возвращаться на предыдущие уровни.
Всякий ярус подземелья состоит из сетки 3 на 3 комнаты или тупикового коридора, в конце которого можно было бы ожидать комнату. Более поздние варианты также включают вместе с комнатами «лабиринты». В отличие от большинства приключенческих игр того времени, расположение подземелья и расположение объектов в нём генерировалось случайным образом. Таким образом, каждое прохождение игры становилось уникальным и в равной степени рискованным как для новичков, так и для опытных игроков.
Большой выбор магических зелий, свитков, волшебных жезлов, оружия, брони и еды приводит к появлению множества способов победить и к ещё большему числу способов погибнуть. Увеличение жизненного потенциала игрового персонажа всегда является сложной задачей [2, 3].
И хотя графика игры по сегодняшним меркам более чем архаична, стратегия, которая требуется для игры и победы, не менее сложна, чем та, что требуется в современных играх (Рис.1.1).
Рис. 1.1 - Снимок экрана игры Rogue, основоположника жанра.
1.1 История появления жанра roguelike
Жанр назван по имени прародителя -- игры Rogue, разработанной для системы UNIX в 1980 году, хотя вышедшие ранее игры Beneath Apple Manor и Sword of Fargoal также относят к жанру roguelike. В 1980-х и 1990-х годах roguelike приобрели огромную популярность среди программистов и студентов американских университетов, что привело к появлению большого количества подражаний и ответвлений, сохраняющих, однако, характерные особенности игр-предшественниц. К числу наиболее известных roguelike принадлежат Hack, NetHack, Ancient Domains of Mystery, Moria, Angband и Tales of Maj'Eyal, а также японская серия коммерческих игр Mystery Dungeon.
Игровая система обычно является адаптацией систем, используемых в настольных ролевых играх, таких как Dungeons&Dragons или GURPS. Карты, как правило, генерируются случайным образом при каждом новом запуске игры. Большинство игр (кроме многопользовательских) являются пошаговыми, без ограничения времени.
Для изображения игровых объектов в традиционных roguelike-играх используются символы ASCII. Так, персонаж обычно обозначается символом @, монстры (обычно враждебные) -- буквами алфавита, деньги -- символом $, еда -- символом % и т. д. Некоторые игры используют вместо ASCII-символов картинки фиксированного размера (тайлы). Действия персонажа управляются с клавиатуры в стиле, немного напоминающем редактор vi. Большинство команд вызываются нажатием одной-двух клавиш, например, r (read), чтобы прочитать свиток или книгу, e (eat), чтобы что-нибудь съесть и т. п.
1.2 Особенности жанра roguelike
Игровой процесс игр жанра roguelike в целом вдохновляется Rogue, однако отдельные игры могут значительно отличаться друг от друга. В 2008 году на конференции International Roguelike Development Conference 2008 в Берлине участники попытались определить ключевые факторы, выделяющие roguelike среди других игр; их определение известно, как “Берлинская интерпретация” (англ. Berlin interpretation). Со временем в отдельных сообществах фанатов roguelike были сформулированы свои определения жанра, хотя даже они не могут целиком охватить все многообразие roguelike игр. Наиболее популярными определениями принято считать “Факторы Rogue - Сходства” (roguelikeness factors) сообщества Rogue Temple [1], а также статью “Что такое Roguelike” (what a Roguelike is) сообщества Rogue Basin [2]
1.3 “Берлинская интерпретация” (Berlin interpretation)
Берлинская интерпретация выделила ряд ключевых факторов, позволяющие определить игру как roguelike [4]:
? Игра должна быть пошаговой, каждая команда должна соответствовать одному действию и одному ходу;
? Игровые уровни должны генерироваться случайным образом, будучи уникальными для каждого прохождения;
? Игра должна содержать «смерть навсегда» (англ. permadeath), не позволяя игроку продолжить прохождение после гибели персонажа;
? Игра должна иметь единый режим и единый набор команд для всех игровых ситуаций, не допуская каких-либо дополнительных меню, головоломок или мини-игр;
? Игра должна предоставлять игроку не какой-то единый линейный путь, но свободу со множеством вариантов прохождения;
? Игрок должен самостоятельно исследовать найденные предметы и открывать их свойства.
С момента публикации Берлинская интерпретация подвергалась критике: предлагаемые правила были настолько жесткими, что им не вполне соответствовали даже некоторые классические roguelike, как Angband с её отдельными меню для магазинов.
1.4 “Факторы Rogue-Сходства” (roguelikeness factors)
На сайте Rogue Temple [1] есть статья «Roguelike Definition», где коротко описаны принципы, которым должен или может соответствовать roguelike:
Исключительно важные факторы
? Случайная генерация игрового окружения. (Random Environment Generation)
Игровой мир и его содержимое должен каждый раз создаваться заново случайным образом. Случайным образом в roguelike генерируется практически все -- от лабиринтов, до названий свитков (то есть, чтобы узнать, что за вещь ты подобрал, иногда есть только один выход -- использовать её, что чревато непредсказуемыми последствиями). Таким образом, каждая игра становится уникальной, и roguelike можно проходить бессчётное количество раз, по-прежнему получая удовольствие от процесса.
? Возможность сделать фатальную ошибку (включая возможность окончательной гибели персонажа).
Игрок должен платить за свои ошибки и сделанный выбор, иногда даже и ценой жизни. Восстановление сохранённой игры не делает вам чести и может применяться только в случае, если игра закрылась в результате ошибки.
Записаться можно только при выходе из игры, чтобы потом продолжить её с того же места. Таким образом, любая ошибка может стать непоправимой, а смерть -- окончательна.
? Пошаговость.
Всё происходящее в игровом мире происходит в порядке бесконечного цикла, разделённого на отдельные ходы для каждого действия.
Ввиду того, что сохранения отсутствуют, возможности персонажа ограничены, а ошибки чреваты быстрой смертью, единственная возможность выжить -- это тщательно обдумывать каждое свое действие.
? Все игровые команды (управление или действия) должны быть доступны в любой момент игры.
Не должно быть никаких искусственных ограничений в отдельных ситуациях. Например, игрок может лечь спать прямо посреди боя, что скорее всего приведет к неминуемой смерти при обычном стечении обстоятельств, однако в специфических условиях может быть полезным (например, игрок оказался под воздействием проклятья, телепортирующего его в случайном направлении при попытке заснуть)
? Свобода.
В игре не должно быть строго определённого создателем линейного пути прохождения. Игрок сам выбирает, что ему делать, как и когда.
? Самостоятельное исследование окружающего мира.
Игрок должен самостоятельно изучить природу предметов, а также механизм их использования.
Факторы средней важности
? Игрок -- одиночка.
Игрок управляет только одним персонажем.
? Огромное количество контента.
В игре должно быть достаточное количество монстров, предметов, мест для посещения и т.д. чтобы приключения не нагоняли на игрока скуку. Считается, что более 24 видов монстров и типов экипировки уже хороший признак, учитывая, что характеристики отдельных объектов могут разниться в довольно большом диапазоне.
? Сложная и труднопредсказуемая система взаимодействия мира с предметами.
Предметы, в идеале большую их часть, можно использовать самым удивительным способом, явно не вытекающим из их природы.
Классический пример - рычаг, замаскированный под настенный факел, замки требующие драгоценные камни вместо ключей и т.д.
Наименее важные факторы
? Высокий уровень сложности.
Игра усложняется очень быстро. Крайне маловероятно, что игрок незнакомый с конкретной игрой сможет самостоятельно ее пройти, не освоив всех тонкостей, что обычно занимает десятки, а то и сотни попыток.
? Монстры и игрок играют по тем же правилам.
Природа монстров соответствует природе игрока, они могут носить вещи, оружие, имеют такую же систему статистик, как и игрок, а также подчиняются тем же правилам.
Если пойти от противного, то игровой персонаж -- это монстр, у которого прописано, что он управляется человеком и по этой причине игнорируется во время обработки ИИ (Искусственный интеллект), в остальном всё как у прочих существ.
? Псевдографика. (ASCII)
Игрок взаимодействует с игровым миром посредством псевдографического интерфейса.
Зачастую как компромисс между атмосферой roguelike и современностью технологий игра может быть выполнена в псевдо-псевдографике. То есть, игра выглядит как классический ASCII roguelike, но является «графической», что открывает интересные возможности.
? Hack and Slash.
Игровой процесс основан на убийстве враждебных существ, что позволяет персонажу стать опытнее, а также собрать богатства для покупки более качественной экипировки и убийства более сильных существ. В конечном итоге цикл повторяется до смерти игрока или прохождения им финального испытания (зачастую босса - самого сильного и возможных оппонентов)
? Таблица рекордов
Редко какой игрок доходит до победного экрана, а прохождение некоторых roguelike может занять несколько лет. Таблица рекордов (в последнее время даже и сетевая) даёт стимул играть тем, кто совсем не намерен проходить игру.
1.5 “Что такое Roguelike” (what a Roguelike is)
Сообщество Rogue Basin [2] дает свой список критериев, по которым можно определить принадлежность игры к жанру roguelike, однако сразу уточняется, что даже в наиболее известных представителях не все пункты могут встречаться в полной мере.
Основные общие черты roguelike
? Пользовательский интерфейс: отличительной чертой roguelike изначально стало отображение разделенного на тайлы мира посредством буквенных символов (ASCII)
? Игровой мир: наиболее общая особенность игр roguelike - случайная генерация мира. Обычно в играх жанра практически отсутствует сюжет, вместо этого акцент делается на создание уникальных игровых ситуаций
? Игровой процесс: чаще всего встречается пошаговая зачистка подземелий, наполненных чудовищами и сокровищами.
Пользовательский интерфейс
? Отображение в виде символов ASCII: игры не используют графические тайлы или 3д модели, вместо этого используется вид сверху на разделенную по клеткам область, где каждый символ обозначает отдельную сущность. Например, игровой персонаж обычно отображается символом @, дракон (Dragon) символом D, а собака (Dog) символом d.
? Описанные действия: короткие текстовые описания следуют за практически каждым игровым событием: результаты использования экипировки, сражения с противником, появление новых врагов или предметов в зоне видимости - игрок всегда может остановиться и прочитать что же видит его персонаж.
? Список команд: игрок в любой момент времени имеет доступ к полному списку команд, включая те, которые ему сейчас недоступны по тем или иным причинам (например, потушить факел, не имея зажжённого факела в руках)
? Управление с клавиатуры: клавиатура - традиционный способ взаимодействия с миром в roguelike, так как она предоставляет наиболее быстрый доступ к бесчисленным командам, которые встречаются в игре. чаще всего команду назначают на первую букву соответствующего действия, например:
'q' - quaff (drink something) - выпить 'w' - wear/wield (make use of a weapon or piece of armor) - надеть 'e' - eat - съесть
Игровой мир
? Случайная генерация мира: хотя обычно и используются определенные шаблоны - большая часть игрового мира создается при помощи алгоритмов, основанных на случайном зерне (seed). Это делается в целях разнообразия игрового процесса, так как каждое прохождение становится уникальным.
? Пространственная согласованность (Spatial consistency): все действия происходят в определенном пространстве. Игра не должна прерываться на различные мини-игры или телепортировать игрока в специальную площадку для проведения сражений (если это не обусловлено сюжетом)
? Незначительно влияние сюжета: Запутанный сюжет с неожиданными развязками очень плохо вписывается в концепцию roguelike, где акцент идет на уникальность каждой игровой сессии, поэтому зачастую сюжет и вовсе ограничивается фрагментом текста перед началом игры и после ее окончания. Иногда игрок может находить небольшие заметки, позволяющие составить общую картину мира.
? Взаимодействия с миром: Все (или почти все) что видит игрок можно использовать. Например, в описании клетки есть камень - его можно подобрать, бросить во врага, проверить им нажимную плиту, заблокировать дверь и т.д.
? Сеттинг: наиболее распространенный в жанре сеттинг - героическое фэнтези, где главный герой прорывается сквозь подземелье через бесчисленные опасности. Чаще всего мир содержит различные источники магии для увеличения возможных событий (более опасные враги, зачарованное оружие, больше возможностей игрового персонажа). Однако встречаются и исключения, где повествование ведется, например, о сражениях в далеком космосе или мирах, переживших ядерный апокалипсис.
Игровой процесс
? Передвижение по клеткам: все объекты, монстры, игрок, местность, особенности подземелья - в один момент времени находятся на одной клетке. Изначально это было техническим ограничением, однако со временем переросло в традиционную особенность жанра.
? Смерть навсегда (Permadeath): как только персонаж игрока погибает - файл сохранения удаляется и игроку приходится начинать с самого начала. Это принуждает игрока к осторожному выбору тактики, делает бои с опасными врагами особенно запоминающимися, каждую смерть трагичной, а каждую победу особенно значимой.
? Свобода действий: игроку предоставляется открытый мир, и он сам решает, чем в нем заниматься, прокачкой, исследованиями, продвижением к финалу и т.д.
? Пошаговость: у игрока достаточно времени обдумать каждый свой шаг чтобы принять наиболее оптимальное решение в данной ситуации, что очень важно в условиях повышенной цены ошибки.
? Зачистка подземелий (Dungeon hack): основная цель игры - убийство монстров, чтобы сделать персонажа игрока сильнее, чтобы тот мог убивать более сильных монстров и так повторяется по кругу
? Тактическая игра одним персонажем: игрок сосредоточен на аккуратном и максимально безопасном управлении одним персонажем, в отличии от шутеров где вознаграждаются рефлексы, и агрессивные действия, а не продуманные шаги, или стратегий, где зачастую юниты жертвуются ради улучшения общей ситуации.
Вышеприведенные правила совсем не являются догмой -- roguelike, в зависимости от либеральности настроя конкретного геймера, можно считать и Transcendence -- полностью графический космический полет в реальном времени (зато со случайно генерирующейся вселенной, которую можно исследовать), и даже Диабло или Майнкрафт. Впрочем, «считать ли конкретную игру roguelike» -- одна из самых популярных разновидностей споров в среде фанатов. Также регулярно отдельные особенности roguelike то и дело проявляются и в других жанрах.
1.6 Примеры наиболее успешных игр roguelike
Классика roguelike
Лучшие представители жанра, проверенные временем [4].
? Rogue -- основа основ. В настоящий момент несколько «устарел», насколько такое понятие вообще подходит для roguelike и своё первое знакомство с миром roguelike стоит начинать с чем-то посвежее, вроде Dungeon Crawl: Stone Soup или ADOM. Потом, всегда можно ознакомиться с основами.
? ADOM -- Ancient Domains of Mystery один из наиболее популярных последователей Rogue
? NetHack и клоны: SLASH'EM, UnNetHack, SporkHack -- варианты NetHack с реализованными дополнительными монстрами/классами/и прочим контентом. Пожалуй, один из самый популярных roguelike -- имеет огромное количество портированных версий, вебкомикс и песню по мотивам, а также громадная проработанность игрового мира -- чуть менее, чем для любых, даже самых нелогичных поступков в игре прописан свой кусок кода. От других рогаликов отличается сильно проработанной пазловой составляющей -- основную долю своих похождений игрок не рубит монстров направо и налево, а проводит хитрые манипуляции с вещами в инвентаре, передвигает хитро расставленные булыжники по комнатам, а также пытается всеми доступными образами собрать всё, что плохо лежит, и использовать это против местного бестиария.
? Dungeon Crawl: Stone Soup. Возведенная в абсолют идея путешествия по подземелью. Играть можно как локально, так и онлайн (что исключает возможность восстановления резервных сохранений после смерти). Раз в год проводятся турниры, регулярно выходят обновления. В наличии симпатичная тайловая версия, можно даже играть прямо в браузере. Огромное количество комбинаций вида и класса, а также продвинутая система религии.
? Angband и клоны: ZAngband, ToME и Sil. Самый старый roguelike в активной разработке, скоро обещают выпустить v4. Нехватка возможностей компенсируется количеством контента -- тысячи монстров и разных артефактов. Несмотря на минимальное влияние случайности и целого уровня-города, на который легко вернутся и купить новую экипировку, зелья и свитки, игра достаточно сложна, чтобы убить игрока в самом начале игры. На фанатском сайте есть не только комиксы и подборка смешных скриншотов, но ещё и целые ASCII-фильмы.
? IVAN (Iter Vehemens ad Necem) -- roguelike с оригинальной реализацией и обилием возможностей: присутствует очень неплохая графическая составляющая (включая даже погоду и носимые героем доспехи) и возможность по аналогии с Dwarf Fortress потерять любую конечность со сказывающимся позже результатом. Также справедливо считается одной из самых сложных игр в жанре -- невозможность вернуть отрубленную конечность на ранних стадиях вкупе с обилием врагов, а также огромное количество глупых смертей (как пример, буквально потерять голову в попытке выбраться из паутины или получить разряд тока прямо от своего заряженного магией оружия) делают своё дело. В этом же и один из основных источников популярности игры -- как и в Dwarf Fortress, здесь очень весело наблюдать за самыми нелепыми смертями главного героя.
? Dwarf Fortress - Спор на тему “Является ли Dwarf Fortress рогаликом” так же стар, как и спор по поводу Диабло. Но с DF стоит ознакомиться, хотя бы в образовательных целях.
? ToME4 - roguelike нового поколения, продвинутые графические эффекты, десятки классов и игровых рас, уникальная система характеристик, талантов и способностей, развитый сюжет неоднократный победитель конкурса «лучший рогалик года», толпы фанатов и игроков, 95% положительных отзывов в стиме.
Хорошие roguelike
? Moriа - один из ранних rogue-клонов.
? MageGuild -- небольшой, но приятный проект. Тайловая графика, минимум сюжета и широкие возможности по комбинированию предметов.
? Prospector -- очень оригинальный roguelike про путешествия в космосе.
? GearHead 1 и 2 -- схватки на огромных боевых роботах
? Caves of Qud -- постапокалипсис с мутантами и поиском питьевой воды.
? Moraff's Revenge, Moraff's World, Dungeons of the Unforgiven -- три roguelike 1988--1993 года. Уровней -- от 70 до 200. Враги от драконов, чертей и вампиров до червяков, ходячих мечей, мусорных баков, и пары десятков видов безумных монстров. В третьей игре даже имеется какая-то попытка сочинить предысторию. Вполне увлекательный игровой процесс даже по современным меркам.
? Cataclysm Dark Days Ahead -- постапокалиптичекая мешанина сеттингов: зомби, триффиды, мутации, импланты, выживание в экстремальных условиях
? TomeNET или Tales of Middle Earth Multiplayer -- единственный в своем роде мультиплеерный roguelike. Есть несколько режимов игры, но опытные игроки предпочитают permadeath. Присутствует PvP и воровство, можно стать владельцем своего поместья.
Пятиминутные roguelike, они же: сoffeebreak roguelikes.
Новичкам будет легче всего начинать как раз с кофейных рогаликов, так как они относительно легко и теоретически быстро проходятся, содержат достаточное количество особенностей, чтобы получить представление о жанре (в частности первые два), а также доброжелательны к игроку в плане интерфейса.
? Brogue -- идейное продолжение оригинального Rogue. С соблюдением традиций и минимализма. Внешне симпатичен, полон случайностей, и крайне реиграбелен.
? Doom RL -- тактический roguelike-шутер в сеттинге Doom, с музыкой, графикой и достижениями.
? Pixel Dungeon -- замечательный вариант brogue для андроида.
? Cogmind (платный) -- нестандартный roguelike про роботов, тактические бои, модульная бесклассовая ролевая система, продвинутая псевдо ASCII графика.
? POWDER -- изначально создан как альтернатива NetHack для геймбоя, а после портированный на большое количество других карманных приставок и смартфонов: очень динамичный, забавный, с красивыми тайлами.
? Castlevania: Serenade of Chaos - roguelike в сеттинге кастлвании
¦ Desktop Dungeons -- настолько минималистичен, что скорее похож на паззл. Из бесплатного проекта развился до платной версии с онлайном, продвинутой графикой и различными режимами.
¦ Enchanted cave - простой roguelike на флеше.
¦ Fatal Labyrinth - старый roguelike для сеги. из ключевых особенностей - ход игрока происходит одновременно с монстрами, а не поочередно, нужно следить за голодом.
RogueLike-like
RogueLike-like, или как их чаще называют в последнее время -- RogueLite. Всё нижеперечисленное нельзя бесспорно назвать roguelike, в силу порой значительного несоответствия канонам, хотя при этом близки к истокам и весьма хороши:
¦ Crypt of the NecroDancer -- roguelike с высокими требованиями к чувству ритма игрока. Игра остается пошаговой, игрок пропускает ход, если не успевает сделать его вовремя
¦ Transcendence -- космический полу-roguelike с аркадным управлением. Бочки с непонятным содержимым начиная с кислоты и заканчивая пастой для ремонта обшивки в наличии.
¦ Spelunky -- roguelike-платформер про археолога где большую часть времени игрок проводит за решением загадок, существует кроссплатформенный-сиквел с мультиплеером.
¦ Red Rogue и Risk of Rain -- ещё roguelike-платформеры, по игровому процессу больше похожи на слешеры. Убийство монстров происходит в режиме реального времени, хотя все еще присутствуют сокровища и процедурная генерация мира
¦ Forget-Me-Not -- процедурно генерируемый pacman.
¦ Dungeons of Dredmor -- редкий пример более-менее успешного платного «чистого» roguelike. Присутствуют кое-какой крафт, довольно специфичный юмор, например, в храмах Лютефиска или слишком несерьезной системе подклассов. (Рис 1.2).
Рис. 1.2 - Снимок экрана игры Dungeons of Dredmor.
¦ Faster Than Light -- прорываемся на космическом кораблике с разведданными через нейтральную полосу. Много микроменеджмента и случайных событий.
¦ Dungeon of the Endless -- roguelike, близкий по духу FTL. Примечателен тем, что для защиты от монстров приходится добывать ресурсы и строить башни. Также развивает вселенную, которую авторы описывают в своих играх.
¦ Convoy -- ещё один последователь FTL, путешествие по радиоактивным пустошам на боевых автомобилях и бесчисленные сражения.
¦ The Binding of Isaac -- клон классической Зельды для NES с рандомизированными уровнями, тонной контента и собственной толпой фанатов. Удачное прохождение занимает всего час, далее открываются новые локации с новыми финальными боссами и т.д.
¦ Don't Starve -- roguelike скрестили с популярным в последнее время жанром «Survival» в стилистике Тима Бертона. Примечательно, что при понижении такого показателя, как рассудок, окружающий мир становится агрессивнее.
¦ Darkest Dungeon -- roguelike, делающий упор на психологическую составляющую подопечной партии бойцов. В игре царит атмосфера смерти и безумия. Содержит много отсылок к Лавкрафту: от лого разработчика до актера, озвучивавшего рассказчика, который известен по зачитке аудиокниг автора.
¦ Sunless Sea -- мрачный roguelike с элементами выживания, скрещенный с пиратами Сида Мейера. Отличается оригинальной и хорошо прописанной вселенной и крепкой литературной основой, для понимания которой необходимо хорошее знание английского языка. Как и Darkest Dungeon, содержит отсылки к творчеству Лавкрафта и другим готическим произведениям. Притягивает системой нелинейных квестов-историй и наличием разнообразных ситуаций, где игроку предлагается сделать неоднозначный выбор, о последствиях которого он должен задумываться сам. Регулярно обновляется.
¦ Hand of Fate -- смесь настольной ролевой игры, слэшера и коллекционной карточной игры. Колоду-приключений карт можно редактировать и получить как бесконечное сражение за сокровища или ряд связанных между собой фэнтезийных историй, так и нечто среднее. Харизматичный колдун-данжеонмастер в наличии.
¦ Second Wind -- минималистичный линейный флеш-roguelike, данженкравлинг в котором сводится к кликанью по кнопке «Пройти дальше», примитивным JRPG-битвам и непосредственному принятию решений «выпить ли мне это зелье или пожить подольше?». При этом игра быстро затягивает за счёт интересного геймплея, неплохого юмора и обилия открываемого контента.
¦ DEMISE: Ascension -- вполне годный roguelike-like, обновляемый и очень-очень долгий.
¦ KeeperRL -- Симулятор Властелина сил зла в жанре roguelike.
¦ Nuclear Throne -- аркадный roguelike про мутантов.
¦ SanctuaryRPG -- Забавный roguelike с приятной ASCII-графикой.
¦ Barony -- Своего рода попытка сделать NetHack от первого лица, с кубической графикой и кооперативом на 4 человек.
¦ Eldritch - 3Д roguelike по Лавкрафту.
Roguelike на русском
¦ Барионикс -- официально заброшен. Исходники на VisualBasic в открытом доступе.
¦ NorseWorld: Ragnarok -- ремейк старого roguelike. В настоящий момент заброшен недоделанным, изобилует багами.
¦ Зачистка Хьерварда -- очень старый roguelike.
¦ WANDER -- герой приходит в деревушку и спускается в пещеру. Последняя новая версия вышла в марте 2012 г.
¦ «Сталкер» -- roguelike по мотивам «Пикника на обочине», сделанный неизвестно кем в 80-е, а может, и в 70-е годы прошлого века. Существует клон для MS-DOS. При желании можно попробовать запустить оригинал на эмуляторе УКНЦ.
¦ Медовый Рогалик -- современный roguelike на русском с графикой, сделан большим фанатом DCSS, что заметно в самой игре.
¦ Demon Tactic -- браузерный тайловый roguelike про то, как демон продвигается по местной социальной лестнице.
¦ Remixed Pixel Dungeon -- ответвление Pixel Dungeon с русской локализацией.
¦ AuroraRL -- относительно новый российский roguelike про исследование космоса.
2. Выбор инструментов для выполнения дипломной работы
Для поиска и доступа к информации, а также к программному обеспечению через интернет был выбран браузер Google Chrome. Текст диплома написан в текстовом редакторе Google Docs (docs.google.com) как в бесплатной альтернативе, не уступающей по функционалу Microsoft Word. Блок-схемы и графики выполнены онлайн-версии программы Draw.io (draw.io.com) обеспечивающей комфортную работу с чертежами и блок-схемами, а также полностью интегрирующуюся в Google Docs. Практическая работа по написанию программы была выполнена в Microsoft Visual Studio 2015 на языке C#, так как эта связка обеспечивает наиболее комфортное сочетание скорости и простоты разработки [4, 5, 6].
2.1 Браузер Google Chrome
Браузер на основе свободного браузера Chromium и движка WebKit (до апреля 2013 года) и Blink, разработан компанией Google в 2008 году.
По данным StatCounter в 2016 году его используют 300 миллионов интернет пользователей, что составляет 58.29% мировой доли. Google Chrome направлен на повышение безопасности, скорости и стабильности. А 9 июня 2009 года разработчики Google Chrome в своём интервью для неофициального сообщества пользователей обозначили стратегию дальнейшего развития своего продукта, которая заключается в том, что браузер будет иметь максимально высокую скорость работы и минимально допустимую функциональность, а все дополнительные функции планируется внедрять при помощи расширений
Chrome, как правило, создаёт для каждой вкладки отдельный процесс, чтобы не допустить ситуации, при которой содержимое одной вкладки имеет возможность влиять на содержимое другой, а также его можно будет завершить без риска потери данных других вкладок)
Награды
? Издание PC Magazine присвоило браузеру Google Chrome 15 награду «Выбор редакторов».
? Это же издание присвоило браузеру Google Chrome 14 награду «Лучший продукт 2011 года» в номинации «Лучший веб-браузер».
? Издание Tom's Hardware впервые в своей истории присвоило награду «Лучшее Tom's Hardware» программному продукту, а именно браузеру Chrome, а также добавило «I гран-при» среди браузеров.
? Это же издание присвоило браузеру награду «II гран-при» среди браузеров на платформе GNU/Linux, «V гран-при», «VI гран-при» среди браузеров на платформе Windows.
2.2 Текстовый редактор Google Docs
Бесплатный онлайн-офис, включающий в себя текстовый и табличный редактор, сервис для создания презентаций и облачный сервис хранения файлов разработанный компанией Google.
Является веб-ориентированным программным обеспечением. Текстовые документы и таблицы пользователя сохраняются на специальном сервере Google и могут быть экспортированы в файл. Доступ к данным может осуществляться с любого компьютера, подключенного к интернету, это является ключевым преимуществом программы.
Бизнес-модель Google Docs (docs.google.com) вписывается в общую стратегию предоставления сервиса облачного хранения данных компании Google и совместно распространяется на другие направления (например, Gmail и Picasa). Объём для хранения файлов, преобразованных в формат документов Google, не ограничен, для остальных форматов сервис Google Docs предоставляет 15 ГБ дискового пространства бесплатно. Дополнительный объём памяти, который распределяется между сервисами Google Docs, Picasa, Gmail, Blogger и Google Buzz, можно приобрести за 2,49 долларов США на 100 Гб в месяц
2.3 Графический редактор Draw.io
Бесплатное онлайн-приложение на базе Google Disc для создания диаграмм, которое позволяет создавать
? Блок-схемы
? UML
? Диаграммы сущность-связь
? Сетевые диаграммы
? Модели бизнес-процессов
? Организационные схемы
? Электрические схемы
? Каркасные схемы и модели
Возможности:
? Собственный HTML 5 Client с полной поддержкой IE 6-8
? Большая встроенная библиотека элементов
? Интуитивный интерфейс по принципу перетаскивания
? Функция поиска и добавления изображений
? Экспорт в форматы PNG/JPG/XML/SVG/PDF
? Поддержка сенсорными устройствами
? Совместная работа в реальном времени
? Вставка диаграмм в блоги и вики-сайты
2.4 Среда разработки Visual Studio
Линейка продуктов включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств, производства компании Microsoft.
Основное назначение интегрированной среды разработки - разработка консольных приложений, приложений с графическим интерфейсом, в том числе с поддержкой Windows Forms, веб-сайты, веб-приложения для всех платформ, поддерживаемых Windows, Windows Mobile,.NetFramework, Xbox, Windows Phone и Silverlight.
Visual Studio состоит из редактора исходного кода с поддержкой технологии IntelliSense и возможностью рефакторинга кода, встроенного отладчика, редактора форм для упрощения создания графического интерфейса приложения, веб-редактора, дизайнера классов и дизайнера схемы базы данных. Кроме того, Visual Studio поддерживает сторонние дополнения (плагины) для расширения функциональности [7].
2.5 Язык программирования С#
C# (произносится си-шарп) -- язык программирования, сочетающий объектно-ориентированные и контекстно-ориентированные концепции. Разработан в 1998--2001 годах группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft.NET. Компилятор с C# входит в стандартную установку самой.NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio.
Объектно-ориентированный язык программирования, разработанный в 1998-2001 годах компанией Microsoft как язык разработки приложений для платформы.Net Framework.
C# относится к семье языков с С-подобным синтаксисом, наиболее близок к С++ и Java. Обладает статической типизацией, поддерживает полиморфизм, перегрузку операторов, делегаты, атрибуты, события, свойства, итераторы, исключения, комментарии в формате XML
При разработке C# принимался во внимание опыт предшественников - языков C++, Pascal, Модула, Smalltalk и Java, так некоторые модули, зарекомендовавшие себя проблематичными при разработке, были исключены, например, поддержка множественного наследования классов (хотя множественное наследование интерфейсов все еще допускается)
C# является полноценным объектно-ориентированным языком. Это значит, что программу на C# можно представить в виде взаимосвязанных взаимодействующих между собой объектов.
Описанием объекта является класс, а объект представляет экземпляр этого класса. Можно еще провести следующую аналогию. У нас у всех есть некоторое представление о человеке - наличие двух рук, двух ног, головы, пищеварительной, нервной системы, головного мозга и т.д. Есть некоторый шаблон - этот шаблон можно назвать классом. Реально же существующий человек (фактически экземпляр данного класса) является объектом этого класса.
Кроме обычных методов в классах используются также и специальные методы, которые называются конструкторами. Конструкторы вызываются при создании нового объекта данного класса. Отличительной чертой конструктора является то, что его название должно совпадать с названием класса [8].
Для работы с XML в C# можно использовать несколько подходов. В первых версиях фреймворка основной функционал работы с XML предоставляло пространство имен System.Xml. В нем определен ряд классов, которые позволяют манипулировать xml-документом [9, 10].
3. Описание хода разработки прототипа
3.1 Элементы roguelike выбранные для реализации
Случайная генерация игрового окружения - игроку предстоит пройти через 10 случайно сгенерированных уровней, после чего он встретится с финальным боссом, бой с которым будет проходить в фиксированной локации. Генерация уровней будет проходить согласно определенным шаблонам, которые будут определяться требуемым биомом. Например “Пещеры” будут состоять из полостей неправильной формы, соединенных узкими тоннелями, и наполнены они соответственно будут различными летучими мышами, гоблинами хищными грибами, а при генерации локации “Проклятый лес” вся локация будет представлять из себя одну “комнату”, куда будут добавляться случайные препятствия (деревья, овраги, густые заросли) до тех пор пока не будет достигнут требуемый процент заполненности, соответственно из оппонентов там будут сгенерированы различные стаи волки, призраки, лешие и т.д. [13].
Возможность сделать фатальную ошибку - смерть в игре окончательная и приводит к завершению текущей сессии. Чтобы погибнуть - игрок должен получить достаточное количество урона чтобы его запас здоровья опустился ниже единицы, это же справедливо и для оппонентов. При этом игрок не знает какое количество урона он получит от конкретного монстра, а также не знает сколько здоровья осталось у оппонента. Таким образом оценивать угрозу игроку придется по внешним признакам врагов (внешнему виду, поведению) или уже непосредственно после столкновения.
Пошаговость - одно действие игрока равняется одному ходу игрового мира, в котором обрабатываются все события: срабатывания триггеров, расчет результата всех произошедших сражений, перемещение персонажей
Свобода - игрок не ограничен выбором класса или чем-либо еще, и волен проходить игру любым доступным ему способом. Основным источником способностей является экипировка, которую игрок добывает, побеждая врагов и выбор типов экипировки будет оказывать значительное влияние на стиль прохождения, будь игрок воином в тяжелой броне и двуручным мечом, мудрым магом с посохом и свитками, или проворным лучником, неподпускающим врагов близко
Игрок управляет только одним персонажем
Высокий уровень сложности - выбирая стиль прохождения игрок должен подбирать оптимально подходящие для него характеристики и экипировку, и даже тогда некоторые враги будут крайне непростыми соперниками.
Монстры и игрок играют по одним правилам - фактически главный персонаж отличается от противников лишь тем, что им управляет игрок, а не скрипты поведения.
Тайловая графика - псевдографика во времена мониторов высокого разрешения зачастую воспринимается негативно игроками незнакомыми с жанром, в то же время любители roguelike не высказывают явного недовольства тайлами, поэтому остановимся на варианте максимально увеличивающем охватываемую аудиторию. В игре будут использоваться распространяемые по бесплатной лицензии тайлы с сайта opengameart.org
Зачистка подземелий - основной игровой процесс заключается в сражении персонажа игрока с монстрами, получении более качественной экипировки и сражении с более сильными монстрами
На этом факторы, определяющие игру как roguelike заканчиваются, однако остаются менее значимые, но все-же выделяющие игру на фоне других представителей жанра
Сеттинг - фэнтези: кроме людей мир населяют бесчисленные разумные и околоразумные виды (эльфы, гномы, орки, гоблины)
Социальный и технологический уровень развития общества на уровне средневековья
Жизнь сосредоточена в крупных городах (замках) и небольших деревнях
Вооружение преимущественно холодное (мечи, копья, молоты и прочее) и луки, широко распространены различные доспехи от легких кожаных то тяжелых лат
Основным источником прогресса является магия, широко распространенная по всему миру, давая более наглядные и быстрые результаты в реализации повседневных потребностей всерьез подорвали конкурентоспособность научного подхода.
Сюжет заключается в противостоянии могущественного мага\демона\некроманта (случайно определяется при создании персонажа и определяет финального босса), угрожающего существованию мира, и главного героя, пробивающегося через бесчисленные орды прислужников злодея, чтобы остановить коварный замысел.
3.2 Краткое описание общего алгоритма игры
Перед разработкой прототипа игры был продуман её общий алгоритм. Общий алгоритм прототипа игры представлен на рис. 3.1.
При запуске программы игроку выводится заставка, после чего он попадает в главное меню. Главное меню состоит из фона и нескольких (в данном случае трех) кнопок: Выход, Настройки, Игра.
Кнопка Выход завершает выполнение программы.
Кнопка настройки вывод игроку меню настроек, где он может выбрать разрешение игры, режим отображения (полноэкранный или оконный), настроить уровень громкости музыки и звуков. По окончании изменения настроек игрок возвращается в главное меню.
Кнопка Игра открывает перед игроком меню начала игры, в котором представлены две опции - “Новая игра” и “Продолжить игру”.
“Продолжить игру” инициализирует восстановление предыдущей игровой сессии, если она закончилась выходом из игры, а не смертью персонажа.
Рис. 3.1 - Общий алгоритм игры
“Новая игра” инициализирует генерацию игрового мира по заранее определенному шаблону. Оригинальный замысел предполагает генерацию 10 случайных локаций различных биомов, каждый из которых обладает собственным алгоритмом генерации местности, а также возможных оппонентов, однако игрок может выбрать генерацию меньшего числа уровней или случайное использование биомов.
Далее случайным образом определяется финальный босс, с которым игроку предстоит сразиться, выводится сообщение с соответствующей боссу сюжетной завязкой.
После этого загружается (отрисовывается для игрока. если локация превышает размер игрового окна - отрисовывается только область размером совпадающая с окном, с центрированием на персонаже игрока) первая из сгенерированных локаций, содержащая: фон, непроходимые препятствия обычно формирующие “лабиринт” (стены, деревья, расщелины и т.д.), стартовую позицию (с которой игрок начинает), выход с локации (клетка, с которой игрок может перенестись на следующий уровень), монстры в заданном количестве и качестве, а так же ловушки, затем отображается графический пользовательский интерфейс (GUI) после чего управление передается игроку.
Далее алгоритм переходит в цикл: ввод команды от игрока -> итерация игрового мира -> проверка конца игры -> ожидание ввода команды от игрока.
Получив команду от игрока, алгоритм совершает соответствующее действие (обычно это использование способности, передвижение или взаимодействие с экипировкой персонажа)
Затем игра проверяет все триггеры (зоны срабатывания) на предмет наличия в них существ и для каждого триггера где эта проверка завершилась положительно вызывается соответствующий эффект
После чего по очереди вызываются скрипты поведения для каждого присутствующего на локации юнита не игрока (обычно это приводит к перемещению юнита, или использовании им способности)
Далее проверяется здоровье всех персонажей, те из них чье здоровье опустилось ниже нуля вызывают метод “Смерть”, который в случае с игроком заканчивает игру (сначала показывая игроку статистику прохождения, выгружает из памяти все ненужные ресурсы (локации и объекты), а потом выводя в главное меню), а при случае с монстром проигрывает его анимацию смерти, отрисовывает на месте смерти труп существа, определяет по таблице наград опыт и предметы, которые получает игрок за победу над ним, а затем удаляет существо из списка активных персонажей и выгружает его из памяти.
3.3 Генерация случайных локаций
Следующим этапом разработки прототипа игры является детальная проработка каждого игрового уровня (локации) игры. Схема генерации локации приведена на рис. 3.2.
Рис. 3.2 - Схема генерации локации
Определяется биом уровня.
Биомы представляют собой отдельные зоны ландшафта с разным рельефом, температурой, влажностью, растениями, животными. Биомы делят мир на леса, равнины, горы, тундры и т.д., например, “Пещеры” будут состоять из полостей неправильной формы, соединенных узкими тоннелями.
Согласно биому, определяется размер локации.
Создается пустая локация определенного размера, заполняется фоновым изображением этого биома.
В случайных местах локации на достаточном удалении друг от друга создается точка входа и одна или несколько точек выхода.
В случайных местах локации создаются точки интереса - это особое пространство размером до 5х5 клеток, заполненное случайным вариантом из списка заранее созданных мест интереса - игровых ситуаций, которые маловероятны при случайной генерации, однако могут вызвать у игрока сильные эмоции, например, хранилище сокровищ, охраняемое элитными монстрами или полосой препятствий, либо особо эффективные сочетания монстров - например банда разбойников или стая волков с вожаком.
Локация заполняется непроходимыми препятствиями согласно алгоритму биома (например, сплошными массивами стен с округлыми пустотами внутри, соединенными между собой тоннелями в случае генерации биома пещер)
Вызывается поиск пути от точки входа, до каждой из точек выхода или интереса, если алгоритму не удается найти путь до одной из точек - он вызывается в обратном направлении, после чего устраняется препятствие, ближайшее к обоим маршрутам, после чего процесс проверки повторяется до успешного поиска пути для каждой точки.
На месте точек интереса удаляются все препятствия и создается случайное место интереса (Это происходит после генерации препятствий, так как в противном случае некоторые места интереса могут стать непроходимыми)
В соответствии с параметрами биома создается определенное количество враждебных игроку персонажей на случайных клетках локации. Если клетка занята препятствием - случайные координаты генерируются заново, до тех пор, пока монстр не будет успешно размещен. Генерация повторяется до тех пор, пока не будет размещено требуемое количество монстров.
Уровень сохраняется в отдельную инстанцию, на чем алгоритм генерации заканчивается.
В результате генерация происходит только один раз в начале игры, и в дальнейшем игрок не встречает длительных загрузок по мере прохождения.
3.4 Отрисовка камеры
Данный алгоритм отвечает за непосредственный вывод изображения на экран игрока (см. рис. 3.3).
В первую очередь определяем центр камеры, по умолчанию (если не используются клавиши управления камерой) за центр считаются координаты игрока.
Рис. 3.3 - Схема отрисовки камеры
Определяются границы области отрисовки - размер берется из настроек в главном меню игры.
Отрисовывается фон, а затем тайл за тайлом все, чьи координаты оказываются в диапазоне отрисовки.
Затем отображается пользовательский интерфейс, чье положение относительно экрана всегда остается фиксированным.
3.5 Условие завершения игры
Игра завершается если игрок вводит команду выхода (в таком случае происходит сохранение), либо если здоровье игрока опускается ниже единицы (Рис 3.4). В таком случае игроку отображается статистика прохождения, а затем он попадает в главное меню.
Рис. 3.4 Алгоритм проверки окончания игры и связанные с ним параметры
Изначально у персонажа игрока есть максимальный запас здоровья и текущий, который в начале игры не отличается от максимального.
Попадая под действие способностей существ или ловушек здоровье игрока может уменьшаться или увеличиваться (в диапазоне от нуля до максимального запаса).
На объем получаемого урона влияют характеристики существ, которые условно можно разделить на наступательные и защитные.
? Наступательные увеличивают вероятность успешного нанесения урона или эффекта, а также количество и тип урона.
? Оборонительные характеристики, увеличивают вероятность уклонения от удара, вероятность сопротивления определенным типам урона, а также напрямую уменьшают получаемый урон. Кроме того, некоторые защитные характеристики оказывают влияние на поведение монстров, в первую очередь на их радиус обнаружения игрока.
Рис. 3.5 - Описание основных характеристик существ и их возможностей
Ловушки в отличии от существ не могут проводить прямых атак, вместо этого, как только существо попадает в зону триггера, в определенной области срабатывает способность, воздействующая на всех попавших в зону действия, что может стать эффективным оружием в руках игрока. Способности ловушек не направлены на персонажа игрока, а лишь на область, при этом области триггера и срабатывания способности можно обнаружить и при желании обезвредить. Предполагается что механизмы ловушек чрезвычайно мощны, но неповоротливы, поэтому в среднем они гораздо более эффективны чем способности существ, если им удается поразить цель.
Подобные документы
Особенности создания ряда игровых приложений, логической игры. Программное обеспечение простейшего калькулятора, генератора функций. Разработка элементов интерфейса простейшего графического редактора, электронной записной книжки, текстового редактора.
методичка [788,7 K], добавлен 24.10.2012Изучение особенностей растровых и векторных графических редакторов. Создание графического редактора: выбор языка программирования, разработка структуры программы и алгоритма работы. Описание интерфейса программы. Руководство программиста и пользователя.
курсовая работа [1,3 M], добавлен 28.07.2013Дизайн интерфейса приложения как связь человека и персонального компьютера. Adobe Photoshop и его возможности, анализ функциональности и содержание главных операций. Используемые инструменты для разработки дизайна интерфейса текстового редактора.
контрольная работа [407,5 K], добавлен 12.10.2015Алгоритмическое представление и описание правил игры "Эволюция". Построение диаграммы прецедентов. Разработка графического интерфейса пользователя. Реализация интерфейса в среде Unity. Структура файла сохранения игры. Проектирование поведения компьютера.
дипломная работа [3,3 M], добавлен 18.02.2017Изучение основных алгоритмов генерации различных видов фракталов. Выбор языка и среды программирования. Характеристика структурных элементов растрового графического редактора фракталов. Описание интерфейса приложения, порядок редактирования изображений.
курсовая работа [1,2 M], добавлен 04.04.2014Особенности разработки компьютерной игры, в которой проводится чемпионат по волейболу. Список переменных и типов данных. Разработка текстового и графического алгоритма. Разбор основных этапов игры на примере. Основные положения руководства пользователя.
курсовая работа [976,9 K], добавлен 09.06.2016Типы, основные функции, элементы и принцип работы текстового редактора (компьютерной программы). Методы вставки внешних объектов в текст. Особенности текстового процессора Microsoft Word, его специальные возможности. Типовая структура интерфейса.
реферат [15,8 K], добавлен 07.12.2010Требования к техническим, программным средствам разработки и функционированию программы. Обоснование выбранного языка программирования. Описание алгоритма решения задачи, тестирование ее основных функций. Понятие дружелюбного пользовательского интерфейса.
курсовая работа [85,9 K], добавлен 31.10.2014Проектирование игры "Жизнь" и ее реализация в среде разработки Visual Studio 2010, версия .Net Framework 4.0. Особенности языка программирования C#, основных принципов ООП на языке C#. Проектирование пользовательского интерфейса. Описание алгоритмов.
курсовая работа [990,0 K], добавлен 18.04.2013Исследование базовых концепций программирования приложений под операционную систему Windows. Изучение истории создания универсального языка программирования Си. Разработка графического пользовательского интерфейса. Обзор правил игры и алгоритма работы.
курсовая работа [58,2 K], добавлен 09.11.2012