Зато я примерно придумал как сделать прогрессию
Например сначала появляются вороны без оружия, которые летят сразу за грибами, после убийства некоторого количества ворон появляется шанс спавна ворон с ножницами потом после другого количества убитых ворон появляются с другим оружием и т.д.
Игра по сути будет бесконечная где нужно просто набить рекорд
Проиграть можно если закончатся жизни или своруют все грибы
В конце будет показан рекорд и собственно всё
Сегодня сделал компонент для базовой безоружной вороны, которая летит сразу к грибам игнорируя игрока
Вот так получилось:
export default function emptyComp() {
let level
let mushrooms
let mushroom
return {
id: "emptyComp",
require: ["pos", "area"],
resolveMushroom(){
mushroom = mushrooms[randi(mushrooms.length)]
if (mushroom === undefined) mushroom = this.player
},
add() {
level = this.parent.get("level")[0]
mushrooms = level.get("mushroom")
this.resolveMushroom()
this.parent.onPropsUpdate(() => {
mushrooms = level.get("mushroom")
this.resolveMushroom()
debug.log("resolve")
})
},
update() {
this.directionX = Math.sign(mushroom.pos.x - this.pos.x)
this.directionY = Math.sign(mushroom.pos.y - this.pos.y)
}
}
}onPropsUpdate тригерится при изменении состояния грибов т.е. когда ворона забирает гриб или когда умирает и роняет гриб
Я не знаю что тут по оптимизации, возможно всё ужасно, потому что приходится часто обращаться к карте и перебирать все пропсы, но у меня просадок при 10 воронах нет ни на пк ни на телефоне, если убрать перебор и обновление грибов, то вороны будут лететь к первому грибу и если его заберёт другая ворона, то она будет просто кружить у пустого места где раньше был этот гриб так что этот вариант нам не подходит.