А в чем видимые проблемы BP для вас? Работа с ИИ? Интересует ваш опыт с BP при разработке игр в этом жанре.
п.с. У меня самого была мысль делать RTS, но я быстро отлетел. Т.к. не понятно как писать ИИ бота для таких игр. И на BP это скорее всего не сделать без потери производительности.
Привет. Интересует техническая сторона вопроса. На чем вы пишите игру: c++ или BP?
Ну задача уже немного другая, нежели та, что вы описали в посте. Но это не важно.
Это ведь вопрос действительно одного метода: достать статы из предмета, и сравнить каждый стат со значением этого же стата у персонажа. Если хоть один фейл, сразу можно обрывать цикл и выдавать на выходе false. Выделить в tooltip'e предмета красным цветом тот стат, значение которого больше, чем у персонажа.
Я немного с другого лагеря - Unreal Engine. Но эта задача - явно не вопрос движка. Я в принципе не вижу здесь проблемы, если сама система статов написана хорошо.
Тут плясать надо от геймдизайна. Я несколько раз перечитал пост, и сложно было понять смысл самой механики.
Если наша игра должна ответить игроку на вопрос "А "лучше" ли вот этот вот объект, чем вот тот", то игроку не обязательно показывать веса, силу и подобные вещи. Достаточно показать результат, разными способами:
- например, вывести рядом два объекта и показать сравнение по статам + отобразить специальным эффектом, какой из объектов лучше
Конечно это будет работать, если в игре есть статы, наиболее важные для объекта, чем другие. Ваша игра обычно об этом игроку намекает.
Я предложил один из способов. Хорош он или нет, вам решать, исходя из геймдизайна проекта.
Как по мне должен быть основной объект и сравниваемый объект.
И метод должен отвечать на вопрос типа "основной объект лучше сравниваемого?".
Для самого сравнения думаю неплохой вариант ввести такое понятие как "вес стата" (за 1 поинт, или за 1%), и соответственно таблицу весов. И как предложил Руслан Никифоров выше, сравнивать сумму всех весов.
Успехов вам)
Надеюсь в будущем почитать от вас больше статей, освещающих также и техническую сторону при создании таких игр.