Трудни игростройки
Развлекаюсь тем, что пишу различные демо-игры, на разную тематику. Никуда не выкладываю, нигде не побликуюсь, чисто для себя. Забавных моментов бывало, конечно, много. Некоторые из них:
Пишу игрушку по типу "игрок должен пройти до точки не спалившись у охранников". Написал простенький ИИ, который должен при виде игрока чуть тупить, а потом кидаться в погоню. Проверяю...
* Бот тупит а потом яростно начинает бежать от меня, время от времени постреливая перед собой. Ладно, косяк очевиден - перепутал знак в векторе направления.
* Пока я гонялся за удирающим охранником, тот "позвал на помощь" - боты могут оповещать о цели товарищей, пробегая рядом. И вот передо мной несётся уже несколько бравых охранников. Правда, недолго, разбежались)
* За время погони один охранник застрелил другого, праздно шатающегося. Я сделал им "огонь по своим" прикола ради, ну и одному просто не повезло попасть под шальную пулю.
Ладно, оставил этот экземпляр скрипта, написал вторую версию, раскидал скрипты по-новой. Вкратце, цель игры - дойти до точки и постоять возле неё несколько секунд, банально. После моих махинаций...
* Подбегаю я к точке (использовал модельку автомата с газировкой), и она радостно начинает от меня убегать. Да, я на неё повесил скрипт перемещения охранника, причём почему-то старую версию. Она бежит от меня, оповещает других охранников, они бегут за мной и все весело носимся по карте.
Из мелких ошибок бывало:
Боты стреляли сами в себя (перепутал направление выстрела)
Боты бегали задом (перепутал направление "взгляда")
Боты охотились только за своими (перепутал целевой тэг)
Ботопад (забыл включить коллайдеры земли. Боты падали вниз под землю и восстанавливались сверху. И так постоянно. И я вместе с ними)
Двери, закрывающиеся при прохождении через них. В зависимости от степени невезения игрок либо отталкивался назад, либо проваливался под землю. (перепутал условие)
Сумасшедшие боты, бегали по карте и стреляли (у них не падал параметр "нервности" даже если игрок скрылся). Стреляли других охранников и заражали их своим истеризмом. Тантрум?
Это только из одной демки, что сейчас вспомнил)
я как-то делал простенькую демку с 2хмерной физикой. Но в физическом update-методе, который был ответственен за движение и поиск столкновений, я создал статическую лямбда-функцию (замыкание). И пока во всей сцене был только один движущийся объект (персонаж), это было незаметно
Но потом появился второй объект - пуля. Физический метод принял в оборот пулю, но у него уже была статическая лямбда, захватившая ссылку на персонажа. И в итоге, метод начал двигать персонажа со скоростью пули, (в том числе сквозь стены - ведь никаких коллизий между пулей и стенами/другими объектами не было) а пуля осталась (мне нравится думать, что офигевая) висеть в воздухе.
Убегающий автомат с газировкой, зовущий на помощь охранников.... я ржал аки конь. Спасибо ТС за внезапно хорошее настроение))
Тоже AI занимаюсь, море фана получаешь когда твои существа оживают
Почему я от этой, казалось бы, небольшой истории хохочу, как ненормальная?