Kein Grund zum verzweifeln
Eine Möglichkeit dir mir gerade einfällt wäre, die entfernung vom spieler zur camera zu überprüfen und wenn der spieler (player) weiter als eine bestimmte entfernung ist, verschieben wir die camera.
Hier der code, ka ob der funzt, da ich ihn nicht getestet hab:
Code:

var distance[3];

function set_camera()
{
while(!player) { wait(1); } //warte bis der spieler exestiert
while(player)
{
vec_diff(distance,player.x,camera.x);

if(distance.x > 512 || distance.x < -512)
{
camera.x += 500 * sign(distance.x);
}

if(distance.y > 512 || distance.y < -512)
{
camera.y += 500 * sign(distance.y);
}

wait(1);
}
}



Wie gesagt der code ist NICHT getestet. Rufe die function am ende deiner function main auf.
Ich bin ehrlich gesagt nicht ganz zufrieden, wegen der ifs aber er _sollte_ funktionieren.
Jedoch gibts bestimmt noch eine elegantere Lösung.

mfg Thunder