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

20-24 августа… командировка…

В очередной раз переделываю боевую систему. Теперь уже всё красиво и правильно с теоретической точки зрения. С одной стороны – всё просто и легко для пользователя, с другой – даёт невероятное количество возможных комбинаций (пресловутая easy to learn, hard to master). Что, в свою очередь, усложняет процесс оценки хода боя (уровневой генерации монстров) – но это производное, главное, чтобы бой был интересный. И это, кажется, приближается к законченному виду.

Пришлось переписать формулы расчёта повреждения от удара (ещё не до конца). Пришла в голову мысль о “лимитирующих” (аналог величины урона), “требующихся” (какой персонаж может применять предмет) и “модифицирующих” (как предмет изменяет характеристики персонажа) статах предмета – раньше был только один единственный лимитирующий параметр. С одной стороны – развернуться и не свернуться – предметы станут разнообразными и многофункциональными. С другой – можно запутаться. Ещё не уверен, стоит ли оставлять “модифицирующие” статы, поскольку большая часть такого дела будет делаться путём перков, а в остальных случаях “лимитирующие” сделают свою работу намного более качественно и гибко, чем “модифицирующие”. Но всё-таки это не одно и то же: “Тяжёлые доспехи сделают персонажа неловким”, – кажется как логичный вывод.

С третьей стороны – в декогерентности все эти статы будут касаться только силы и одной из трёх: ловкости, изворотливости, меткости, т.е. в основном предмет может быть описан лишь тремя статами – и знания по физике ни один предмет “напрямую” модифицировать не будет, только через перки. Оставлять ли статы предмета по всем характеристикам? С одной стороны – лишняя обуза. С другой – мелочь, с которой нет смысла считаться, а, может, когда-нибудь и пригодится – не мне, так моддерам.

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

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

Хотелось бы также имплементировать “привыкание” персонажа к предмету… однако, пока я не вижу глубокой стратегической задачи – “зачем?”. Мы так лишь добавим лишний микроменеджмент, лишний стат для предмета ради пары второстепенных задач и чуть большей реалистичности. Но ведь реально всё будет сводиться лишь к тому, что “не меняй оружие на новое перед сложной битвой”… Нужно ли это игроку? Думаю, нет. Уже и так есть “подгонка предмета под персонажа”, решающая подобную задачу (очевидно, что худой асэк ростом 1.3 метра будет неуютно себя чувствовать в броне с 2.2 метрового толстого басс).

И всё гложет идея отказаться от полноценного механизма АИ для НПС. Но, наверное, пока я её не “попробовал на зуб”, говорить об этом рано, может получиться намного проще, чем я планирую. Отколупать потом недоделку будет проще, чем добавить механизм туда, где для него нет места.

Параллельно борюсь с универсальной системой хранения информации. Пока что “что-то вроде XML” получается относительно вменяемо, но не так универсально, как хотелось бы. Меня сильно беспокоит необходимость отдельной подготовки объекта для чтения и, собственно, процесса чтения. Но, возможно, всё получится относительно красиво… и абстрактные блоки будут весело и дружно становиться на свои места, позволяя модификацию структуры данных в широких рамках без потери сохранённых результатов (точнее, с автоматической конверсией).

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s