Здравствуй, путник! Хочешь присоединиться или войти?

03 дней
14 часов
27 минут
03 секунд
Dusk World: Дневники разработки игры

Дневники разработки Dusk World, в которых рассказываю о процессе разработки нашего проекта

30 постов | 158 комментариев | 3 участников

Все подряд | 2+ | 5+ | 10+ | Лучшие
2

Запуск PvP-стадии 4 апреля в 20:00

Наконец-то приближается день, когда на нашем сайте появятся первые игровые механики — 4 апреля в 20:00 по московскому времени проект перейдет в следующую стадию — тестирование PvP.

Какой новый функционал появится:

Прокачка и экипировка персонажа

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

Будет возможность изучить существующие механики, и поэкспериментировать с их комбинацией.

Новое дерево пассивных навыков

Дерево пассивных навыков полностью переделано — оно стало в четыре раза больше того, что было во второй демо-версии, а количество пассивных навыков выросло почти в пять раз: с 27 до 128

Чтобы воспользоваться всеми возможностями нового дерева пассивных навыков персонаж будет получать по 2 очка активных+пассивных навыков за каждый новый уровень.

PvP

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

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

Новые рейтинги

Разумеется вместе с персонажами будут добавлены новые рейтинги — как минимум по уровню персонажа, но также думаю над такими рейтингами как «дуэлянт», по количеству побед в PvP, и рейтингу по самой крутой экипировке — по сумме стоимости надетых предметов на персонаже.

Что дальше

Разработка игрового функционала продолжится дальше. В апреле планирую добавить функционал:

- личного сундука
- турниров
- рейдов на боссов
- (возможно) рейтинговые PvP-бои

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

Показать полностью
Diablo 3 дня назад
1

PvP приближается :)

Когда весь январь ушел на перенос раздела по Diablo 2, а весь февраль на переработку предметов, я думал что запустить 3 стадию, с прокачкой персонажей и PvP к 1 апреля не получится, но сейчас можно сказать что в целом успеваю.

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

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

Показать полностью
Diablo 13 дней назад
4

Обновленные предметы

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

Обновленный ассортимент предметов

Что по предметам досталось от второй демо-версии? Во первых, очень куций ассортимент предметов по некоторым типам, например оцените какое количество луков было:

Луки
   

Иконка

Название

Ряд

Тип урона

Урон

Скор. атаки

Крит шанс

Крит множитель

Вес

Необходимый уровень

Необходимо силы

Необходимо ловкости

Охотничий лук

2

Атака

35

1

10%

200%

50

1

0

20

Короткий лук

2

Атака

34

1.1

10%

200%

50

1

15

26

Длинный лук

2

Атака

42

0.9

10%

200%

80

1

18

36

Или дробящее оружие, всего 5 штук и все одноручные:

Дробящее оружие
   

Иконка

Название

Ряд

Тип урона

Урон

Скор. атаки

Крит шанс

Крит множитель

Вес

Необходимый уровень

Необходимо силы

Необходимо ловкости

Булава

1

Атака

52

0.8

5%

200%

220

1

20

0

Булава с шипами

1

Атака

48

0.9

5%

200%

200

1

24

0

Молот

1

Атака

60

0.8

5%

200%

245

2

30

0

Кистень

1

Атака

46

1

5%

200%

190

2

30

20

Тяжелый молот

1

Атака

80

0.7

5%

200%

270

2

45

0

Что нужно было сделать? Во первых сделать четкую градацию предметов – на каких уровнях будет появляться новый «грейд» предметов, ну и расширить ассортимент оружия, добавить вариативность. Луки, например, теперь стали двух типов: короткие и длинные. Короткие имеют более высокую скорость атаки и больший шанс критического урона. Длинные луки – больший урон:

Луки
   

Иконка

Название

Необходимый
уровень

Необходимо
силы

Необходимо
ловкости

Необходимо
интеллекта

Вес

Цена

Две
руки

Свойства
(качество материала: 1.0, стихия: физическая)

Исключенные
свойства

Пример названия
с префиксом

Длинный Лук
(Longbow)

1

0

30

0

120

496

да

Физический урон: 17
Скорость атаки: 0.9
Шанс критического удара 10%
Сила критического удара 200%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Длинный Лук

Короткий Лук
(Short Bow)

1

15

24

0

90

496

да

Физический урон: 12
Скорость атаки: 1.2
Шанс критического удара 15%
Сила критического удара 250%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Короткий Лук

Композитный Лук
(Composite Bow)

5

0

50

0

120

894

да

Физический урон: 38
Скорость атаки: 0.9
Шанс критического удара 10%
Сила критического удара 200%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Композитный Лук

Охотничий Лук
(Hunting Bow)

5

25

40

0

90

894

да

Физический урон: 26
Скорость атаки: 1.2
Шанс критического удара 15%
Сила критического удара 250%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Охотничий Лук

Боевой длинный Лук
(War Longbow)

9

0

70

0

120

1609

да

Физический урон: 60
Скорость атаки: 0.9
Шанс критического удара 10%
Сила критического удара 200%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Боевой длинный Лук

Резной Лук
(Carved Bow)

9

35

56

0

90

1609

да

Физический урон: 40
Скорость атаки: 1.2
Шанс критического удара 15%
Сила критического удара 250%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Резной Лук

Эльфийский Лук
(Elven Bow)

13

0

90

0

120

2642

да

Физический урон: 81
Скорость атаки: 0.9
Шанс критического удара 10%
Сила критического удара 200%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Эльфийский Лук

Блочный Лук
(Compound Bow)

13

45

72

0

90

2642

да

Физический урон: 54
Скорость атаки: 1.2
Шанс критического удара 15%
Сила критического удара 250%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Блочный Лук

Лук Амазонки
(Amazon Bow)

18

0

115

0

120

4381

да

Физический урон: 108
Скорость атаки: 0.9
Шанс критического удара 10%
Сила критического удара 200%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Лук Амазонки

Пронзатель Душ
(Soul Piercer)

18

57

92

0

90

4381

да

Физический урон: 73
Скорость атаки: 1.2
Шанс критического удара 15%
Сила критического удара 250%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Пронзатель Душ

Королевский Лук
(Royal Bow)

22

0

135

0

120

6129

да

Физический урон: 129
Скорость атаки: 0.9
Шанс критического удара 10%
Сила критического удара 200%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Королевский Лук

Лук Ночи
(Bow of the Night)

22

67

108

0

90

6129

да

Физический урон: 87
Скорость атаки: 1.2
Шанс критического удара 15%
Сила критического удара 250%
Меткость 25%

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Лук Ночи

А вот пример обновленных булав: теперь они есть как одноручные так и двуручные, плюс есть тяжелые одноручные и тяжелые двуручные:

Дробящее Оружие
   

Иконка

Название

Необходимый
уровень

Необходимо
силы

Необходимо
ловкости

Необходимо
интеллекта

Вес

Цена

Две
руки

Свойства
(качество материала: 1.0, стихия: физическая)

Исключенные
свойства

Пример названия
с префиксом

Дубина
(Club)

1

30

0

0

180

396

нет

Физический урон: 12
Скорость атаки: 0.9
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходная Дубина

Булава
(Mace)

5

50

0

0

180

712

нет

Физический урон: 27
Скорость атаки: 0.9
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходная Булава

Булава с Шипами
(Spiked Mace)

9

70

0

0

180

1282

нет

Физический урон: 40
Скорость атаки: 0.9
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходная Булава с Шипами

Кистень
(Flail)

13

90

0

0

180

2106

нет

Физический урон: 55
Скорость атаки: 0.9
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Кистень

Буздыган
(Buzdygan)

18

115

0

0

180

3492

нет

Физический урон: 72
Скорость атаки: 0.9
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Буздыган

Ангельский Гнев
(Angelic Wrath)

22

135

0

0

180

4886

нет

Физический урон: 85
Скорость атаки: 0.9
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Ангельский Гнев

Двуручная Дубина
(Two-handed Cudgel)

1

30

0

0

210

432

да

Физический урон: 20
Скорость атаки: 0.8
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходная Двуручная Дубина

Двуручный Молот
(Two-handed Hammer)

5

50

0

0

210

777

да

Физический урон: 44
Скорость атаки: 0.8
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Двуручный Молот

Пудовый Молот
(Pood Hammer)

9

70

0

0

210

1399

да

Физический урон: 68
Скорость атаки: 0.8
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Пудовый Молот

Двуручный Кистень
(Two-handed Flail)

13

90

0

0

210

2298

да

Физический урон: 93
Скорость атаки: 0.8
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Двуручный Кистень

Молот Гномов
(Hammer of Dwarves)

18

115

0

0

210

3810

да

Физический урон: 124
Скорость атаки: 0.8
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Молот Гномов

Вестник Смерти
(Messenger of Death)

22

135

0

0

210

5330

да

Физический урон: 148
Скорость атаки: 0.8
Шанс критического удара 8%
Сила критического удара 200%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Вестник Смерти

Молот
(Hammer)

1

30

0

0

200

460

нет

Физический урон: 16
Скорость атаки: 0.65
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Молот

Молот Кузнеца
(Blacksmith‘s Hammer)

5

50

0

0

200

829

нет

Физический урон: 36
Скорость атаки: 0.65
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Молот Кузнеца

Боевой Молот
(War Hammer)

9

70

0

0

200

1492

нет

Физический урон: 54
Скорость атаки: 0.65
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Боевой Молот

Тяжелая Шипастая Булава
(Heavy Spiked Mace)

13

90

0

0

200

2450

нет

Физический урон: 73
Скорость атаки: 0.65
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходная Тяжелая Шипастая Булава

Утренняя Звезда
(Morning Star)

18

115

0

0

200

4063

нет

Физический урон: 96
Скорость атаки: 0.65
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходная Утренняя Звезда

Гнев Пастыря
(Shepherd‘s Wrath)

22

135

0

0

200

5685

нет

Физический урон: 114
Скорость атаки: 0.65
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Гнев Пастыря

Тяжелый Двуручный Молот
(Heavy Two-Handed Hammer)

1

33

0

0

250

526

да

Физический урон: 28
Скорость атаки: 0.55
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Тяжелый Двуручный Молот

Кувалда
(Sledgehammer)

5

55

0

0

250

948

да

Физический урон: 62
Скорость атаки: 0.55
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходная Кувалда

Костолом
(Bonebreaker)

9

77

0

0

250

1707

да

Физический урон: 96
Скорость атаки: 0.55
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Костолом

Молот Гигантов
(Hammer of Giants)

13

99

0

0

250

2803

да

Физический урон: 130
Скорость атаки: 0.55
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Молот Гигантов

Молот Смерти
(Hammer of Death)

18

126

0

0

250

4647

да

Физический урон: 174
Скорость атаки: 0.55
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Молот Смерти

Королевский Молот
(King‘s Hammer)

22

148

0

0

250

6502

да

Физический урон: 208
Скорость атаки: 0.55
Шанс критического удара 8%
Сила критического удара 250%
Оглушает при критическом ударе

increaseCastSpeed
increaseMagicAccuracy
addMagicAccuracy

Превосходный Королевский Молот

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

Новые грейды предметов, как видно по таблице, появляются на: 1, 5, 9, 13, 18, 22 уровнях.

Автоматический расчет характеристик

Сейчас в базе 120 предметов оружия. Представьте себе, что начав тестировать пвп мы обнаруживаем, что урон у оружия мал, и все бои затягиваются. Что нужно будет делать? Увеличивать ручками показатели урона у всех 120 предметов.

Тоже самое может случиться и по доспехам, и по бижутерии. И менять нужно будет не только урон, но, и например требования к силе/ловкости/интеллекта.

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

Что и было сделано. Теперь рассчитывается автоматически:

  • урон
  • защита
  • сопротивления
  • цена
  • требования к силе/ловкости/интеллекту

Уникальные особенности оружия

Еще в 2017 году была заложена концепция, когда каждый тип оружия имеет какую-то свою уникальную особенность.

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

Пройдемся по особенностям оружия:

Мечи – дают бонус к обычному и магическому блоку. Это будет маст-хев оружие для всех персонажей которые будут собирать билд на максимальный блок.

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

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

Кинжалы – накладывают на противника кровотечение при критическом ударе.

Луки – дают бонус к меткости.

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

 

Здесь стоить добавить, что это не все запланированные типы оружия, в будущем будут добавляться новые, также со своими уникальными особенностями.

Обновленные магические аффиксы

Следующее что нужно было переделать – это магические аффиксы. Старая система позволяла была сделана в формате «1 фикс = 1 свойство»

Такая система не позволяла делать аффиксы в формате: «Все сопротивления +1%» или например свойства которые будут содержать и положительное и отрицательное свойство, например «Здоровье +50, Мана -50»

В новой версии это сделано. Теперь существуют следующие аффиксы содержащие в себе сразу несколько свойств. Пример некоторых из них:

Магические аффиксы
   

ID

Тип

Уровень
предмета

Требуемый
уровень

Редкость

Цена

Модификаторы

308

addMaxAllResist

22

19

20

5600

Максимальное сопротивление физическому урону +1%
Максимальное сопротивление урону огнем +1%
Максимальное сопротивление урону водой +1%
Максимальное сопротивление урону воздухом +1%
Максимальное сопротивление урону землей +1%
Максимальное сопротивление урону магии жизни +1%
Максимальное сопротивление урону магии смерти +1%

350

doublePhysicalDamage

25

23

100

2480

Физический урон +19…+24
Физический урон +27…+34%

392

Might

25

23

100

2480

Сила +19…+25
Здоровье +47…+60

398

Magic

25

23

100

2480

Интеллект +19…+25
Мана +47…+60

404

Mobility

20

20

40

1640

Меткость +61…+70
Скорость атаки +14…+15%

410

Magic Mobility

20

20

40

1640

Магическая меткость +61…+70
Скорость создания заклинаний +14…+15%

416

Brutality

26

26

100

1450

Здоровье +57…+70
Мана -57…-70

422

Fragility

26

26

100

1450

Мана +57…+70
Здоровье -57…-70

428

Brute Force

26

26

100

860

Сила +25…+28
Интеллект -25…-28

434

Fragile Mind

26

26

100

860

Интеллект +25…+28
Сила -25…-28

437

Enchant

24

23

40

3600

Шанса критического удара +17…+20%
Сила критического удара +24…+26%

Другими словами, если раньше на одном предмете могло быть только одно свойство на +здоровье, то теперь это может быть +здоровье / +сила, +здоровье / + здоровье -мана. Что в сумме даст значительно большую прибавку к здоровью, и для тех игроков, которые собирают максимум здоровья этот предмет получит огромную ценность. Но стоит учитывать, что у каждого типа предмета есть свой набор доступных аффиксов, и не на каждом предмете все эти три свойства доступны.

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

Косметические улучшения

1. Некоторые свойства на предметах особо полезные и в тоже время шанс их появления ниже. Чтобы сразу было видно, что вам попался предмет с редким свойством добавлено цветовое выделение таких редких свойств:

2. Теперь одинаковые магические свойства объединяются. Например у вас сгенерировалось на предмете два свойства: +50 здоровья и +20 силы, +30 здоровья, будет отображено +20 силы, +80 здоровья

3. Добавлена мультиязычность – сейчас поддерживается английский и русский язык, но легко можно будет добавить новый. Сейчас этот функционал не нужен, но в будущем, когда игра будет готова, и появится желание запустить её в других странах – понадобится.

4. Качественный код. Вот так, например, выглядела информация по магическим аффиксам в старой версии:

Очень понятно, да? Теперь все наглядно и удобно:

Ну и покрытие тестами теперь не 0%, а 100%, и шанс что внезапно что-то сломается от где-то неправильно выставленного параметра резко снижается:

Посмотреть новые предметы

Добавлена страница, где вы можете сгенерировать случайный предмет. Просто потыкать рандом.

Хотелось бы еще добавить страницы по всем предметам и аффиксам, но пока некогда – сроки горят и нужно к 1 апреля еще много чего сделать.

Показать полностью
Diablo 26 дней назад
3

Итоги первого месяца после обновления сайта

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

Обновлять такой большой и старый сайт как наш это огромный пласт работы. Потому что сам по себе функционал, разработка которого также заняла кучу времени, сам по себе — это просто пустые страницы. Без контента это не имеет никакой ценности.

Первые пару недель я занимался самым-самым базовым наполнением: добавил 16 игр в базу (благо RostyaL написала много обзоров в свое время), добавил 8 сообществ и немного перенес постов в каждый из них, чтобы они не были пустыми. В сумме за первые две недели перенес 157 страниц со старого движка, и 14 января обновил главную страницу.

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

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

Зато теперь:

База знаний по Diablo 2 полностью перенесена.

Общие итоги по месяцу

- Перенесено 764 страниц со старого движка. Полностью перенесены разделы Базы знаний по Diablo 2 и Дневники разработки Dusk World. Теперь ~75% посетителей сайта видят страницы на новом движке.
- Добавлено 16 игр в базу. Плюс на подходе обзор на Path of Exile 2 от JustNeedCoffee и обзор на первую Diablo от меня.
- Добавлено 12 сообществ.

Небольшие доработки

- Добавлена защита от перебора авторизационного токена
- Добавлены новые теги игр: «Браузерная», «PvP», «Бесплатная»
- Добавлена пагинация в комментариях
- Доработана форма создания постов через админку (через которую и переношу старые страницы)
- Добавлен функционал переноса старых комментариев на существующий пост - понадобился, когда при переносе старой страницы забываешь указать url старой страницы, от куда тянутся комментарии. В итоге пост создается, но без старых комментариев.
- По мелочи доработано отображение страниц на мобильной версии
- В заголовке поста добавлено больше допустимых символов (пишите, если каких-то символов вам не хватает)
- Улучшена страница списка пользователей: добавлено отображение группы Dusk World Team, добавлено цветовое выделение группы администратора и модератора.
- Доработана страница статистики.

Исправленные ошибки

- Исправлена ошибка добавления достижения «Участниек бета-теста»: она добавлялась, но в параметрах пользователя не указывалось, что есть достижения, и запрос на их получение не отрабатывал, что приводило к тому, что достижение не отображалось.
- Исправлена ошибка, когда на старых страницах сайта пропал favicon после переезда
- Исправлена ошибка, когда на странице компании не выводилось её полное описание
- Исправлена ошибка с комментариями, когда нельзя было добавить ответ на только что добавленный комментарий (нужно было обновить страницу)
- Исправлена ошибка, когда не отображался перенос строк в комментариях
- Исправлена ошибка, когда обзор на игру добавлялся через админку, то статус игры не менялся и не увеличивалось количество обзоров у неё
- Исправлена ошибка, при которой не отображалась фраза «причина неизвестна» в компаниях, которые закрыты, но причина закрытия которых не указана
- Исправлена ошибка, когда некорректно отображались иконки игр на странице «Мои игры»
- Исправлена ошибка, когда страница пользователя с символами - и _ в имени не открывалась

Из неприятного

Посещаемость сайта упала где-то на 20%, с ~5000 уникальных посетителей в сутки до ~4000. Это связано с тем, что поисковики не любят когда меняются url страниц. А у нас это произошло дважды: вначале при переезде на новый домен, а потом при переезде страниц со старых url на новые.

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

Из приятного

Возможность каждому пользователю писать посты дала свои первые плоды - Demos, Seven и DeoKristal написали по своему первому посту. Спасибо за первый пользовательский контент на сайте без моего участия.

(пользователи присылали материалы для публикации и раньше, но раньше мне приходилось подключаться и оформлять страницы)

Что дальше

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

Напомню, что на конец марта у нас запланирован релиз персонажей, предметов, прокачки через «кликер» и PvP на обновленном модуле боевки.

P.S.

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

Показать полностью
Diablo 1 месяц назад
2

Обновление главной страницы

Ну что, обновленный сайт постепенно наполняется — добавлено 16 игр в базу игр, создано 8 сообществ, перенесено 157 страниц со старого движка на новый. И это значит, что можно уже обновить главную страницу.

На память скриншот, как главная выглядела раньше:

И как теперь:

Что дальше

Дальше по плану добавление нового игрового функционала и продолжение постепенного переноса старых страниц, но я тут проанализировал как распределяется посещаемость по разделам и выяснил, что распределяется она крайне неравномерно: например, раздел по Path of Exile имеет 661 страниц, и всего 2.5% посетителей от общего числа, а раздел по Diablo 2 имеет 516 страниц и 70% посетителей всего сайта.

Я знал, что посещаемость распределяется неравномерно, но что прямо вот так радикально — не обращал внимание. А это значит, что если в ближайшие 2-3 недели сосредоточиться только на переносе раздела Diablo 2 на новый движок, то 70% посетителей сайта будут видеть уже обновленный сайт.

Так что я пока отложу новый игровой функционал и займусь переносом раздела по Daiblo 2.

Меню в сообществах

Нельзя не упомянуть и про меню в сообществах:

Конечно, за столько лет все уже привыкли к старому разделу Diablo 2, с левым меню, и после переезда придется потратить время, чтобы привыкнуть к новому.

В любом случае:

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

P.S.

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

Показать полностью
Diablo 2 месяца назад
2

О питомцах и славе

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

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

Но прежде чем переходить к подробностям, давайте начнем с проблемы.

 

Б значит баланс

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

И возникнет проблема — магу будет очень сложно «держать» удар, и было бы хорошо иметь какого-то танка. Танку будет сложно убивать врагов, и хорошо бы за спиной иметь какого-то дд. Мили-дд будет не хватать выживаемости, и хорошо бы в тылу иметь какого-то хила и т.д.

Изначально концепция по спутникам была такая:

Наемники

Вводятся в игру первыми. Это просто одноразовые спутники разного типа, которые живут до первой смерти. Нанимаются за золото.

Союзники

Затем появляются союзники. Это городские NPC с которыми отношения прокачены до такого уровня, что они готовы составить компанию в приключениях. Они изначально сильнее наемников, плюс их можно дополнительно прокачивать.

Питомцы

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


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

 

Подробнее о питомцах и их получении

Будет отдельный NPC Закан, который специализируется на ловли и приручением всяких диких животных.

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

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

При этом, если нужного количества славы пока нет — можно вернуться позже, когда слава появится. Главное не говорить Закану поймать кого-то еще, тогда он отпустит пойманного зверя.

Будет существовать три градации редкости/мощности питомцев:

  • Обычные
  • Редкие
  • Легендарные

В каждой градации питомцы будут делиться на разную специализацию:

  • Танки
  • Мили-ДД
  • Рейндж-ДД
  • Хил/поддержка
  • Необычные гибриды

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

Примеры питомцев
   

Аватар

Название

Редкость

Роль

Способности

Черный Волк

Обычный

Боец ближнего боя со средними показателями атаки и защиты, а также неплохим сопротивлением стихийному урону

Отсутствуют

Пума

Обычный

Боец ближнего боя с хорошей защитой и высоким шансом критического удара

Отсутствуют

Гризли

Обычный

Боец ближнего боя с большим запасом здоровья

Отсутствуют

Ящер Куко

Обычный

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

Поддержка природы — восстанавливает небольшое количество здоровья самому раненому члену отряда

Единорог

Редкий

Боец ближнего боя с высокими здоровьем и сопротивлениями.

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

Мяу

Редкий

Боец ближнего боя с высоким шансом и силой критических ударов. Также имеет хорошую обычную и магическую защиту.

Пронзающий удар — сокрушительный удар с повышенным шансом нанести критический удар

Огненная лисица

Редкий

Маг дальнего боя с мощными атакующими характеристиками

Испепеление — испускает по противнику прожигающий огненный луч наносящий большой урон

Фея

Редкий

Маг дальнего боя с возможностью лечить спутников

Поддержка природы — восстанавливает небольшое количество здоровья самому раненому члену отряда

Мифриловый голем

Легендарный

Боец ближнего боя практически неуязвимый для физического урона, а также магии жизни и смерти.

Дрожь земли — наносит сокрушительный удар по земле, ударная волна от которого наносит урон всем противникам

Неприступность — увеличивает свои базовые и максимальные сопротивления

Ониксовая черепаха

Легендарный

Боец ближнего боя с большим запасом здоровья, высокими сопротивлениями и способностями увеличивающие регенерацию здоровья

Рваная рана — кусает противника оставляя ему кровоточащую рану, наносящую постепенный урон

Природная регенерация — накладывает на себя эффект постоянного восстановления здоровья

Белоснежный тигр

Легендарный

Боец ближнего боя с высоким уроном и сокрушительными атакующими способностями.

Укус — кусает противника восстанавливая 50% от нанесенного урона

Звериная ярость — накладывает на себя эффект увеличивающий урон и скорость атаки

Дриада

Легендарный

Лучник со способностями лечения и усиления спутников

Метка восстановления — накладывает на самого раненого члена группы эффект постепенного восстановления здоровья

Единение с природой — накладывает на союзника эффект увеличивающий атаку, защиту и скорость атаки и создания заклинаний

Аватар

Название

Редкость

Роль

Способности

Хотя, возможно, сделаю 4 градации спутников, что позволит последний сделать прямо действительно редким-редким.

Также нужно будет еще хорошенько подумать над вариантами спутников и их особенностями. Нужно будет сделать штук 30-40 минимум. Если есть интересные идеи — пишите.

 

Прокачка и тренировка питомцев

Если вы берете питомца с собой в локации — он будет получать 30% от вашего опыта и прокачиваться. При этом количество необходимого опыта для получения новых уровней отличается для питомцев разной редкости отличается:

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

Редкие питомцы качаются в два раза медленнее. А легендарные — в 5 раз медленнее. Соответственно их прокачка будет весьма и весьма трудной. Но и пользу они дадут существенную.

Помимо прокачки питомцев их можно тренировать:

  • Тренировать злость: +1% глобального урона за 1 тренировку
  • Тренировать живучесть: +1% здоровья за 1 тренировку
  • Тренировать скорость: +0.01% скорости атаки и создания заклинаний за 1 тренировку
  • Тренировать меткость: +1.5% обычной и магической меткости за 1 тренировку
  • Тренировать верткость: +1.5% обычной и магической защиты за 1 тренировку
  • Тренировать стойкость к огню: +2% сопротивления за 1 тренировку
  • Тренировать стойкость к воде: +2% сопротивления за 1 тренировку
  • Тренировать стойкость к воздуху: +2% сопротивления за 1 тренировку
  • Тренировать стойкость к земле: +2% сопротивления за 1 тренировку
  • Тренировать стойкость к магии: +1% сопротивления к магии жизни и магии смерти

Всего можно сделать по 30 тренировок на каждый тип. Для тренировки также требуется слава.

Суммируя все вышеописанное можно сказать что питомцы — это почти бесконечный потенциал для усиления своего персонажа:

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

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

 

Подводя итог

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

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

Показать полностью
Diablo 3 месяца назад
1

О группе «Dusk World Team»

Не знаю как вы, но я обожаю рейтинги в онлайн играх. Но важно, чтобы эти рейтинги были честными, иначе весь азарт соревнования исчезает.

Но будет ли рейтинг, например, по карме, честным, если там буду я, написавший 3000+ страниц на сайте? Ведь я буду там на вечном первом месте, с громадным отрывом от остальных. Будет ли он честный, если там будет JustNeedCoffee или Gattling у которых также куча статей и которые получали деньги за их написание? Очевидно, что нет.

Думал над тем как решить эту проблему, и решил добавить специальную группу Dusk World Team. И добавить туда себя и всех пользователей, которые пишут материалы за деньги.

Участники этой группы:

  • Не будут отображаться в рейтингах
  • Их показатели не будут влиять на рейтинг рас
  • Не смогут участвовать в турнирах и рейтинговых PvP

Правда возникает другая проблема — а что делать с JustNeedCoffee, у которого часть старых материалов была написана «на энтузиазме»? Что делать, если он захочет участвовать в проекте как обычный игрок со всеми возможностями?

Для таких людей мы сделаем исключение из правила «один человек может иметь только один аккаунт», и они смогут иметь два аккаунта:

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

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

 

«А пусть все будет только на энтузиазме»

Нельзя не упомянуть о варианте, когда все пишут посты только на энтузиазме, и вообще никто ни за что не получает денег. Размышлял над таким вариантом, и в нем вот какая проблема:

Представьте себе, что Dusk World уже реализован, есть активная аудитория, допустим в 200 человек, и мы между собой играем и общаемся.

Хочется ли нам, чтобы нас было больше? Разумеется хочется. А теперь представьте, что выходит The Elder Scrolls 6 и тысячи игроков ищут по ней гайды, описания предметов, заданий и прочего. И представим, что у меня есть лишние 100-200 тысяч рублей. Логично же потратить их на актуальный контент по новой игре, который опосредованно приведет и новых игроков в Dusk World.

Отказываться от такой возможности глупо.

И глупо надеяться, что кто-то на чистом энтузиазме возьмет и будет монотонно писать 200 статей о заданиях, потом 100 статей об уникальных предметах, где их найти и т.д. При создании базы знаний очень много рутинной работы.

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

Показать полностью
Diablo 3 месяца назад
2

Ачивка за участие в бета-тесте

Время идет, и все ближе релиз Dusk World. Пускай пока с сильно урезанным функционалом, но все же релиз. Времена бесконечных демо-версий, которых было аж 4 штуки навсегда останутся в прошлом, хотя я и не буду их удалять и можно будет зайти и вспомнить с чего все начиналось.

Чтобы выделить и наградить всех тех, кто принимал участие в тестировании, давал фидбек, находил ошибки и просто морально поддерживал своим неравнодушием к проекту, я решил добавить уникальное достижение:

Чтобы получить это достижение необходимо:

  • зарегистрироваться до 1 января 2025 года на dwdemo.ru, dwdemo2.ru или demo.duskworld.ru (достаточно на каком-то одном);
  • указать тот же почтовый ящик, на который вы потом будете регистрировать основной аккаунт — привязка будет именно к email, а не к нику;
  • проявить какую-либо активность (просто регистрации недостаточно);
  • ждать релиза, после чего зарегистрироваться уже на основном проекте duskworld.ru и сразу, автоматически, получить достижение.

Важно! То, что сейчас можно сделать потратив 10 минут — потом нельзя будет получить никаким способом. Имейте ввиду — оставшийся месяц пролетит незаметно.

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

И еще раз, чтобы не было недопонимания, чего недостаточно для получения достижения:

  • Просто зарегистрироваться;
  • Зарегистрироваться после 31 декабря 2024;
  • Зарегистрироваться на чужой email;
  • Допустить ошибку в написании email. Подтверждение email добавлено только в последней демо-версии — demo.duskworld.ru, если вы там зарегистрировались — то с почтой точно все ок.

Я заранее знаю что потом мне будут писать и говорить «ой, а я не знал», «ой, а я не заметил» - но будет уже поздно. Вы предупреждены, и у вас есть целый месяц чтобы перестраховаться и зарегистрироваться еще раз.

Потом пеняйте на себя.

P.S.

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

Так что данное достижение не только уникальное, оно еще и долгое время будет единственным на проекте, что будет придавать ему еще большую ценностью.

Показать полностью
Diablo 3 месяца назад
1

О внутриигровой валюте

Ну что, пора поговорить про бабосы. Как и в любой другой free-to-play игре в Dusk World будет внутриигровой магазин за dusk coin.

Думаю не нужно объяснять, что разработка требует много времени и денег, и заниматься этим на голом энтузиазме конечно можно, но не долго. А чтобы проект жил и развивался — нужна какая-то монетизация.

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

 

Что можно будет купить

Аватары

Первое что появится в игровом магазине — это аватары. По умолчанию на каждую расу+пол будет 12 аватаров на выбор. Но разумеется этого мало, и разумеется игрокам захочется как-то выделиться.

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

Фоновые рисунки инвентаря

Второе, чем можно будет украсить и выделить своего персонажа — это покупкой фоновой картинки для инвентаря:

Те фоновые рисунки что вы видите сейчас на demo.duskworld.ru — делались на заказ в далеком 2017/2018 году, за каждый рисунок (всего их 12) платил по 200-300$, но выглядит это сейчас весьма… скромно.

Знал бы что в 2024 году генерация рисунков ии дойдет до такого высокого уровня — не тратил бы столько денег впустую.

Дополнительные вкладки в сундуке

По-умолчанию личный сундук имеет 3 вкладки. Разумеется по мере накопления игровых ништяков захочется иметь больше. Можно заморачиваться с хранением большего количества предметов на персонажах-твинках, а можно просто купить дополнительные вкладки в сундуке.

При этом можно будет купить или простые вкладки, или изменяемые вкладки, которые можно будет переименовать и выделить нужным цветом.

Дополнительные слоты для персонажей

По-умолчанию можно будет создавать 10 персонажей. Это ограничение можно будет расширить, купив дополнительные слоты для персонажей.

Рамки для аватар

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

Они будут разного цвета за разную цену. А чтобы такие рамки были редкими, а комментарии не выглядели как новогодняя елка — они будут покупаться на месяц.

(в далекой перспективе) Расширенная статистика

Но что более интересно, но потребует большого количества времени на разработку — это покупка расширенной статистики по аккаунту и персонажу:

  • график получение опыта и уровней аккаунтов по дням;
  • график получения опыта и уровней по каждому игровому персонажу по дням;
  • статистика по участию в эвентах и их результаты;
  • возможность посмотреть кто вам больше всего лайкал и дизлайкал;
  • всякого рода полезная информация, аля «вы входите в 32% самых популярных авторов, месяц назад показатель был 36% (+4%)»;
  • возможно что-то еще.
 

Способы получения dusk coin

Dusk coin можно будет купить за реальные деньги, но это лишь один из способов. Их можно будет получить за:

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

Игровой рынок

На проекте будут существовать следующие типы валюты:

  • золото — тут все понятно, добывается игровым фармом.
  • карма — за счет неё можно будет покупать светлые камни эфира, вставлять в экипировку и получать бонусы против монстров
  • слава — за счет неё можно будет получать и усиливать питомцев (про неё скоро напишу отдельный выпуск дневников разработки)
  • dusk coin — валюта внутриигрового магазина.

При этом всей этой валютой можно будет торговать. Соответственно тот, у кого какой-то одной валюты много сможет обменять её на другую валюту. Рынок будет абсолютно свободный, и только он решит что ценно и на сколько.

В торговле кармой и славой будет особенность — напрямую её покупать или продавать будет нельзя, но можно будет покупать и продавать камни светлого эфира и самих питомцев. Но сути это не меняет.

 

Приоритеты реализации

Первое что появится довольно быстро — это возможность получать и копить dusk coin. Думаю уже через 1-2 месяца после релиза. Чтобы те пользователи, которые проявляют активность уже получали за это бонусы, пусть их еще и нельзя будет на что-то потратить.

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

Затем будет добавлена возможность обменивать dusk coin на другие виды валюты.

И только потом, в последнюю очередь будет возможность купить dusk coin за реальные деньги.

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

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

А до этого проект будет существовать без вливания денег. Сказать плохо это или хорошо сложно — с одной стороны, игроки получат «чистую» экосистему без влияния кошельков. С другой стороны, тот запас денег на который я живу, и который позволяет заниматься Dusk World целыми днями, скоро закончится, и мне нужно будет опять выходить на работу. И разработка Dusk World сильно замедлиться.

 

Подводя итог

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

На мой взгляд это будет максимально справедливая и сбалансированная система для игроков.

Показать полностью
Diablo 3 месяца назад
3

Переезд на DuskWorld.ru и новая демо-версия

Ну что господа, двигаемся в соответствии с планом, а по плану на конец октября у нас переезд на новый домен DuskWorld.ru (заодно наконец-то сайт переехал на https) и выход новой, четвертой демо-версии Dusk World. Вы только подумайте, четвертая версия! У меня при мыслях об этом сразу такая ассоциация:


Потрогать новую версию матрицы Dusk World

(вспомнить старые версии: первая, вторая, третья)



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

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

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

Из важного, чего еще нет, но добавится в ближайшие 2 месяца:

  • Будут обновлены все аватары;
  • Функционал редактирование своих комментариев/постов/сообществ/игр;
  • Функционал восстановления/смены пароля;
  • Больше опций при создании постов (например, голосования);
  • И прочие мелочи.

Эпоха Diablo1.ru заканчивается, начинается эпоха Dusk World!

Показать полностью
Diablo 5 месяцев назад
2

Часть 19: Что нового

Просто красивая картинка с просторов еще не запрещенного интернета


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

Предыдущий выпуск начался с хронологии того, что было. Этот выпуск начну аналогично. Тем более что самому приятно потом перечитать и вспомнить как оно было.

 

2022 год — сложный для всех год, для меня он не был исключением — рухнули все планы по поиску более высокооплачиваемой работы, в итоге год в основном отдыхал, только по выходным понемногу переписывал на нормальный код модуль боевки.

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

декабрь 2023 — дописана новая версия боевки. Визуально и по механикам там (пока) все как в старой, но внутри всё переписано и намного больше просторов для реализации интересных механик. Подробнее о ней писал в предыдущем выпуске дневников.

январь-март 2024 — дорабатывал свой фреймворк, на котором написана вторая демо-версия.

апрель 2024 — возвращаюсь к попыткам развивать проект дальше на основе второй демо-версии, но там все сложно (подробности ниже).

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

1 июля 2024 — отдохнув приступаю к написанию новой версии проекта.

 

Итак, новая версия проекта

Да-да, знаю, что при этих словах у всех кто всё еще ждет проект будет примерно такая реакция:

Но, как бы ни было много сделано во второй демо-версии, её пришлось отложить, и делать новую. Причин несколько:

  • отсутствие авто-тестов, соответственно при изменении старого кода постоянно что-то отваливается. А правки старого кода там приходится делать постоянно.
  • фундаментальные архитектурные косяки, например числовые айдишники, которые нельзя оставлять как есть: когда посты имеют url вида domain.ru/post/10 то легко написать скрипт, который будет каждую секунду запрашивать новые посты, и в туже секунду, как они добавлены на сайт — копировать их себе. И поисковики могут подумать, что именно сайт-вор это источник контента.
  • много недоработок, с которыми невозможно было мириться, например, не было миграций для базы данных

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

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

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

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

 

Новая версия проекта

Давайте пройдемся по новой версии проекта, покажу что сделано за 3.5 месяца. Пока занимаюсь пока только «сайтовой» частью проекта.

Регистрация. Здесь пока все также, но в будущем все аватары будут заменены.

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

Теперь нужно подтверждать регистрационный email — это усложнит создание твинков.

В посте добавились теги, а комментарии отображаются не простым списком, а в виде дерева.

Добавлена база игр.

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

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

Игру можно добавить в любимые, и тогда она появится на странице профиля.

Есть и страница разработчика игр, тут пока все просто — небольшое описание и список игр выпущенных данной компанией.

В будущем можно будет добавить «лайки» компаниям игр и можно будет сделать рейтинг самых любимых компаний по версии игроков.

Добавлены сообщества.

Текущие базы знаний по играм это будут именно сообщества.

И на этом же скрине видно небольшое улучшение по уведомлениям — если их 3 или более появляется кнопка «закрыть все». Не нужно кликать на каждый отдельно.

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

Подробнее о спутниках и питомцах расскажу в будущих выпусках дневников.

Сами сообщества пока предельно простые — это список постов, с возможностью отфильтровать по рейтингу, и меню.

По сообществам еще много работы.

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

Также небольшое изменение по характеристикам: теперь очки за новые уровни можно потратить на увеличение доступного места на диске.

 

Эволюция понимания как надо делать

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

При этом поделить проект нужно так, чтобы каждая его опубликованная часть была самодостаточной. Первое очевидное решение: вначале опубликовать сайтовую часть, потом игровую. Еще немного подумав пришел к 4 стадиям:

План по релизам
   

Стадия I
Конец октября

Стадия II
Конец декабря

Стадия III
Март

Стадия IV
Лето

Функционал

переезд diablo1.ru на duskworld.ru
переезд diablo1.ru на https
запуск новой демо-версии

«тихий» релиз сайтового функционала

релиз «кликера» и PvP

релиз игровой составляющей проекта
запуск нового сезона

Пользователи в это время

тестируют сайтовый функционал в демо-версии

осваивают новый сайтовый функционал

тестируют PvP

играют в полноценную игру

Я в это время

доделываю админку, ошибки и прочие мелочи

переношу старые страницы на новый движок
реализую функционал персонажей,
обновляю предметы
добавляю рейтинговые PvP
добавляю турниры

продолжаю переносить старые страницы
правлю баланс
делаю новые локации
функционал диалогов
функционал квестов
и прочее

продолжаю переносить старые страницы
доработка мелочей
доработка баланса
разработка функционала для следующих обновлений

Если по первой и последней стадии всё понятно, промежуточные нужно пояснить:


Стадия II: «тихий» релиз сайтового функционала — когда функционал будет готов, нельзя будет просто взять и переключить сайт на новую версию. Потому что постов 0, игр 0, сообществ 0, и пользователи подумают, что привычный им сайт куда-то исчез.

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

Тоже самое с базами игр и сообществами — буду добавлять их в интерфейс когда там что-то будет.

Ну и конечно же будет огромный объем работы по переносу ~5000 старых страниц на новый движок, с комментариями. Т.е. какое-то время на сайте одновременно будут старые страницы, с комментариями как сейчас от гостей, и новые страницы, с комментариями только от зарегистрированных пользователей.

В общем это специфика обновления крупных и старых проектов.


Стадия III: релиз «кликера» и PvP — разработка новых локаций займет много времени, и чтобы пользователям было чем заняться, весной будет условный релиз «кликера»: когда на странице персонажа будут просто кнопки «добавить x опыта (10 энергии)», «добавить предмет (5 энергии)» и за счет этого можно будет прокачивать и одевать своего персонажа, а потом учавствовать в PvP с другими персонажами.

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

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

 

P.S.

В общем планы такие. Самое главное — что я уволился и могу полноценно заниматься проектом. Ближайший год будет веселым!

Показать полностью
Diablo 6 месяцев назад
3

Часть 18: Пять лет разработки

Ну что, не ждали новой части дневников по разработке Dusk World? Думали, забил Diablo на свою игру? Нет, ни разу не забил, хотя жизнь в последние годы и добавила геморроя.

Но давайте обо всем по порядку. Восстановим хронологию событий с момента последнего дня разработки — августа 2019 года.

 

12 августа 2019 — Выпуск предыдущего дня дневников, в котором объявляю о предварительном релизе второй демо-версии. Это не полноценный релиз демо-версии, а просто публикация текущих наработок, которые любой желающий может потрогать своими руками. И обо всех обновлениях писал там же.

5 октября 2019 — В демо-версию добавлена прокачка боевых способностей и PvP

6 ноября 2019 Добавлен личный сундук и бонусы от полных наборов определенного типа брони

11 мая 2020 Добавлена механика локаций (модуль локаций переписан полностью с нуля, на что ушло 5 месяцев) — визуально это та же одна локация, что и в первой демо-версии, но под капотом все совершенно по другому — качественней и лучше.

31 мая 2020 Добавлены уведомления и статусы постов

Июнь 2020 — К болям в пояснице, которые меня беспокоят с 2014 года, добавляются боли в шее. И надо отметить, проблем они доставляют намного больше, чем боли в пояснице, с которыми, в той или иной степени, сталкиваются многие.

14 июня 2020 Добавлена механика дропа и два новых типа эпизодов: Алхимическая лаборатория, где можно найти несколько зелий, и Магическая комната, где можно найти несколько книг заклинаний.

Июль 2020 — Боли в шее не проходят уже месяц, и начинаю ходить по врачам. Т.е. вместо того, чтобы после работы сесть за разработку Dusk World, приходится идти к врачу, и так по несколько раз в неделю. Разумеется, все это тормозит разработку.

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

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

14 июля 2020 — Из забавного: первый пользовательский гайд о том, как положить в сундук предметов больше допустимого

29 июля 2020 Добавлены турниры; пока игроков немного — лишь самые маленькие на 8 участников. В будущем будут турниры на 16/32/64 участника с более ценными призами.

2 сентября 2020 Добавлена механика торговцев и первый NPC-алхимик. Это последнее значительное обновление демо-версии. Боли в шее так и не проходят и начинают отравлять жизнь все больше.

17 ноября 2020 — Пишу пост дела житейские в которых рассказываю, что из-за проблем со здоровьем возможности заниматься Dusk World уменьшились.

Декабрь 2020 — Черный месяц, когда я пошел в очередную клинику, занимающуюся исключительно проблемами с позвоночником (кажется, что все подобные клиники — исключительный лохотрон и развод на деньги), где я плачу 80 тысяч, хожу в течении 4 недель на процедуры, т.е. каждый будний день в 8:00 выехал на работу, а домой вернулся в 23:00, т.е. свободного времени в принципе 0, и по итогу всего этого мне стало только значительно хуже — и боли стали острее, и грыжа в шее стала больше.

В этот момент меня окончательно выбивает из процесса разработки Dusk World, и сил хватает только на работу, хождение по врачам и сон.

2 января 2021 Обновлена генерация монстров. В текущей одной локации ничего принципиально не изменилось, это изменение на будущее — когда понадобится заполнять монстрами другие локации, и когда один и тот же монстр может быть разного уровня, соответственно, нужно, чтобы характеристики прогрессировали с ростом уровня.

20 февраля 2021 — Blizzard анонсируют Diablo 2 Resurrected, и становится понятно, что надо будет обновить раздел Diablo 2 на сайте. Учитывая, что релиз анонсировали на сентябрь этого же года — заниматься обновлением надо прямо сейчас, за что и берусь. К счастью, с обновлением помогают JustNeedCoffee и Gattling.

8 марта 2021 — Параллельно с обновлением раздела Diablo 2 начинаю активно писать новый модуль боевки. Старая боевка писалась еще в 2017 году, на костылях, и добавлять в неё новые механики стало очень сложно. Плюс в ней есть плавающие хитрые баги, которые сложно отловить: например, ситуации, когда урон от атаки не наносится в принципе. Случается такой баг раз в месяц, и сколько не пробовал — даже воспроизвести его не удавалось, не говоря уже о том, чтобы исправить.

В таких ситуациях проще написать с нуля, с хорошим ООП, с юнит-тестами, чем мучить дохлую старую лошадь.

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

27 мая 2021 Второй пост дела житейские, в котором пишу, что наконец-то нашел врача, который помог найти причину болей, и что процесс выздоровления наконец-то пошел. За год хождения по врачам было потрачено 650 тысяч, и если бы не врачи — уже на тот момент можно было увольняться, и 8-10 месяцев спокойно сидеть и целыми днями заниматься игрой.

28 октября 2021 Третий пост дела житейские, в котором рассказываю о том, что, несмотря на улучшившееся здоровье, время уходит на обновление раздела Diablo 2, написание новой боевки, и на подготовку к будущим собеседованиям. А на развитие демо-версии Dusk World времени не остается.

14 января 2022 — Глобальное обновление раздела Diablo 2 на сайте. По сути весь 21 год ушел именно на это.

 

«Спецоперация» и умерший рынок труда

Казалось бы, худшее позади, «но расслабляться погоди, ведь много ждет нас впереди» (c)

Вся разработка Dusk World шла в свободное от работы время — после работы, на выходных, на праздниках, в отпусках. Получается этакая жизнь 24/7 за компьютером и кодом. Во-первых, это изматывает, во-вторых, даже в таком режиме игра разрабатывается медленно. Решение, которое напрашивалось — это поиск новой работы с большей зарплатой и откладывание 50% зарплаты в заначку, а потом, после года такого накопления — можно будет уволиться и год жить на накопленные деньги. И именно такие планы у меня были на весну 22 года — пойти по собеседованиям и найти работу получше. Тем более, что весь 21 год из каждого утюга рассказывали, какая острая нехватка программистов на рынке труда, и как у них необоснованно растут зарплаты (и то, и другое – полная чушь, не ведитесь и не несите свои деньги в айти-курсы).

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

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

Вспомнил про игры. Побегал по просторам старинного Morrowind (давно строю планы сделать о нем раздел на сайте), божественного Скайрима (тешу планы как-нибудь перезапустить хроники по скайриму), вспомнил старушку Lineage 2, которая, как оказалась, несмотря на свой почти 20-летний возраст, собирает онлайн на фришках больше, чем было в нулевые годы на официальных серверах.

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

Lineage 2 — это какой-то феномен игровой индустрии, столько лет прошло, а так и не встретил никакой другой MMORPG, которая бы настолько затягивала, и где можно было бы увидеть настолько массовые сражения — замес 300 на 300 это абсолютно рядовая ситуация.

В общем, в 22 году, пока в России царили хаос и паника, я, наоборот, хорошо отдохнул и отвлекся от жизненных проблем.

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

 

Изменения в новой боевой системе

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

Работа способностей полностью переделана

Если раньше были 3 способности, жестко завязанные на три характеристики: концентрацию, хитрость и ярость, то теперь способности могут активироваться при любых параметрах.

Например, если раньше пассивная способность людей «воля к победе» работала как «костыль», и просто с 20% шансом при смерти восстанавливала 50% здоровья (что визуально могло сбить нового игрока), то теперь это именно способность, и визуально персонаж вначале умирает, потом активируется способность и применяется – происходит анимация воскрешения. То же самое и с расовой способностью орков, увеличивающей урон в 2 раза при здоровье меньше 30%

Пока есть только 2 способности, завязанные не на концентрацию, хитрость и ярость, но уже нет никаких проблем добавлять новые, с самыми причудливыми условиями, вроде «здоровье меньше 50%, мана больше 50%, концентрация и ярость 100%»

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

И есть еще глобальное изменение по способностям, которое в процессе реализации – это отвязка от жесткой привязки на 3 способности завязанных на класс персонажа.

Персонаж будет просто иметь какой-то набор способностей, которые добавляются от:

  • расы
  • класса
  • предметов (да, будет механика, когда какие-то уникальные предметы будут добавлять боевые способности)

При этом способностей от класса может быть больше, чем 3, и будет возможность включать/отключать способности.

Добавлена статистика по бою

Она будет особенно интересна в боях «группа на группу» – можно будет посмотреть, кто больше урона нанес, кто больше урона принял, кто на сколько вылечил союзников и т.д.

Добавлена механика призыва новых существ на поле боя

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

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

Добавлена механика воскрешения юнитов

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

Улучшена механика эффектов

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

Например, размышляю над новой способностью для класса берсерк:

  • Способность активируется при здоровье > 70% (т.е. активируется со старта боя)
  • Каждый ход юнит теряет здоровье
  • Каждый ход увеличивается урон и скорость атаки

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

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

И таких интересных механик можно будет придумать и добавить массу.

Ну и, конечно же, классов у рас будет больше, чем сейчас по 5 штук на расу.

Добавлены особые эффекты от критических ударов с оружия

Как вы помните, каждый тип оружия имеет свои особенности. При этом у некоторых типов эта особенность проявляется при критическом ударе:

  • дробящее оружие может оглушить (одноручное – на 1 ход, двуручное – на 2 хода, тяжелое двуручное – на 3 хода)
  • кинжалы накладывают кровотечение на 3 хода
  • жезлы снимают один положительный эффект с цели (в отличие от двух предыдущих – эта механика еще в разработке)

Добавлена механика удара сразу по всем вражеским юнитам

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

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

В будущем планирую добавить способности, которые будут применяться по всему ближнему или дальнему ряду.

Добавлена мультиязычность

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

Что еще в процессе разработки:

  • Механика клонирования себя с % от исходных характеристик. Можно будет добавить уникальный класс «Иллюзионист», ультимативная способность которого будет создавать иллюзии, имеющие 15-25% характеристики хозяина. И уникального босса с аналогичной способностью.
  • Механика рефлекта урона
  • Механика снятия положительных/отрицательных эффектов
  • Есть еще идея интересной механики, когда класс суккуб сможет переманивать в свою команду вражеского юнита и заставлять несколько ходов воевать на своей стороне. Но это уже изыски, посмотрим, на сколько будет время
  • Также есть еще интересная (но сложная) механика: расширить количество сражающихся команд с 2 до любого количества. Это позволит устраивать, например, групповые бои в формате «каждый сам за себя».

Также есть вещи, которые существуют в старой боевой системе, но пока не реализованы в новой:

  • Все 150 способностей классов
  • Расовая способность эльфов уклонения от любой атаки/заклинания с шансом 20% (никак не зависящая от меткости атакующего)
  • Добавление способностям требование по типу оружия
  • Рандомизатор урона
  • Увеличение урона в долгих боях
  • Механика активации способностей через хитрость
 

Планы на будущее

Разработка идет уже 6 год, а конца-края не видно. Очевидно, что-то с этим надо делать, и очевидно, что – убирать часть запланированного функционала, оставляя его на обновление уже после релиза.

Еще мотивирует к скорейшему релизу то, что даже в текущий супер-урезанный функционал демо-версии несколько человек задротили месяцами. Tieru так и вовсе сделал что-то невозможное и взял максимально возможный уровень. Напрашивается вывод – просто улучши то, что уже есть, просто добавь локаций, просто добавь игроков (для этого даже в рекламу вкладываться не нужно – просто перенести функционал на diablo1.ru) – и будет уже сильно веселее.

К тому же я сам давно уже хочу публиковать новости через простой редактор на сайте, без необходимости делать физические странички с html-разметкой и загружать их на сервер – и геморройно, и долго, и подход такой устарел больше, чем говно мамонтов.

И все, кто помогает с наполнением контента, также просят добавить уже какой-то редактор на сайт.

В общем, надо безжалостно резать запланированный функционал и запускать то, что есть, но с доработками.

Итак, от чего принято решение отказаться:

От открытого мира

C массой разнообразных зон и локаций, которые, мало того, запланированы в различных климатических зонах – леса, степи, пустыни, тундры, тропики, скалы и т.д.

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

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

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

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

От замков, осад, контроля над территорией и королей рас

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

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

От механик темного и светлого эфира

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

Но будет максимально быстро добавлена после, т.к. это все же интересная и ключевая механика.

От турниров

Да, казалось бы, уже работающие турниры тоже нужно будет отложить, потому что сбалансированное пвп также требует доработок.

От крафта предметов и добычи ресурсов

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

Может быть, дроп ресурсов добавлю, чтобы можно было заранее начинать их копить на будущий крафт.

От более сложных версий подземелий

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

От навороченной системы спутников

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

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

 

Что же будет? Кажется, что удаляется просто все

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

Пройдемся также по пунктам:

Регистрация

Казалось бы, ну просто регистрация, уже же сделана и работает. Но это только на первый взгляд. Нужно дорабатывать:

  • Капчу, чтобы ограничить регистрацию новых пользователей простым скриптом
  • Подтверждение регистрации через email. Самая простая и элементарная защита от регистрации твинков
  • Защита аккаунтов от перебора паролей
  • Восстановление пароля
  • Система для выявления твинков и борьбы с ними

Как видите – даже элементарный и уже работающий функционал требует доработок. Идем дальше.

Посты и комментарии

Их также необходимо доработать:

  • Редактирование постов
  • Редактирование комментариев
  • Возможность добавления картинок в комментариях
  • Возможность анонимных комментариев (все текущие комментарии на сайте будут перенесены на новый движок как анонимные)
  • Систему тегов: возможность добавление постам тегов, поиск постов по тегам
  • (может быть) Черновик – когда можно написать пост, сохранить его как черновик и позже вернуться к дописыванию. Если не на релизе, то потом так и так нужно будет делать такую механику

Прочий «сайтовый» функционал

Еще есть то, чего в демо-версии нет вообще, но нужно будет сделать уже в релизной части:

  • Сообщества
  • Базу по играм (которая будет завязана на механику сообществ)

Игровая часть

Здесь еще куча работы:

  • Механика диалогов с NPC
  • Механика заданий
  • Локация города, его торговцы и сюжетные NPC
  • Одно глубокое подземелье будет состоять из 3-4 визуально разных подземелий и суммарно состоять из 8-10 локаций. Сделать такое количество подземелий в сотню раз проще, чем сделать целый открытый мир, но все равно это немалый объем работы
  • Доработать механику генерации предметов
  • Добавить больше различных заклинаний
  • Добавить больше монстров и боссов
  • Добавить несколько заданий – одно основное и несколько побочных
  • Доделать и интегрировать новую боевую систему

Как видно, необходимого функционала даже для очень сильно урезанной версии проекта нужно будет сделать немало.

Но и это не все (вы еще не устали читать, да?)

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

А так как старых страниц тысячи – это очень немаленький объем работы.

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

В общем, чтобы посещаемость с поисковых систем внезапно не исчезла – нужно делать это постепенно, в полуручном режиме.

 

Но…

Реалистичные планы на перспективу построены, мотивации делать (доделать) Dusk World вагон, но вы же не думали, что не будет никакого подвоха?

Не бывает так, чтобы без подвоха...

А подвох заключается в том, что через 3 месяца релиз Diablo 4, и в первую очередь мне нужно сделать раздел по этой игре на сайте. И все ближайшие 3 месяца уйдут на это. И в начале лета, если все сложится, смогу активно вернуться к разработке Dusk World.

 

Разбавим скепсис

- Ну вот опять! Еще десять лет ждать будем! А потом и вовсе забьет! (кто-то из читателей)

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

И дело здесь даже не в какой-то суперидейности или супермотивации (хотя и это тоже есть) и даже не в том, что мне проект по-прежнему нравится, и нравится им заниматься.

А в том, что просто нет другого варианта:

Например, я хочу получать больше денег. Банальное такое желание. Но на хорошие и оплачиваемые позиции большая конкуренция. Чтобы выделиться среди кандидатов, хочу сделать свой блог о программировании. И изучая что-то новое из программирования, не просто запоминать это в голове, а сразу оформлять в виде новых статей в этом блоге. А что нужно для создания блога? Регистрация, посты, комментарии – в общем, базовый функционал. Т.е. мне так и так нужен проект, который я смогу использовать как фундамент для создания любых других сайтов.

К тому же, что diablo1.ru, что Dusk World, что блог о программировании – это не единственные сайты, которыми хочется заниматься. Есть идеи и других проектов, и везде мне понадобится базовый функционал.

Поэтому, как ни крути, даже если я вдруг (вдруг!) потеряю интерес к Dusk World – мне так и так нужно будет доделывать эту регистрацию, посты, комментарии, теги, сообщества.

А сделав это, останется доделать еще немного (немного здесь должно быть в жирных кавычках) – и вот уже урезанная, но релизная версия Dusk World.

Так что все будет.

Показать полностью
Diablo 2 года назад
1

Часть 17: Потрогать текущие наработки

Мужской и женский образы расы орков. Посмотреть полноразменые рисунки можно в группе вконтакте



Еще пару багов, еще пару правок верстки, еще доработки по функционалу, и по новой… Кажется, это не закончится никогда.

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

Напомню, что план стоит в создании второй демо-версии, которая состоит из:

  • Функционала сайта: посты, комментарии, чат, и т.д.
  • Функционала игры: локации и боевки

То, что я публикую сейчас – это примерно ~90% от первой части. Или ~45% от всей второй демо-версии.

Попробовать:


DWDEMO2.RU


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

Помимо этого там еще несколько крупных и пару сотен небольших правок и доработок.

P.S.

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

P.P.S.

Фоновые изображения в инвентаре у гномов, ангелов и демонов сильно затемнены – они еще не готовы, и пока отображаются темным силуэтом.

Показать полностью
Diablo 5 лет назад
1

Часть 16: Над чем идет работа в данный момент

Это будет короткая часть дневников, в которой просто хочу показать, над чем сейчас идет работа.

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

  • Функционал сайта — посты, комментарии, всевозможные страницы.
  • Игровой функционал — локации, бои и т.д.

Сейчас занимаюсь сайтовым функционалом.

 

Страница регистрации

Вот так выглядит страница регистрации. Логин/пароль/почта + выбор расы, класса и пола.

Профиль

Профиль пользователя, где собрана основная информация о нем.

В будущем добавлю настройки профиля, и можно будет, например, скрыть почту.

Страница персонажа

При просмотре своего персонажа:

При просмотре чужого персонажа:

Дерево пассивных способностей

Пока оно сделано наброском — исключительно проработать (и проверить в работе) саму механику дерева способностей. Красная точка в центре — это стартовая позиция, откуда идет изучение. Пока не придумал подходящую иконку.

Также, дерево способностей пока одно для всех классов, но в будущем у каждого класса будет свое дерево — это позволит точечно править баланс по классам + добавлять особые пассивные свойства каждому классу.

Ну и конечно же, оно будет значительно больше.

Чат

На всех страницах, справа внизу будет небольшая иконка чата — нажал на неё и открывается окно чата, в котором можно пообщаться с другими игроками. В чате пока только сделал верстку, функционал — в процессе.

Как видно по скриншоту — будет несколько каналов. Общие + расовые + отдельные каналы для более высокоуровневых игроков (точнее для игроков с высоуровневыми персонажами)

Рейтинги

Ну и рейтинги, куда без них. Пока сделано три — по уровню аккаунта, по уровню персонажей и по карме.

В будущем их будет больше — по расам, по классам, рейтинги рас и т.д.

Посты, комментарии

Это одна из частей, над которой еще работать и работать. Больше всего работы над редактором — не смотря на то, что есть масса готовых решений — они все перегружены функционалом, и проще сделать с нуля, чем разгребать чужие десятки тысяч строк.

Админка

Разумеется, делаю и админку, с управлением пользователями, модерацией постов, комментариев и прочим.

Показывать не буду =Р

 

P.S.

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

Показать полностью
Diablo 5 лет назад
1

Часть 15: Эволюция боевой системы

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

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

Давайте по ним и пройдемся :)

 

22 февраля 2017 года

Первый вечер, какогда начал делать боевку. Никакого понимания как её писать нет — сделал два массива, цикл, в котором «игроки» бьют друг друга по очереди — первая версия готова :)

24 февраля 2017 года

Добавлены расовые способности — эльф уклоняется, у орка вырастает урон, когда его здоровье падает ниже 30%. Плюс небольшой случайный множитель урона, чтобы не было одних и тех же повторяющихся цифр.

16 апреля 2017 года

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

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

17 апреля 2017 года

Добавил немного оформления.

20 апреля 2017 года

Первая «анимированная» версия. Описывать как делалась анимация не буду — крайне убого и печально.

21 апреля 2017 года

Еще немного работы над дизайном.

27 июня 2017 года

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

Также, отказался от первой версии анимации.

3 сентября 2017 года

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

18 декабря 2018 года

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

Что изменилось:

  • Сделана новая версия анимации. Простая, но в 100 раз лучше первой;
  • Обновлен дизайн сражающихся юнитов;
  • Добавлен чат;
  • Добавлена механика энергетического щита и воровства здоровья;
  • Значительный рефакторинг кода;
  • Механика «сохранения» боев, с возможностью их пересмотреть.

14 мая 2019 года

Скриншот сделан 14 мая, но готова данная версия была еще 1 января. В ней доделана система навыков, и эффектов от них.

На данный момент это актуальная версия боя, но как минимум еще нужно добавить:

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

 

Планы на будущее

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

  • 16 часть дневников — скриншоты того, что сделано и над чем идет работа по второй демо-версии;
  • 17 часть дневников — выкладываю часть реализованного функционала из второй демо-версии, чтобы любой желающий мог поискать там баги;
  • 18 часть дневников будет промежуточной, перед анонсом второй демо-версии. Есть две небольших темы для рассказа — монетизация проекта и классы у рас (их будет 30 штук, по 5 на расу);
  • 19 часть дневников — анонс второй демо-версии.
Показать полностью
Diablo 5 лет назад
2

Часть 14: О генерации предметов

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

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

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

А перед этим покажу финальный вариант, где можно посмотреть варианты генерации:


Генератор предметов


 

Чертеж

Основа предмета — это чертеж. Он определяет базовые характеристики и параметры предмета, и выглядит так (на примере кинжала):

Чертеж кинжала
   

Имя:

Кинжал

Иконка:

url к картинке

Тип предмета:

Кинжал

Магический тип:

Одноручное оружие

Ряд:

1

Тип урона:

Атака

Секция:

Правая рука

Материал:

Металл

Пол:

Мужской

Цена:

140

+

Минимальный уровень:

1

Минимальная сила:

0

+

Минимальный интеллект:

0

+

Минимальная ловкость:

20

+

Ограничения:

Скорость создания заклинаний, магическая меткость

Урон:

20

+

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

20%

Сила критического удара:

300%

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

1.2

Вес:

70

+

Часть параметров имеет фиксированное значение, например скорость атаки, а часть — плавающие, например урон, и зависят от того, из какого материала они сделаны.

Последняя колонка указывает, какие параметры меняются от материала.

 

Материал

Предмет обязательно создается из какого-то материала, которых 4 вида:

  • Дерево (посохи, луки, арбалеты)
  • Кожа (легкие доспехи)
  • Ткань (роба)
  • Металлы (все остальное)

Материалы имеют следующие параметры (на примере металла Верит):

Метал Верит
   

Название:

Веритовый / Веритовая / Веритовое / Веритовые

Стихия:

Земля

Множитель цены:

3.8

Множитель требований:

2

Множитель стихии:

2

Множитель меткости:

2

Множитель магической меткости:

2

Множитель защиты:

2

Множитель магической защиты:

2

Множитель веса:

2

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

Веритовый Кинжал
   

Название:

Веритовый кинжал

Урон:

40 (стихией земли)

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

1.2

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

20%

Сила критического удара:

300%

Цена:

266

Вес:

140

Требование к ловкости:

40

Качество

Но, помимо этого накладывается дополнительный множитель качества:

  • Множитель 0.7 — Сломанный
  • Множитель 0.8 — Низкокачественный
  • Множитель 0.9 — Грубый
  • Множитель 1
  • Множитель 1.1 — Добротный
  • Множитель 1.15 — Качественный
  • Множитель 1.2 — Превосходный

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

 

Магические свойства

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

  • Обычный предмет — 0
  • Магический предмет — 1
  • Зачарованный предмет — 2
  • Редкий предмет — 3
  • Мистический предмет — 4
  • Легендарный предмет — 5
  • Эпический предмет — 6
  • Артефакт — 7
  • Реликвия — 8

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

 

Правила применения магических свойств

Применение магических свойств к предметам происходит не случайно, а с применением нескольких «фильтров»:

1. Фильтр по уровню

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

  • 1+ уровень: Урон огнем +1-3
  • 5+ уровень: Урон огнем +4-6
  • 10+ уровень: Урон огнем +7-10
  • 15+ уровень: Урон огнем +11-15
  • 20+ уровень: Урон огнем +16-19
  • 25+ уровень: Урон огнем +20-28

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

2. Фильтр по типу предмета

Сейчас в базе 63 типа магических свойств, но на каждый тип предмета указан отдельный список свойств, которые на нем могут быть получены. Где-то по 20-30 на каждый.

3. Дополнительные фильтры

Допустим, у нас есть двуручный меч, и двуручный посох. Оба они относятся к типу двуручного оружия.

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

Чтобы таких ситуаций не было, была добавлена механика дополнительных фильтров, в соответствию с которой:

  • На оружии с типом урона огонь, может сгенерироваться только свойство на % увеличение огня (все остальные % увеличения стихийного урона будут фильтроваться);
  • На оружии с типом урона «атака» не может сгенерироваться бонус к скорости создания заклинаний или магической меткости;
  • На оружии с типом урона «заклинание» не может сгенерироваться бонус к скорости атаки и меткости;
  • На броне без защиты не может сгенерироваться бонус к защите;
  • На броне без магической защиты не может сгенерироваться бонус к магической защите.

4. Фильтр по редкости или особые свойства

Вы еще не устали читать про правила генерации магических свойств? Надеюсь, что нет, потому что все описанное выше это еще не все.

У каждого (почти каждого) типа предмета есть свои, особые магические свойства, которые могут сгенерироваться только на нем, это:

  • Бонус к максимальным сопротивлениям — только на нагрудных доспехах
  • Бонус к блоку — только на щитах
  • Бонус к регенерации здоровья — только на кольцах
  • Бонус к регенерации маны — только на амулетах
  • Бонус к находимому золоту — только на шлемах
  • Дополнительные слоты в поясе — только на штанах/поясах
  • Уменьшение расхода выносливости — только на обуви
  • Бонус к шансу быть незамеченным — только на обуви
  • Бонус к общему наносимому урону — только на перчатках

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

У обычных свойств этот параметр равен 100%, т.е. Выбрался, к примеру, из 20 доступных типов свойств бонус к здоровью — он и применяется. А вот если на кольце выбирается бонус к регенерации здоровья, который имеет параметр редкости 40%, то будет сделана дополнительная проверка, и с 60% вероятности это свойство не применится, и будет выбираться следующее.

В будущем редкие свойства на предмете будут выделены цветом.

 

Список предметов и материалов

Кому интересны детали:


Сразу скажу, что это не финальные варианты — все еще будет 10 раз обновляться, балансироваться и дополняться.

 

P.S.

Что по итогу — механику генерации предметов начал писать еще в далеком 17 году, за пару выходных сделал основной прототип. Потом возвращался к ней в 18 году, и сделал почти готовый вариант.

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

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

  • Ничего
  • Золото
  • Расходники
  • Материалы для крафта
  • Экипировка

Если экипировка — то какая. Будет много фильтров с разными вероятностями, плюс нужно будет придумать формулу, и какое-то значение «крутости» противника, который будет передаваться в генератор дропа, и, соответственно, если убили крысу — получить «ничего» будет 80%, а если убили босса — то это будет несколько предметов, в том числе какая-то экипировка.

И еще один модуль нужно будет сделать для новой демо-версии, это модуль отвечающий за пассивные навыки классов. Или, попросту — дерево способностей.

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

Показать полностью
Diablo 6 лет назад
0

Часть 13: Аккаунты, персонажи и сезоны

Алтарь восстанавливающий ману, который будет введен в будущем.
Кости вокруг алтаря намекают, что бесплатной мана не будет…



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

Расскажу о том, как подход к этому эволюционировал по ходу разработки.

 

Аккаунт и персонажи

Изначально все планировалось просто — один аккаунт = один персонаж (что и реализовано в самой первой версии). Он же получает опыт за убийство монстров и написание постов.

Но сразу возникает проблема — а если игрок захочет попробовать поиграть за другой класс — регистрировать новый аккаунт? Как-то это не очень здорово…

Даем возможность иметь несколько персонажей на одном аккаунте:

Но следом возникает другая проблема — а как быть с опытом за написание постов? Какому персонажу её добавлять?

Можно добавлять тому, кто в данный момент «выбран».

Допустим. Но есть другая проблема — это баланс получения опыта за убийство монстров и написание постов.

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

Ладно, добавим получаемому опыту за написание постов какой-нибудь множитель от уровня, т.е. Получаемый опыт = 500 * уровень персонажа.

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

Опять плохо.

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

И размышления привели к следующему варианту:

  • Аккаунт — это «основной персонаж» и у него есть такие характеристики как уровень, сила, ловкость, интеллект и прочие.
  • Персонажи (один или несколько) — это «классические персонажи» — те, за которых будет происходить игра.

При этом все персонажи будут получать бонус от характеристик основного персонажа — прокачали вы ему силу на +20 — все ваши «игровые» персонажи получат +20 к силе.

Что это дает:

  • Визуальное понимание — увидели, что у пользователя 1 уровень аккаунта, и 50 уровень персонажа — значит он только играет, и ничего не пишет и не комментирует. Увидели, что у пользователя 20 уровень аккаунта, но персонаж 1 уровня — соответственно это наоборот любитель писать и общаться, а не играть;
  • Если кто-то сконцентрировался лишь на одной части проекта — такая система будет мотивировать его попробовать другую часть;
  • Система, где персонажи усиливают друг друга — это мечта любого задрота, а проект создается именно таким и для таких — будь то форумные задроты, которые годами набивают тысячи комментариев, или классические игровые задроты, убивающие миллионы монстров.
 

Сезоны и эры

С персонажами разобрались, но это еще не все.

Размышляя о таких играх как Diablo 2, Path of Exile, Lineage 2, в которые играл много лет, думал над тем, что мотивировало раз за разом, с интересом возвращаться к ним.

А ответ прост — это возможность «начать с нуля» вместе со всеми. Посоревноваться.

  • В Diablo 2 — это рестарт ладдера
  • В Path of Exile — новые сезоны
  • В Lineage 2 — новые серверы

Стало очевидно, что и в нашем проекте нужно вводить систему сезонов, где будет один постоянный сезон (аналог лиги «Стандарт» в Path of Exile), и какой-то новый сезон, по окончанию которого все персонажи из него будут переводиться в старый, а затем стартовать новый, где все желающие смогут еще раз начать все с начала, и посоревноваться с другими.

В этом плане, фактор основного аккаунта и его характеристик будет играть интересную роль:

  • Игроки, которые будут прокачивать только игровых персонажей (и игнорировать прокачку основного персонажа), будут стартовать с обычными характеристиками;
  • А те, кто прокачкой основного персонажа занимался — будут иметь значительные бонусы за счет него, и стартовать «усиленными» персонажами.

В целом, считаю, довольно справедливо. Впрочем, тем, кто сайтовую сторону проекта будет совсем игнорировать, немного поможем — основной аккаунт будет получать опыт не только за написание постов и комментариев, но и за получение значительных уровней игровыми персонажами. Т.е. прокачали игрового персонажа до 10 уровня — основной аккаунт получил 1000 опыта, прокачали до 20 уровня — еще опыт, и т.д. Прокачали 10 персонажей до 100 уровня — получили… очень много опыта.

Также к такой системы появляется один плюс, но и один минус.

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

Это, с одной стороны плюс — система дает бонус тем, кто провел в проекте столько лет. С другой стороны — будет нарушать принцип «все с нуля» при старте новых лиг.

И здесь два решения:

  • Первое — постепенное снижение количества очков характеристик, которые получает основной аккаунт при получении нового уровня аккаунта. Вначале это будет 5 очков за уровень, и постепенно будет снижаться до 1-2. Соответственно чем выше уровень — тем не только будет сложнее получать новый, но и бонус к характеристикам будет незначительный;
  • Второе — это введение Эр

Эра — это аналог сезона, только для основных аккаунтов. Если сезоны будут продолжаться 5-10 месяцев, то эры могут длиться 5-10 лет.

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

 

Итого

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

Показать полностью
Diablo 6 лет назад
1

Часть 12: Новогодние подарки

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

 

Обновление демо-версии

Последний месяц занимался добавлением навыков и эффектов в бою. Теперь, как и изначально задумывалось, каждый класс имеет собственные 3 способности, которые он может использовать в бою.

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

Также незначительно подправлен баланс и сделан «вайп» — удалены все персонажи и обнулены рейтинги.

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


Опробовать обновленную демо-версию:
dwdemo.ru


А это сохраним для истории — рейтинг пользователей и отзывы:

 

Самая первая версия

В 4 выпуске дневников показывал скриншоты самой первой версии Dusk World, которую разрабатывал осенью 2016 года.

Эта версия была полностью заброшена и отправилась «в архив», т.к. там было допущено несколько фундаментальных ошибок и примитивных подходов.

Но… удалена она не была. И доступа к ней не давал.

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

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

Там даже есть прокачка, только опыт дается за написание постов.


Оценить раритет:
dwdemo0.ru

 

Домен NightWorld.ru

Еще одна небольшая, но хорошая новость — купил домен NightWorld.ru

Именно название Night World и этот домен хотел взять изначально, два с половиной года назад, но владелец домена взял и поднял цену с 5 000р. до 125 000р. Слишком дорого, для моего бюджета, по этому пришлось выбирать другое название для проекта.

А на днях проверил домен NightWorld.ru — смотрю, он опять за 5000р. продается. Почему бы и не купить.

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

В любом случае, напишите в комментариях, какое название вам нравится больше — Dusk World или Night World?

 

Что дальше?

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

И уже на базе этого будет размещен текущий функционал локации и боевки. Получится тоже самое, что и сейчас в демо-версии, но с инвентарем, предметами, прокачкой, и прочим.

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

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

В общем, интересного впереди — масса. Еще бы научиться не спать, чтобы по ночам тоже сидеть и заниматься разработкой :)




Всех с Новым Годом!

Показать полностью
Diablo 6 лет назад
0

Часть 11: Концепция боевой системы

Все иллюстрации к сегодняшнему выпуску взяты на просторах интернета



Ну-с, пришло время очередного выпуска дневников разработки MMORPG Dusk World, в котором расскажу о концепции боевой системы — основных принципах, типах навыков, брони и оружия.

Но, перед этим, несколько слов о том, как прошло открытие первой демо-версии 21 октября.

Учитывая, что демо-версия крайне урезанная, результатом очень доволен — на 63 созданных персонажа (аккаунтов) пройдено 359 локаций, т.е. в среднем каждый персонаж прошел 6 локаций. Опять же, для такой урезанной демо-версии это очень много. Я был готов к тому, что будет банально по одной локации на персонажа, и отзывы типа «ну, чет ни о чем».

Так как обычно публикация демо-версии выглядит так:

В общем, полон энтузиазма делать проект дальше.

 

Концепция боевой системы

А теперь к главной теме сегодняшнего выпуска — концепции боевой системы.

Рассмотрим задачи, которые поставил перед «боевкой»:

  • Разнообразие классов;
  • Возможность свободной прокачки — никакого «автоматического» роста параметров силы/ловкости/выносливости как в Diablo 3;
  • Возможность свободной экипировки — опять же, игры, где класс лучника не может взять в руки двуручный топор — считаю морально кастрированными;
  • Большие просторы для экспериментов с прокачкой/экипировкой;
  • Возможность реализации всех задумок при ограниченных человеческих ресурсах.

А вот, перед самими боями (о PvP-составляющей подробно поговорим в других выпусках):

  • Свободное (с небольшими ограничениями) PvP;
  • Отсутствие ограничения на количество юнитов в бою — всем, кто играл в браузерные MMORPG знакомы классические баталии 6 на 6;
  • Мотивированность PvP-составляющей.

Над тем, какую систему реализовать, чтобы она отвечала всем требованиям — размышлял (и делал) все 2.5 года разработки. И вот что получилось.

 

Навыки

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

Учитывая ограниченность человеческих ресурсов (95% делается одним человеком), вариант с несколькими десятками навыков на класс отпадает точно, учитывая, что самих классов будет минимум… 6 рас * 4 класса = 24 штуки. Хотя, 4 класса на расу — это скорее «стартовый» вариант, который потом обязательно нужно будет, и будет расширяться, где-то до 10 классов на расу.

Долгие размышления привели к следующему варианту:

  • Каждый класс имеет 3 активные способности (те, что могут быть использованы в бою): основная, вспомогательная и ультимативная;
  • Класс имеет собственный набор пассивных навыков, некоторые из них усиливают активные способности;
  • Существуют дополнительные предметы (возможно это будут руны), которые могут изменять работу навыков.

При этом, для использования способностей нужен определенный ресурс:

  • Основная способность требует заполненную на 100% шкалу концентрации;
  • Вспомогательная способность зависит от такого параметра, как хитрость, и может быть использована в любой ход, с вероятностью этой самой хитрости (20 хитрости = 20% использования вспомогательной способности);
  • Ультимативная способность требует заполненную на 100% шкалу ярости.

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

 

На примере

Чтобы было понятнее, давайте рассмотрим эту систему на примере класса Паладин, он имеет следующие способности:

  • Основная — Сокрушающий удар: паладин делает мощный удар оружием, наносящий 20 физического урона и 20 урона магией света;
  • Вспомогательная — Удар щитом: паладин делает удар щитом, который наносит 20 физического урона, и с 50% вероятностью оглушает врага на 1 ход;
  • Ультимативная — Авангард: призывая высшие силы на помощь, паладин восстанавливает 60 здоровья, и получает бонус ко всем сопротивляемостям +30 в течении 5 ходов.

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

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

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

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

А для чего нужны руны?

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

Это будет «перекашивать» баланс в сторону того, кто нападает — он знает, на кого нападает, и к чему готовиться.

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

 

Типы брони

Теперь переходим к типам брони.

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

В Dusk World будет именно так.


Типы Доспехов
   
Тип доспехов - Роба

Роба

Легкая накидка магов, украшенная драгоценными камнями и замысловатыми знаками, которые кроме самих магов никому непонятны, но защищают своих носителей от вражеских заклинаний.

По характеристикам*:

  • Слабая защита
  • Высокая магическая защита
  • Низкие сопротивления
  • Бонус к мане
  • Значительный бонус к получаемой концентрации

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

Тип доспехов - Легкие доспехи

Легкие доспехи

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

По характеристикам:

  • Высокая защита
  • Средняя магическая защита
  • Низкие сопротивления
  • Бонус к получаемой ярости

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

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

Тип доспехов - Средние доспехи

Средние доспехи

Это классические доспехи воинов. Они дают достаточное количество сопротивлений, чтобы достойно переносить вражеские удары, и не сильно ограничивают в движениях.

По характеристикам:

  • Низкая защита
  • Низкая магическая защита
  • Средние сопротивления
  • Бонус к хитрости

Тип доспехов - Тяжелые доспехи

Тяжелые доспехи

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

По характеристикам:

  • Низкая защита
  • Низкая магическая защита
  • Высокие сопротивления
  • Штраф на наносимый урон
  • Снижение общего получаемого урона

Тяжелые доспехи — это единственный тип доспехов, которые, во первых, не имеют бонусов к концентрации/хитрости/ярости, а также накладывают штраф за использование.

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


Вы уже подумали о том, что будет, если мага одеть в тяжелые доспехи? Кто-нибудь обязательно это попробует, а мы посмотрим, что у него получится :)

В дополнение

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

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

 

Типы оружия

Оружие имеет несколько классификаций, разберем их.

Во первых, оружие делится на:

  • Оружие ближнего боя
  • Оружие дальнего боя

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

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

Также, оружие делится на тип атаки:

  • Атака — мечи, луки, и т.д.
  • Заклинание — посохи, жезлы и т.д.

Переходим к типам оружия. Каждый тип оружия имеет какие-то свои особенности:

  • Мечи — увеличенная меткость
  • Топоры — шанс вызвать кровотечение
  • Дробящее оружие — шанс оглушить противника на 1 ход
  • Кинжалы — увеличенный базовый шанс критического удара
  • Копья — бонус к защите
  • Луки — бонус к скорости атаки
  • Посохи — бонус к получаемой концентрации
  • Жезлы — бонус к хитрости

И существует особый тип оружия — тяжелое оружие. Это особый класс оружия, который:

  • Имеет заниженную скорость атаки (0.65 - 0.7), и нередко бывают случаи, когда владелец тяжелого оружия пропускает несколько ходов, «готовясь к атаке»;
  • Имеет увеличенный урон;
  • Имеет крайне высокий показатель множителя критического удара, что в купе с высоким уроном может с одного критического удара убить противника;
  • Игнорирует блок — удары от тяжелого оружия настолько мощные, что щиты от них просто не защищают.

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

Тяжелое оружие бывает следующих видов:

  • Двуручные тяжелые мечи
  • Двуручные тяжелые топоры
  • Двуручные тяжелые молоты
  • Пики
  • Арбалеты

Какие-то типы тяжелого оружия имеют аналогичные бонусы обычным видам оружия — например мечи, топоры, молоты. А вот пики и арбалеты имеют бонус к итак немалому множителю критического удара.

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

 

О классах

Когда мы говорим о разнообразии боевой системы, конечно же нельзя обойти стороной и классы.

Пока у меня нет четкого списка классов и всех их способностей, но в общем основные архетипы классов следующие:

  • Танк
  • Дамагер ближнего боя
  • Дамагер дальнего боя
  • Маг
  • Саппорт/Хиллер
  • Суммонер

Конечно, классы будут органично вписываться в расу, членами которой они являются, и танк орков будет отличаться от танка у эльфов. А, например, у ангелов не будет такого класса как Rogue — т.к. они считают ремесло «вора» недостойным.

Плюс к этому будут особые классы, с какой-то узкой специальностью или особенностью — например ассасин, специализацией которого является убийство магов.

 

Подводя итог

Возвращаемся к поставленным требованиям, которые можно свести к одному слову — разнообразию.

Что получается:

  • 6 рас
  • 4 класса в каждой
  • 8 базовых характеристик
  • 3 способности
  • 4 типа брони
  • 9 основных типов оружия
  • 5 (условно) вариантов распределения пассивных навыков у класса
  • 5 (условно) вариантов подбора магических свойств на предметах (например, сделать упор на скорости атаки)

Итого: 6 * 4 * 8 * 3 * 4 * 9 * 5 * 5 = 518 400 вариантов создания/прокачки персонажа.

Даже с учетом того, что 99% из этих вариантов окажутся полностью бесперспективными, останется 2 592 вариантов.

Поделим на количество рас — получается 432 вариантов на расу. А учитывая, что 4 класса на расу это очень мало, и, как уже говорил, буду стремиться где-то к 10 классам на расу — вариативность получится значительно большей.

 

P.S.

И конечно же, не могу не рассказать о том, чем занимаюсь на данный момент.

Сейчас это три больших параллельных задачи:

  • Механика способностей/эффектов/баффов/дебаффов в боевке
  • Продолжаю (уже сколько месяцев) разрабатывать систему характеристик. Сейчас уперся в то, что чтобы корректно связать их между собой, т.е. вывести формулы, насколько сила влияет на урон с оружия, или телосложение на размер здоровья и выносливости — нужно сделать (точнее уже делаю) калькулятор (на JavaScript), и уже экспериментируя с этим калькулятором можно будет вывести первые, более-менее адекватные формулы взаимосвязей характеристик.
  • И доработка своего фреймворка. Для этого сейчас прорабатываю один курс лекций на ютубе плюс осваиваю Unit-тесты, которые хоть и увеличивают сроки на разработку в 2 раза, значительно сокращают время на тестирование (что на больших дистанциях разработки дает выигрыш по времени) и сильно повышают качество проекта.

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

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

 

*Пояснения по характеристикам:

  • Защита влияет на вероятность уклонения от атак
  • Магическая защита влияет на вероятность уклонения от заклинаний
  • Сопротивления снижают получаемый урон от атак/заклинаний
Показать полностью
Diablo 6 лет назад
0

Часть 10: Два года разработки – первая демо-версия

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

Сразу надо сделать примечание – то, что вы увидите – это не демо всего проекта, а лишь небольшой его части: одна локация + боевка

Чтобы понимать, насколько это мало по сравнению со всем проектом просто покажу рисунком:

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

Ну-с, после небольшого, но важного вступления, собственно ссылка на демо:


ДЕМО


Обсудить на форуме

Сообщить о найденном баге

 

На ближайшую доработку

Теперь о функционале, который запланирован, но еще не реализован (зеленым отмечено то, что уже добавлено на текущий момент):

Локации

  • Возможность указания, что такой-то эпизод (например, боя с боссом) может встречаться только один раз за всю локацию;
  • Механика спутников;
  • Эпизод со случайным путником – можно будет взять его в спутники на одну локацию, и пока он живой – игрок будет получать половину лута;
  • Класс гномов. Его классовое заклинание завязано на призыв спутников - соответственно пока эта механика не реализована, класс недоступен;
  • Эпизод с бандитами – их отличие между обычными монстрами в том, что от них можно откупиться. А также, если персонаж противоположного пола бандиту, и у него высокая харизма – бандит передумает нападать;
  • Механика лута и его «взятия»;
  • Множество других небольших улучшений и доработок.

Боевка

  • Механика эффектов – всякие там оглушения, отравления, бафы, дебафы и прочее – все, что может длиться в течении нескольких раундов боя;
  • Добавление навыков. Их нельзя добавить, пока не сделана механика эффектов;
  • Добавление специальных эффектов у оружия;
  • Добавление новых анимаций;
  • Множество других небольших улучшений и доработок.

Прочее

  • Аватары классов и монстров временные (взяты на просторах Интернета), позже будут заменены на собственные.

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

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

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

Ничего по срокам говорить не буду – ну его нафиг :)

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

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

 

Итоги второго года по финансам

В итогах первого года рассказывал о финансовой стороне разработки – сколько и на что потрачено.

Пришло время подвести итоги второго года разработки:

Ассеты графики:

  • Beautify
  • RPG Cursor Pack
  • Park Photo Scanned Assets
  • The Big Castle Kit
  • Temple of Ancient India
  • Royal Heroes Pack
  • Stronghold Village
  • Forbidden Dungeons
  • Demoness / Succubus
  • RPG Fantasy (Pack)
  • Stone Fountain
  • Dungeon Trap - Spear Ejector
  • Dungeon Trap - Saw Blade Slit
  • PBR Statues Pack
  • Dungeon statues and pillars
  • Wild Life - Spider
  • Army of Skeletons
  • Medieval Environment Pack
  • Demon Mace - Weapon
  • Vampire Girl
  • 4 Medieval Chests
  • PBR Graveyard and Nature Set 2.0
  • Rome: Fantasy Pack I
  • Nature Pack
  • Old Media

На все – 49 500р.

2D графика на заказ:

  • 3 «пробных» рисунка человека-женщины разным художникам: 34 000р.
  • Рисунок человека-мужчины, эльфа-мужчины, эльфа-женщины, орка-мужчины: 32 500р.

Итого: 66 500р.

Тексты:

Новых текстов от FaceR'а было мало, по этому 5600р.

По железу:

  • Видеокарта (для работы в Unity) ASUS GeForce GTX 1060 6GB: 27 500р.
  • Второй компьютер для web-разработки на Ubuntu: 35 000р.

Итого: 62 500р.

Кто-то может сказать, что это «лишние расходы», что можно в Unity и на слабой видеокарте делать большие локации с насыщенной графикой, с FPS 3-5. И что можно веб-разработкой заниматься и на винде – оно конечно можно, только не особо приятно. В разработке и так возникает много сложностей, и так много поводов опустить руки, а когда еще и в техническом плане постоянные проблемы (например, при работе на винде, у меня в Git появляются ошибки, которых я на Linux вообще никогда не видел) – то это лишь добавит повода опустить руки.

Конечно, забить на начатое это не в моем духе, но категорически не согласен с тем, что расходы на «фундамент» (а компы – это именно фундамент разработки) – это лишние расходы.

Итого все вместе: 184 100р.

Суммарно за первый и второй год разработки: 38 000 + 184 100 = 222 100р.

Еще раз напомню, что эту сумму ни в коем случае нельзя считать полным бюджетом на разработку, так как самые главные расходы – 2 года Full-Stack Web-программиста (пусть и в свободное от основной работы время - где-то четверть ставки), т.е. мое потраченное время – остается за кадром.

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

О чем скажет эта сумма (через n-количество лет, когда проект будет закончен) – так это о том, что если вы собрались делать браузерную MMORPG, с аналогичным уровнем графики, и где вы 95% работы будете делать сами – вот столько денег нужно будет готовить на оставшиеся 5%. Чтобы не было иллюзий :)

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

 

А на этом, сегодняшняя часть дневников разработки заканчивается. Еще о многом хочется и нужно написать, но это – в будущем.

Буду стараться делать новые выпуски чаще, но в меньшем объеме.

Показать полностью
Diablo 6 лет назад