jQuery y MooTools son geniales bibliotecas de JavaScript; Prefiero jQuery yo mismo. Cualquiera de los dos te ayudará en el desarrollo de tu juego JS si usas el DOM. Si optas por el renderizado de Canvas, sigo pensando que deberías usar una de esas bibliotecas, pero necesitarás aprender las funciones de Canvas. Aquí hay un tutorial que lo introduce al lienzo creando un clon de Breakout, por lo que podría ser exactamente el tipo de cosa que está buscando (y usa jQuery).
Animar sprites es una cuestión de cambiar el src de una imagen, o precargar varias imágenes e intercambiarlas, o en un lienzo simplemente dibujando cuadros de una animación. Las bibliotecas anteriores pueden ayudar con cualquiera de estos casos. Las bibliotecas también ayudan con la entrada (ver eventos como onkeypress y onmousemove).
Para precargar recursos, me parecen algunos juegos que usan una sola imagen de "hoja de sprite" ( aquí está la del juego Pacman de Google ). Creo que básicamente crean un DIV de un tamaño de mosaico, con la propiedad de imagen de fondo CSS establecida en la hoja de sprite y la propiedad de posición de fondo establecida en el desplazamiento del mosaico en la hoja de sprite. No he visto una biblioteca que haga esto por usted, pero jQuery o MooTools pueden ayudarlo a crear dinámicamente el DIV y manipular su CSS. De lo contrario, la carga previa de imágenes es una cuestión de crear <img>
etiquetas de las imágenes que desea cargar previamente y no agregarlas a la página (o agregarlas de forma invisible). Aquí hay una publicación de blog que tiene algún código para una función que usa jQuery para precargar imágenes por usted.
SoundManager 2 parece ser la biblioteca de sonidos JS para usar; Sé que Vanthia lo usa, y Pacman de Googleusó algo similar (o al menos la misma técnica, de usar un archivo Flash oculto en la página para reproducir sonidos).
Para redes, jQuery puede manejar AJAX por usted, o si desea una red mucho más en tiempo real (y tiene el servidor para hacerlo), busque en los enchufes de JavaScript . No sé si hay una biblioteca estable para eso, pero podrías investigar esto o esto . Básicamente, utiliza un archivo Java o Flash oculto en la página para que pueda hacer una verdadera comunicación de socket con JavaScript, que es mucho más rápido que el sondeo AJAX y un poco más eficiente que "AJAX Push" . Sin embargo, lo más probable es que AJAX Push sea lo que desea, y APE (Ajax Push Engine) es probablemente la biblioteca para usar.
Además, aquí hay una charla técnica de Google sobre "Creación de un motor de juego basado en JavaScript para la Web" . Se ve bien.