Добавить в корзинуПозвонить
Найти в Дзене
4kkGames

Как создаются квесты

Данная заметка рассказывает о технической стороне разработки игр. Постарался изложить ее как можно проще. Квесты. Каковы они изнутри. Конечно же, все зависит от особенностей самого проекта. Но есть и общий алгоритм, работающий при любых условиях разработки. Он напоминает анекдот: 1) Сел Иван Царевич на коня. И ...
2) Тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык.... [ нужное количество тыг'n'дыков ]
3) Пшшшш! Приехал! В настоящий момент занимаюсь разработкой The Pharody. Мои коллеги, такие же инди-одиночки, часто меня спрашивают: Уф. Нет. Нет. И нет. Моя игра пародирует первого Diablo. Если помните, квесты в Дьябло совершенно линейные. И в основном "найди-и-уничтожь": 1) Дали задание
2) Нашел монстра и... в общем, без вариантов, он сам первый начал
3) Получил награду Условно назову это метод 1-2-3. Проще не куда. Велосипед изобретать надо? Так я рассуждал в самом начале создания игры. Именно поэтому на хранение (и сохранение) выделил обыкновенный одномерн
Оглавление
А для чего пчёлы делают морковку? Да чтоб я её курил!
А для чего пчёлы делают морковку? Да чтоб я её курил!

Данная заметка рассказывает о технической стороне разработки игр. Постарался изложить ее как можно проще.

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

1) Сел Иван Царевич на коня. И ...
2) Тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык-тыгдык.... [ нужное количество тыг'n'дыков ]
3) Пшшшш! Приехал!

В настоящий момент занимаюсь разработкой The Pharody. Мои коллеги, такие же инди-одиночки, часто меня спрашивают:

  • А как ты это делаешь?
  • А ты используешь ёклмн-плагин?
  • А может, ёпрст-конструктор?

Уф. Нет. Нет. И нет. Моя игра пародирует первого Diablo. Если помните, квесты в Дьябло совершенно линейные. И в основном "найди-и-уничтожь":

1) Дали задание
2) Нашел монстра и... в общем, без вариантов, он сам первый начал
3) Получил награду

Условно назову это метод 1-2-3. Проще не куда. Велосипед изобретать надо? Так я рассуждал в самом начале создания игры. Именно поэтому на хранение (и сохранение) выделил обыкновенный одномерный массив с целыми числами. Просто и компактно. Квест номер 1, стадия номер 3. Все понятно. Хоть и не все оказалось просто. Класс с минимальным набором функций прописывать таки пришлось. И значения в массиве выглядели так:

0) Квест не получен (не открыт)
1) Задание получено
XYZ) Собственно, прогресс. Тут так же просто число.
100) Квест закрыт

По началу все шло замечательно.

Но в один прекрасный момент эта линейность приелась. Захотелось ее же и по-троллить. Так появился квест "Судья и палач". В нем игроку предлагается на выбор аж 18 вариантов.

Троллинг заключался в том, что по факту игрок выбирал только из двух категорий вариантов: казнить или оставить в живых. И это так-же вписалось в метод 1-2-3. Вот только от решения игрока зависит дальнейшее развитие событий. Поэтому конечная стадия была не №100, а, скажем, либо 101 либо 102. Что являлось своего рода маркером решения игрока. Технически, дописал еще одну функцию в класс.

Красота! И я двинул на усложнение.

Квест "Якорь мне в жопу". Тут надо было сперва подстрелить Х крыс, а потом завалить Y монстров:

Реализовать это было чуть труднее. Но метод 1-2-3 и тут не подвел. А дальше захотелось еще больше разнообразия. Ох, как пришлось помаяться. Но спорт есть спорт. Мы ведь создаем себе трудности для того, чтоб героически их решать. Квест "Чокнутая мумия".

-2

На данный момент этот квест самый сложный в игре. Линейным его уже не назвать. Однако, он так же работает по методике 1-2-3.

Блок-схема квеста про мумию. Поразительно, но даже тут можно пронумеровать стадии и подогнать под простое прохождение.
Блок-схема квеста про мумию. Поразительно, но даже тут можно пронумеровать стадии и подогнать под простое прохождение.

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

#the pharody
#diablo
#gamedev
#indie
#скачать игру