Overlaping question

I’ve been searching for a routine or way to keep objects randomly placed in the game arena from overplaping. The closest I came to solving this problem was to use collision detection on every object created to the visible layer, this became very costly as I have several to a dosen objects on the screen at a given time. This was not as asetheticly pleasing as I would like, both objects are created, then one is destroyed, it would lead the player to believe that the game is “glitched,” but I tried searching python and other examples to create an effective way to keep objects from overlaping other objects. I would conclude that Python would be the problem solver here, has anyone had this problem? I would assume that thoes Blender gamers that have sucessfully created puzzle games or Asteriods clones would have this problem, and possible a solution. Maybe some one could provide a coded example or other way to solve this problem.

i have a script that i wrote a long time ago that adds objects randomly in a specified area. (i used it for a plane game to add spaceships in different spots evey time the game was played). well anyway, the objects never overlap because they are placed on a “grid” layout system.

here is the script…

import GameLogic 



if owner.obnumber>owner.counter:


if owner.obnumber<owner.counter:

now, you have to set up some logic bricks,and some properties
here’s a pichttp://www.freewebs.com/demobobin/randpos_logicbricks.jpg

size - the size of the area where the objects will be placed(ex 20= 20 by 20)

obsize - the spacing of the “grid” that the object will be placed on(make it big enough to cover you’re object"

obnumber - the number of objects to be added

counter - leave this a 0

done - leave this a 0

height1 - minimum height that the object can be placed at

height2 - maximum height that the object can be placed at
(note: put both “heights” at the same number to have them all on the same elevation)

(note: all numbers are in blender units)

now, just put the name of the object you want added into the add object actuator

(note: it should be an empty that does/has all this)

this script is far from perfect and can be refined to be much more versatile. but i don’t have the time to do it right now.

i hope this helps :smiley:

Thanks, this is extreamly helpful…