Everything done in a scripting language is computationally expensive, relatively speaking. Circle and rectangle collision detection are pretty easy though, so you'd probably be able to do that without much problem -- maybe even some polygonal collision detection. Try it and find out!

I would imagine that AABB and bounding sphere checks could be done pretty easily. I would be skeptical past that. I do my 3D collision in the engine, not the scripts, but like you said, it surely couldn't hurt to try. Good luck with it, and let us know how it goes!

Well, you see, the things is, I'm extremely busy with my science fair project right now. However, I promise I'll come back to trying to do 3d collision detection in Python using scipy as soon as I'm done (which should take about 2 weeks).

-- Draw/move Player 1
draw.color(1.0,0.0,0.0,1.0)
draw.rect(player1x-5,player1y-30,player1x+5,player1y+30)
if player1y<playFieldHeight-32 and madtak.getKey(119)==1 then
player1y = player1y + 512 * timer
end
if player1y>32 and madtak.getKey(115)==1 then
player1y = player1y - 512 * timer
end
if player1y>playFieldHeight-32 then player1y=playFieldHeight-32 end
if player1y<32 then player1y=32 end

if ballx<15 and bally>player1y-30 and bally<player1y+30 then
ballxv = ballxv * -1
ballx=15
end

-- Draw/move Player 2
draw.color(1.0,0.0,0.0,1.0)
draw.rect(player2x-5,player2y-30,player2x+5,player2y+30)
if player2y<playFieldHeight-32 and madtak.getKey(4)==1 then
player2y = player2y + 512 * timer
end
if player2y>32 and madtak.getKey(3)==1 then
player2y = player2y - 512 * timer
end
if player2y>playFieldHeight-32 then player2y=playFieldHeight-32 end
if player2y<32 then player2y=32 end

if ballx>playFieldWidth-15 and bally>player2y-30 and bally<player2y+30 then
ballxv = ballxv * -1
ballx=playFieldWidth-15
end

if madtak.getKey(114)==1 then
madtak.console("luamenu menu.lua")
madtak.setKey(114,0)
end

draw.text(20,20,"A,S,D,W and Arrow keys to move, r to return to menu")

return 1;
end

All draw.something functions are openGL tie ins, and all madtak.something functions tie into my game engine, for example:

Code:

if madtak.getKey(114)==1 then
madtak.console("luamenu menu.lua")
madtak.setKey(114,0)
end

This checks to see if key 114 (ASCII: r) is pressed, and if it is, enters the command "luamenu menu.lua" in my game's console (which predates has nothing to do with the lua implementation, it's simply my way of switching between in game modes and toggle frames per second counters and other such tasks) before turning off the flag that key 114 was pressed.

I'm not saying that this setup is the best possible scenario (I don't have the experience to back that claim up), but I absolutely love it. I presume that other scripting languages could be integrated in similar ways