- PVSM.RU - https://www.pvsm.ru -

Квест, как дипломный проект

Думаю, большинству программистов хотелось написать свою игрушку. Кому-то хотелось реализовать свой RPG мир, кто-то грезил своей стрелялкой, а вот я всегда хотел сделать свой квест.

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

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

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

Выбор жанра

В жанр квестов я влюбился c моей первой игры — Broken Sword 2 [1]. Колоритные персонажи, продуманный, захватывающий сюжет, оригинальный юмор — этим мне запомнились игры этого жанра в их золотую пору. Естественно, как и у любого программиста у меня давно зрело желание написать свою игру, но постоянно что-то мешало: отсутствие сюжета, художника или желания. В момент, когда ко мне обратилась подруга, я решил, что откладывать больше нельзя и пора браться за дело!

В первую очередь были изучены материалы по квесто-производству, доступные в интернете. Часть статей я уже публиковал: Как написать Адвенчуру? [2] и Механика головоломок в адвенчурах [3]. Могу добавить пару отличных работ по гейм дизайну: Fundamentals of Game Design [4], Advanced game design [5], The Art of Game Design [6]. Конечно, было море пересмотренных ресурсов и материалов, но эти оказали и пара других (перевод которых, надеюсь, я представлю в ближайшем времени) наибольшее влияния.

За образцы, конечно, были взята классика жанра: Broken Sword [7], Diskworld [8], Botanicula [9], Machinarium [10], etc. Изначально, игра планировалась куда более взрослой, но, в итоге, все пришло к детской, мультяшной графике. Такой выбор, конечно, обусловлен персональными предпочтениями художника, а также тем фактом, что подходящее детское произведение, на которое можно было бы опереться значительно проще найти.

Работа над игрой

Выбор движка

В первую очередь встала задача выбора игрового движка, соответствующего ряду критериев:

  • Открытый для модификаций
  • Простая и понятная реализация
  • Ориентированность на жанр

В качестве кандидатов попали следующие проекты:

В итоге, после анализа существующих решений выбор пал на Alpaca Engine [13]. Несмотря на то, что проект достаточно давно не обновлялся, движок (хотя, это не движок в классическом понимании этого термина, а скорее просто шаблон, по которому пишется игра) оказался вполне удобоваримым для целей написания квеста. Конечно, не хватало многих интересных фич (Parallax Layering [15], сплошной, смещаемый уровень), но их было решено реализовать самостоятельно, в случае если останется время. Но, конечно, при написании диплома времени всегда не хватает…

Сюжет

Изначально мне хотелось сделать жесткую игру с уникальным сюжетом в стиле хорора (Sublustrum [16], The Black Mirror [17], Still life [18], etc), но быстро стало ясно, что сценаристы не зря едят свой хлеб и было решено последовать совету Пабло Пикассо [19]. По сути, в сюжете для квеста должны присутствовать следующие критерии: поле для загадок, интересная и захватывающая история. В итоге, за основу было выбрано произведение Филипа Пулмана «Золотой компас» из трилогии темные начала.

Разработка персонажа

С разработкой персонажа не возникло серьезных проблем. Несколько пробных вариантов:
Квест, как дипломный проект
И Лира со статичным деймоном готова:
Квест, как дипломный проект

Окружение

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

Загадки

В квестах существует достаточно много типов загадок, есть даже свои паттерны [20], но из-за ограничения по времени мы решили остановиться на следующих типах загадок:

В целом, ничего уникального, классический набор задач из золотой эры квестов. Дальше, игровые головоломки были проиллюстрированы комиксами:
Квест, как дипломный проект

Результаты

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

Получился, конечно, не квест мирового уровня, но на мой взгляд очень достойная работа, особенно для не IT специалиста:

P. S. Девушка успешно защитилась на отлично!

Автор: Silf

Источник [22]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/diplom/40435

Ссылки в тексте:

[1] Broken Sword 2: http://ru.wikipedia.org/wiki/Broken_Sword_II:_The_Smoking_Mirror

[2] Как написать Адвенчуру?: http://habrahabr.ru/company/luxoft/blog/148632

[3] Механика головоломок в адвенчурах: http://habrahabr.ru/company/luxoft/blog/153063/

[4] Fundamentals of Game Design: http://www.amazon.com/Fundamentals-Game-Design-2nd-Edition/dp/0321643372/ref=pd_sim_b_2

[5] Advanced game design: http://www.amazon.com/Game-Mechanics-Advanced-Design-Voices/dp/0321820274

[6] The Art of Game Design: http://www.amazon.com/The-Art-Game-Design-lenses/dp/0123694965/ref=pd_sim_b_5

[7] Broken Sword: https://en.wikipedia.org/wiki/Broken_Sword

[8] Diskworld: http://en.wikipedia.org/wiki/Discworld_(video_game)

[9] Botanicula: http://botanicula.net

[10] Machinarium: http://machinarium.net/demo/

[11] Adventure Game Studio: http://www.adventuregamestudio.co.uk

[12] Winter Mute: http://dead-code.org/home/

[13] Alpaca Engine: http://alpacaengine.com

[14] SCUMMVM: http://scummvm.org

[15] Parallax Layering: http://en.wikipedia.org/wiki/The_Whispered_World

[16] Sublustrum: http://ru.wikipedia.org/wiki/Sublustrum

[17] The Black Mirror: http://ru.wikipedia.org/wiki/The_Black_Mirror_(компьютерная_игра)

[18] Still life: http://en.wikipedia.org/wiki/Still_life

[19] Пабло Пикассо: http://img0.joyreactor.cc/pics/comment/Комиксы-Dark-side-of-the-horse-цитаты-пикассо-524640.jpeg

[20] паттерны: http://www.godpatterns.com/2006/04/adventure-game-design-patterns.html

[21] охота за пикселями: http://ru.wikipedia.org/wiki/Пиксель-хантинг

[22] Источник: http://habrahabr.ru/post/184308/