Buenas compañer@s!Hice un trabajo para la universidad de una especie de juego de rugby pero con las reglas algo distintas (feo feo pero funcionaba) y ahora quiero portarlo para Android para subir nota en otra asignatura. El juego está hecho con Swing y con las librerias de slick 2d para el sonido y para gráficos la librería Graphics normal de awt.
Cogí las clases que representaban mi lógica y modelo de juego y las porté a Android. Ejecuté un partido y el móvil se bloqueaba y cuando vi el log, había desbordamiento de la memoria. No había pensado que el código pudiese bloquear el móvil (un galaxy S2) pero he visto que las 2000 iteraciones que tiene el juego son demasiadas para un móvil. En cada iteración se comprueba lo típico, a quien puedo pasar la pelota, que jugadores están libres, las posiciones de cada jugador y el balón, etc.
Después de este problema, me comentaron los profesores que pusiera el juego en un servidor y usando REST pasara por ejemplo el resultado por JSON. Además, se me ocurrió grabar el partido generando un fichero con las iteraciones del juego y que se hacía en cada momento con el fin de poder ver los partidos cuando yo quisiera.
Ambas cosas las hice sin muchos problemas y pensé en crear el juego con la librería graphics de android y que pudiera reproducir ese partido. Pero claro, tonto de mí cuando pensé todo esto, ya que aunque guarde el partido en un archivo y aunque consiga reproducir los gráficos con la librería de android pero cada vez que hiciera las iteraciones me volvería a ir lento.
He pensado mejorar un poco el código, cambiar los int por byte, los double por float para ahorrar algo, usar singleton para instanciar el menor número de objetos pero aún así creo que será mucho para el móvil. Otra opción que se me ha ocurrido y que no sé hasta que punto puede ser buena o mala es ir haciendo una foto por cada iteración y esas fotos convertirlas en un video y que el servidor devuelva el video, pero sabe dios cuanto ocuparía.
¿Alguien me puede dar alguna idea viable? Gracias!