ivan866_z
Просветленный
(20584)
6 часов назад
если говорить про обычную реализацию стреляющего юнита, то ты должен проверять на каждом "тике", достиг ли юнит минимальной дистанции, затем перевести его поведенческое дерево в режим стрельбы
но это так называемая наивная реализация алгоритма
проверять постоянно нет смысла
в хорошо реализованном движке обязательно будет какая то finite state machine которая будет предсказывать с приемлемой точностью когда именно дистанция станет нормальной
обрати внимание, в RTS все алгоритмы должны быть fully deterministic
игру должно быть возможно проматывать как пленку в обе стороны - иначе будет рассинхрон на клиентах; это базовое правило; по требованиям к пингу, RTS - самые технически сложные, превосходя даже FPS; на каждом тике все клиенты и сервер должны иметь у себя копию текущего состояния, и оно должно выводиться алгоритмически из предыдущих единственно верным способом
попробуй взять посмотреть сорсы открытого движка Stratagus, как там реализованы лучники
Есть танк и когда даёшь ему атаковать цель он начинает сближаться с противником вплотную и только потом начинает стрелять. Что ему нужно сделать, чтобы он не сближаться противником, его можно было выделить и нажать на противника, чтобы он начал срелять в радиусе своей атаки. Писать прям код не надо, скажите последовательность действий, пожалуйста, хотя бы примерно. Там он думаю сам разбирется