backlogSprint.md - UCM-FDI-DISIA/proyectois1-algoritmos GitHub Wiki

Sprint Backlog

El conjunto de los elementos del Product Backlog seleccionados para el Sprint están en los Kanban Sprint correspondientes en el apartado de "Project". Ahí se puede ver el progreso de cada tarea, comentarios sobre avances, estimaciones y seguimiento de tareas.

  • Las historias de usuario que se resuelven en cada Sprint quedan reflejadas en el Kanban.
  • Estimación de tamaño de tarea: Tallas de camiseta.
  • Estimación "estimate": días que llevará (si fuese mayor de 3, se divide en subtareas).

En este documento se encuentra la siguiente información.

  • Plan para entregar el Incremento de producto y conseguir el objetivo del Sprint.
    • Plan con suficiente detalle para que los cambios en el progreso se puedan entender en el Daily Scrum.
  • Predicción del trabajo necesario para entregar esa funcionalidad en un Incremento “Terminado”.
    • Trabajo necesario para alcanzar el Objetivo del Sprint.
    • A lo largo del Sprint, cuando se requiere nuevo trabajo, el Equipo de Desarrollo lo incluye aquí.

Sprint 1

Este Sprint es especial porque aún no está elaborado el Product Backlog y por ende los objetivos que tenemos no responden a ninguna tarea del Backlog. Por el mismo motivo, no tenemos un "Incremento" en el sentido estricto de la palabra.

  • Tareas referentes a solventar historias de usuario: tenemos tareas referentes a 3 bloques principales - toma de decisiones del proyecto, documentación de GitHub y creación de historias de usuario.

  • Tareas referentes a la deuda técnica: no hay.


Sprint 2

Tareas para solventar historias de usuario

Incremento: mapa funcional.

  • Investigar cómo diseñar un mapa de cuadrícula en Godot.
  • Diseñar un cuadrante del mapa suficientemente amplio que tenga distintas zonas y desniveles (para fomentar la exploración).
    • El movimiento del personaje por el mapa debe ser natural (debe tener colisiones, distintos planos con objetos...).

Incremento: recolección de recursos.

  • Diseñar las tres fuentes de recursos principales del juego: árboles, minas de oro y minas de oro.
    • El programador debe poder distribuir las fuentes de recurso por el mapa ajustándose a la implementación en casillas.
  • El personaje debe poder interactuar con los objetos y tener un refuerzo visual cuando recolecte materiales.
  • Crear un menú de recursos en el que se refleje la cantidad de recursos recolectada.

Tareas de documentación

Wiki de GitHub

  • Definir qué entendemos por "terminado" como equipo de Desarrollo.
  • Definir cuál es nuestro Producto Mínimo Viable.
  • Identificar los riesgos que enfrentamos como equipo y qué hacer para evitarlos y gestionarlos.
  • Revisar las historias de usuario.
    • Dividir las historias de usuario en historias más pequeñas y específicas cuando corresponda.
    • Concretar las historias de usuario cuando corresponda.
  • Definir cómo vamos a hacer pruebas unitarias manuales y sistemáticas.

Sprint 3

Tareas para solventar historias de usuario

Incremento: construcción de casas.

  • Diseñar una escena para las casas y decidir precio que tendrá que pagar el jugador.
  • Incorporar la construcción de casas al diseño en cuadrícula del mapa.
  • Coordinar al construcción de casas con un aumento en el número de aldeanos del jugador.

Incremento: reclutamiento de soldados.

  • Diseñar una escena para los soldados y la torre de reclutamiento.
  • Diseñar un menú desplegable de reclutamiento de soldados.
  • Implementar la función de comprar soldados desde la torre de reclutamiento.

Tareas para solventar deuda técnica

Incremento: recolección de recursos.

  • El personaje debe poder interactuar con los objetos y tener un refuerzo visual cuando recolecte materiales.
  • Los materiales de los que dispone el jugador deben reflejarse en una interfaz visible en todo momento.

Sprint 4

Tareas para solventar historias de usuario

Incremento: función multijugador.

  • Investigar cómo afrontar esta tarea.
  • Conseguir que dos jugadores jueguen simultáneamente a la misma partida, uno contra otro.

Incremento: atacar al oponente y ganar la partida.

  • Diseñar un campo de batalla separado del resto del mapa.
  • Mostrar el ejército de ambos jugadores y el resultado de la batalla.
  • Diseñar una pantalla de WIN/LOOSE para que el jugador sepa quién ha ganado tras la batalla.

Incremento: registro de usuarios e inicio de sesión.

  • Diseñar una pantalla de inicio de sesión y registro de usuarios.
  • Hacer que tras esta pantalla se acceda al menú de inicio de partida.

Tareas para pulir tareas del Sprint pasado

Incremento: construcción de casas.

  • El jugador no debe poder construir una casa en el agua.
  • El jugador no debe poder construir una casa en una rampa, escalera, puente o desnivel.
  • El jugador no debe poder construir una casa encima de una fuente de recurso.

Incremento: ampliación del mapa.

  • Revisar las colisiones de los 4 cuadrantes del mapa.
  • Revisar la funcionalidad de todas las escaleras y rampas del mapa, usando la metodología presente en los documentos de pruebas unitarias presentes en nuestra carpeta code.

Gestión interna.

  • Revisar la modularidad de las funciones ya hechas.
  • Aplicar la modularidad estipulada en los estándares de diseño en todas las nuevas funcionalidades.

Tareas de documentación

Wiki de GitHub

  • Definir qué vamos a evaluar en como equipo de control de calidad en las RTF del proyecto de nuestros compañeros.
  • RTF: Revisar la coherencia, claridad y precisión de todas las historias de usuario.
  • Redactar un Documento Técnico útil para el desarrollo del proyecto, que recoja las herramientas que estamos usando y pensamos usar para el desarrollo de este.

Sprint 5

Tareas para solventar historias de usuario

Incremento: función multijugador (estabilización, exportación y pulido)

  • Corregir la exportación del multijugador online.
  • Optimizar las funciones para que tengan menos retardo y corregir warnings.
  • Gestionar reconexiones o caídas mínimamente (volver al menú si hay error).
  • Poder crear servidores distintos (partidas paralelas).

Incremento: modos de partida

  • Cambiar la pantalla de inicio para ofrecer modos.
  • Gestionar partidas con bots.

Incremento: edificios de construcción con NPCs

  • Diseñar las escenas de edificios de construcción.
  • Crear las escenas de los NPCs.
  • Investigar y crear un algoritmo para el movimiento al recurso más cercano.
  • Implementar colisiones.

Incremento: construcción de puentes

  • Poder construir puentes dado un coste de madera.
  • Conseguir que cambien los puentes del mapa dependiendo de si están construidos o no.

Tareas para solventar deuda técnica

Incremento: corrección del mapa y colisiones

  • Revisar las colisiones de los 4 cuadrantes del mapa.
  • Aplicar la metodología del documento de pruebas unitarias para validar todos los cuadrantes.
  • Documentar errores encontrados y corregidos.

Tareas de documentación

Wiki de Github

  • Revisión de historias de usuario relacionadas con multijugador e interacción.
  • Limpieza y organización de la wiki y de las carpetas de código.
  • Tutorial (manual del usuario)

Sprint 6

Tareas para solventar historias de usuario

Incremento: asignar aldeanos (NPCs) a tareas de recolección de recursos

  • Corregir movimiento automatizado hacia su recurso correspondiente más cercano.
  • Optimizar búsqueda de recursos disponibles para recolección.
  • Gestionar el envío de NPCs cada uno a un recurso distinto.

Incremento (estético no funcional): experiencia visual atractiva

  • Diferenciación de los jugadores de cada cuadrante por colores en PVP.
  • Añadir información relevante para el jugador en los botones.
  • Elegir un formato para el texto de labels que mejore la estética del juego.
  • Pulir el aspecto visual del campo de batalla.
  • Animación de construcción de puentes para expansión territorial.

Incremento (estético no funcional): transición de estados

  • Diseñar una pantalla intermedia a modo de sala de espera previa a la conexión a PVP.
  • Añadir transiciones y animaciones al cambiar de escena.
  • Incluir un contador regresivo que alerte de batalla inminente.
  • Notificaciones de estado de partida (e.g. notificación de ataque, notificación de conexión con lobby, etc.).

Tareas para solventar deuda técnica

  • Actualización del README.
  • Revisión de colisiones de los cuatro cuadrantes del mapa.
  • Implementación de jugabilidad móvil.

Tareas de documentación

Wiki de Github

  • Revisión de historias de usuario relacionadas con multijugador e interacción.
  • Limpieza y organización de la wiki y de las carpetas de código.

Documentos de entrega de proyecto

  • Registrar la información pedida para la entrega.
  • Exportar la última versión del juego.
  • Redactar instrucciones de uso para probar el juego.

Última actualización: 02/12/2025. En cada Sprint distinguimos dos tipos de tareas: las referentes a solventar historias de usuario y las referentes a solventar deuda técnica y posibles retrasos en la planificación.