artem-doberman писал(а):
Было. Много много много много раз. Трудная реализация.Первый вариант. Во время нанесения урона какому-то игроку/животному, пустить луч от игрока к урановому кубику: если луч уперся в свинец, урон отменяется. Проблема только если урана много.
Второй вариант. (если в двух словах) Для каждого существа кому будет наносить вред запустить игрушечный рэндеринг в массиве 20х20 (не-opengl), используя логику 3d. рендерить только уран и свинец, причем рендерить от дальнего к ближнему, и чем далее обьект, тем меньше прямоугольники. Можно перевести в полярные координаты, или вести счет с 6-ти сторон от пострадавшего (раз уж все квадратное). После чего посчитать количество урановых точек в массиве и нанести урон. Если все правильно сделать, нагрузка будет не такая уж и большая.
Проблема будет только с гребаными спавнерами гребаных кур. Тогда можно сохранять временную информацию о уроне радиации для каждых 4х4 блока, и если в таком регионе хоть 20 кур, вычисление будет только одно.