Mira, lo tuyo, lo del puzzle (o mejor deberíamos rompecabezas en español, no te parece?) es mucho... mucho más sencillito que eso.
Antes que nada debes usar un lenguaje de servidor al que llamaremos script (ASP, PHP, ColdFusion, etc) y alguna dB (base de datos, Access, Mysql, Sql Server, etc.)
Lo más sencillo es Access...
Pues bien, si estás dispuesto a abocarte a la tarea, en el caso de un puzzle, lo que yo haría en el momento que el usuario decida grabar, sería enviarle al script (mediante el objeto LoadVars() y el metodo sendAndLoad() utilizando "POST") las variables que corresponden con las ubicaciones de las distintas piezas. Es decir sus posiciones
_x e
_y. Guardaría en la db en un record para cada pieza (cuyo indice sería el código de la misma) estas posiciones y luego cuando el usuario vuelva las rescataría de la dB y se la ubicaría... Es más, podría dejar el puzzle a medio hacer y reanudar el mismo cuando lo disponga.
Espero haber sido +O- claro
Un saludo.-