Dusk World – Дневники разработки, часть 4:
Год разработки

Новый выпуск дневников планировал опубликовать когда будет готова альфа-версия боевой системы, но, время идет, боевка все еще не готова, а новостей уже давно не было — пора написать новую часть дневников. Тем более, недавно была круглая дата — 17 сентября — ровно год с момента начала разработки Dusk World.

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

 

Первая версия

Итак, год назад, 17 сентября 2016 года были написаны первые строки движка Dusk World. И первые пол года занимался только им. В противоположность предыдущим выпускам дневника, в этот раз постараюсь писать поменьше текста, и побольше выкладывать скриншотов.

Скриншоты первой версии:

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

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

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

Можно ли сказать, что пол года разработки первой версии движка были впустую? Категорически нет — во первых, только начав разрабатывать игру, понимаешь как надо делать и в каком направлении двигаться. Во вторых, и что очень важно для будущих лет разработки — смотря на ту первую версию, пусть недоработанную, но рабочую, я спрашиваю себя «разве разработав это за пол года, не смогу сделать лучше?» — это здорово мотивирует, и дает веру в свои силы.

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

 

Боевая система

Разработку боевой системы начал в конце февраля. На тот момент еще наивно верил, что смогу сделать релиз к 9-ти летию сайта (исполнилось 13 июля 2017 года). Через месяц была готова такая боевая система:

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

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

Вначале была идея такая - выпущу так, в простом варианте, а потом, если идея проекта понравится - доработаю после релиза. Впрочем, поразмышляв еще несколько дней, над объемом переделок, на время, которое они займут, пришло осознание - делать навороченную систему характеристик (и, по сути, переделывать все, что было сделано) надо сразу.

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

Засучив рукава, начал добавлять новые характеристики. Если в первой версии все ограничивалось, по сути, тремя параметрами: здоровье, урон, тип атаки (дистанционная, ближний бой), то вторая версия разраслась до... смотрите сами:


Характеристики влияющие на бой
   

Здоровье

Скорость атаки

Концентрация - когда она накапливается, персонаж использует способность первого типа [способности зависят от класса]

Множитель получения концентрации

Хитрость - %-вероятность нанесения персонажем способности второго типа

Множитель к хитрости

Ярость - когда она накаливается, персонаж использует ультимативную способность

Множитель получения ярости

Меткость - влияет на успешность нанесения атак

Защита - позволяет уклоняться от атак

Магическая меткость - влияет на успешность применения заклинаний

Магическая защита - позволяет уклоняться от заклинаний

Физический урон

Сопротивление физическому урону

Урон огнем

Сопротивление урону огнем

Урон водой

Сопротивление урону водой

Урон воздухом

Сопротивление урону воздухом

Урон землей

Сопротивление урону землей

Урон магией жизни

Сопротивление урону магией жизни

Урон магией смерти

Сопротивление урону магией смерти

Шанс нанесения критического удара

Множитель критического удара

% Вероятность блока

% Игнорирование блока

Тип удара - атака/заклинание/продолжительный урон

Тип оружия/заклинания - каждый тип оружия или стихии заклинаний способен вызвать определенные эффекты

+ классовые способности

+ временные эффекты (например отправление, кровотечение, оглушение - то, что длится несколько раундов)

Уклонение - уникальный параметр, позволяющий избежать атаки или заклинания



А боевка, в режиме разработчика, стала выглядеть так:

Новая версия нравится полностью - на таком фундаменте можно придумывать различные и разнообразные классы, монстров, предметы и прочее. Также, надеюсь, игрокам будет интересно изучать её и экспериментировать с различными вариантами билдов.

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

Промо-страница демо-боевки

Отдельно стоит упомянуть промо-страницу дему-боевки ссылка удалена*, которая, как и вся боевка, почти готова, но еще немного надо доработать - пока она адаптированна только под разрешение 1920х1080 (или выше), а на разрешениях ниже не весь контент умещается на экран.

*Стало понятно, что лучше сосредоточить все силы на демо-версии проекта, и не тратить время на разработку промо-страницы.

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

 

Сюжет

Работа (размышления) над сюжетом начались практически сразу, вместе с разработкой движка. Задача перед сюжетом стояла довольно сложная. Напомню, что проект Dusk World - это гибрид браузерной MMORPG и обычного игрового/развлекательного сайта, при этом два этих аспекта тесно переплетены между собой.

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

Хотя и здесь предстоит очень серьезно потрудиться - в игре мы расскажем не просто какую-то историю, не просто какие-то события в каком-то мире (планете) - мы замахнулись сразу на альтернативную версию всей вселенной. Точнее, не самой вселенной, а места и истории человечества в ней. Уже фантазирую на тему рекламных слоганов «Dusk World: такой истории человечества ты не знал» :)

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

Прорабатывает сюжет в данный момент FaceR. И на днях к процессу подключился TinyRenegheid.

Учитывая объемы работ - будут набираться люди еще.

 

Графика

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

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

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

Летом, параллельно с разработкой боевой системы начал изучать Unity3D (в нем буду строить игровые локации) и покупать готовые ассеты 3D графики. Ни о какой разработке собственной 3D графики с нуля речи не идет (на это нужны миллионы), 80-90% необходимого контента буду покрывать готовой графикой из ассет-стора.

Одно из первых подземелий:

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

 

Игровой мир

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

Визуально, карта мира будет выглядеть как-то так (сырой набросок с какой-то картой найденной в тырнете):

А сама разработка идет с вот таким вот отображением:

Сухие параметры, ссылки как варианты действий и все. Вот такой вот суровый режим разработчика. Потом уже на этот сухой текст будут «натянуты» картинки, кнопочки-иконочки, тексты, и он оживет :)

 

Немного о расходах

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

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

Итак:

  • 11 000р. - Leonid'у за краткую историю мира
  • 21 000р. - набор из 32 монстров «HEROIC FANTASY CREATURES FULL PACK»
  • 6 000р. - подземелье «Fantasy Dungeon»

Итого: 38 000р.

Ах да, за кадром также остаются расходы на сервер и домены. У меня уже есть «рабочие мощности», которые накопились и которые используются за годы работы с сайтами. Но, если кому интересно, на это уходит 5-6 тысяч вмесяц. В основном это расходы на сервер под Diablo1.ru

 

Изменения в жизни

Разработка игры затронула и реальную жизнь. Наконец-то ушел из унылого (имхо) интернет-маркетинга и сейчас работаю php-программистом. Работа позволяет поднимать скилл в web-программировании и лучше делать свою игру, а разработка своей игры позволяет быстрее прогрессировать в работе. Даже если проект не выстрелит, за 2-3 года разработки получится сильно прокочаться в программировании.

Хотя, мне иногда кажется, что Diablo1.ru (в будущем DuskWorld.ru) стал для меня такой жизненной «идеей-фикс» - что не успокоюсь, пока этот сайт не станет чем-то крутым. В него уже влито 9 лет жизни и немало денег. А год назад, с разработкой глобального обновления-расширения сайта количество вкладываемого времени и денег стало только увеличиваться. Учитывая, что web-программирование в перспективе позволит зарабатывать намного больше, чем зарабатывал в маркетинге - в какой-то момент залью в него столько денег, что результат просто обязан будет быть. Или я застрелюсь. Шутка :)

 

Планы

Планы пишу больше для себя - чтобы позже взглянуть на них и оценить, на сколько планы разошлись с реальностью :)

Итак:

  • Октябрь/Ноябрь - доделать альфа-версию боевки и дать её попробовать желающим
  • Декабрь 2017/Январь 2018 - сделать демо версию одной локации, совместить её с боевкой и также дать попробовать желающим
  • С 2018 года приступить к написанию нового ядра сайта/игры. К 10-ти летию сайта доработать ядро до более-менее рабочего состояния, добавить пару-тройку локаций, совместить с боевкой и запустить закрытый альфа-тест уже всей системы вместе.

Где-то между делом надо будет реализовать функционал генерации предметов. Там так же довольно много тонкостей.

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

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

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

Так что спокойная работа и здоровый сон - главные друзья инди-разработчика :)

 

Оглядываясь назад, и смотря в будущее

Что было сделано за прошедший год? С одной стороны много, с другой - только разогрелся и понял в каком направлении двигаться. И это нормально. Год для разработки MMORPG - это только разогреться. А в планах не просто MMORPG, а даже более навороченный проект.

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

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


Вернуться к дневникам разработки Dusk World




Комментарии

lopar 2018-12-27 11:53:54
А как реализованы прогулки по глобальной карте? Вот ты находишься в локации 1х2, а хочешь уйти в 5х7, например. Ты можешь сместиться только на одну клетку? Или ты выбираешь клетку и система считает время перехода? А карта? Двоичный массив?

Ответить
? +3 ?
Diablo 2019-03-26 17:02:02
> Или ты выбираешь клетку и система считает время перехода?
Да, именно так. Ну и простое отображение - линия из клетки в клетку, а на ней постепенно смещающаяся иконка, отображающая, сколько пути пройдено. А сверху таймер, показывающий, когда персонаж придет в указанную зону.

> А карта? Двоичный массив?
Двумерный массив)

Ответить
? +3 ?
Valentine 2017-10-07 14:27:26
Здорово! Интерьеры просто супер, мрачно, тревожно, очень атмосферно! Зверинец тоже выглядит зловещим.

Ответить
? +4 ?
Ashot 2017-10-06 21:11:56
вместо Dusk World лучче возьми название Magic of Gangbang

Ответить
? +3 ?
Гимме 2017-10-04 21:11:52
И все же Duck World не самое подходящее название.

Ответить
? +3 ?
Merdoc 2017-10-02 09:32:35
ИМХО: Чем больше параметров будет в боевой системе, тем более гибкой и интересной она будет. Да и это не отталкивает вовсе, а даже привлекает. Появилось желание разобраться во всём и, как было описано выше, экспериментировать.
Очень понравилась "альфа". Чувак, говорил уже раньше, но скажу ещё раз: ценитель найдётся на всё, а твой проект гораздо более обещающий, чем я думал сначала. Удачи с проектом)

Ответить
? +5 ?
Diablo 2017-10-03 05:13:30
Спасибо)

Ответить
? +3 ?
На 2017-09-30 18:57:29
И снова я в последних лентяях остался..

Ответить
? +3 ?
На 2017-09-30 19:00:24
Тьфу, блин, точно, вспомнил, я же редактор... Не всё потеряно, ребят!
:D

Ответить
? +3 ?
Muromec 2017-09-30 18:23:01
Можно мне тоже писать сюжет? Пожалуйста!!!

Ответить
? +3 ?
Tiny 2017-10-01 16:10:32
Хроники пиши

Ответить
? +2 ?
Leonid 2017-10-05 12:42:41
Ты разве не знаешь, что Муромей примется за хроники только через 1000 и 1 год?

Ответить
? +2 ?
Leonid 2017-10-05 12:43:43
Тьфу, Муромец, опечатался.

Ответить
? +2 ?
Страницы:

Ваше имя
Комментарий



Реклама:

Наша командаРазработка глобального обновления

При поддержке Сил Преисподней
2008-2024