rafaelgc/ZeltaLib

Tareas pendientes

Opened this issue · 0 comments

General

  • Revisar EntitySystem.
  • Revisar Physics.
  • Añadir una licencia a la librería (¿MIT?).
  • Módulo FileSystem.
  • Módulo Animation. +¿Herramienta externa para crear animaciones?

Documentación

  • Documentar todo el código en inglés.
  • Traducir los comentarios que no formen parte de la documentación.
  • Escribir un Getting started en la Wiki.
  • Escribir ejemplos.
  • Extender la Wiki para cubrir con más profundidad el resto de módulos.

Core

  • Gestor de recursos: no devolver un puntero sino una referencia. Si el recurso que solicita el usuario no existe ya no se devolvería nullprt sino una excepción.
  • Gestor de recursos: lanzar excepciones cuando haya errores de carga. Idem para el cargador desde archivo.
  • Carga de recursos bajo demanda.
  • Liberar recursos.
  • Dejar de usar el patrón singleton para los gestores de recursos.
  • Dejar de usar el patrón singleton para el gestor de escenas.
  • Empaquetado de assets.
  • Compresión de los paquetes de assets.
  • Cifrado básico de los assets.
  • Carga de empaquetados a los gestores de recursos.
  • Gestionar en qué orden se dibujan las escenas.
  • Revisar la clase de Logging.
  • Logging: permitir el uso del operador << para mostrar datos.
  • Reescribir la clase Clock para que no base su funcionamiento en el deltaTime. No obstante, convendría implementar algún mecanismo para que ciertos relojes pararan cuando se para la escena.
  • Relojes anidables.
  • Añadir un reloj anidable "maestro" en las escenas.
  • Cada escena debería recibir una copia de la cola de eventos.

TileEngine

  • Optimizar el dibujado del tilemap tratando de hacer todas el dibujado con una sola llamada a draw().
  • Implementación de TileSprite.
  • Renombrar TileContainer -> TileWrapper.

IA

  • Optimizar la implementación del algoritmo A* utilizando estructuras de datos más apropiadas.

Text

  • Renombrar y revisar el módulo Text.

CLI

  • Crear un nuevo proyecto SFML/ZeltaLib.
  • Empaquetar assets individualmente.
  • Empaquetar directorio.
  • Empaquetar directorio (Windows).