Llevo un par de días programando el PFC. La cosa avanza lenta ahora mismo porque ando en un punto peliagudo. No es que se trate de programación complicada o que haya un fallo que no consigo encontrar. El principal problema es que noto que el diseño se me escapa de las manos, y en estos momentos prefiero ir despacito y pensar las cosas un poco.

Por un lado, me gusta tener todo ordenadito con sus gets y sets, pero cuando hay tantos sitios en los que los necesito, me da algo de pereza hacerlos. Además, en muchos casos, son internos, para otras partes de la librería. El problema es que necesito acceder desde muchos sitios a determinados recursos.

Esto me suele pasar con clases ‘contenedor’ como ArrayList o HashMap. La primera vez, simplemente las declaré en una clase que pudiera ser accedida por las demás y lo dejé con el modificador ‘package’ (es decir, sin poner nada) para poder acceder desde el resto de clases del paquete. Sin embargo esto es algo chapucero y es una situación que empieza a repetirse en otros lugares.

Esto no es algo especialmente importante, pero tengo que corregirlo ahora o nunca. También se dan otras situaciones curiosas. Como el hecho de que en Java no hay destructores como tal. Hasta ahora, me las he apañado incluyendo métodos remove en las clases necesarias. Sin embargo ¿cómo hacer saber al usuario QUÉ clases son las que tiene que liberar?. Haciendo algo de memoria, yo diría que todas las clases que el usuario ‘pide’ al motor, necesitan destrucción aunque no estoy seguro.

También estoy empezando a meter mano a una de las peculiaridades de mi motor: que todos los módulos comparten un árbol de escena común. Esto es algo experimental, así que no se qué tal resultará, y no es algo que haya visto en otros motores y pueda tener de referencia.

Y por último, y no menos importante, sigo dándole vueltas al tema del nombre. Nombrar un proyecto es algo muy complicado, porque es una primera impresión. Y hay que intentar que la gente lo recuerde, por lo que no puede ser muy rebuscado, pero tampoco demasiado común. También me gustaría intentar que sonara igual en inglés y español.

De momento se me han ocurrido

JAGE (Just another game engine)
Kuma Game Engine
Oporto Game Engine

Oporto también me suena bien. No es que tenga ningún significado en concreto, pero tiene buen sonido y creo que es fácil de recordar. Arg, qué difícil es ponerle nombre a una cosa de estas. Si fuera un perro, le cascas Tobi o Rufo y ya está.