i've never done multithreading, but i would reslove this by dividing the map into multiple areas, depending on the number of threads you want. each area would contain objects, and the main thread that does all the other stuff (drawing, sound, iunput, whatever) could get the smallest area. when an object leaves an area, it signals the thread that belongs to the area it is entering. AI could be localised; based purely on what objects are in an area, though that would require areas to be specially set up so you could have some globals ( player position etc ) so the ai don't ignore everything in other areas. the main thread could query the other threads and get them to draw( if that is even possible, i don't know), or all other threads could signal the main one what to draw, it would also be difficult to work out collision on the borders --------------------- To unsubscribe go to http://gameprogrammer.com/mailinglist.html