I figured out one problem: Never declare the table variable under love.load() With that out of the way I now have some code that doesn't instantly crash. Downside is it also doesn't render anything to screen: function objects:new(sprite,x,y,frameSpeed,frame) local o = {sprite = sprite, x = x, y = y,...