Tower_Sentry/README.md
2026-10-05 22:58:29 +02:00

4.2 KiB

Tower Sentry

Tower Sentry es un juego de estrategia y dominio vertical en 3D isométrica desarrollado en Python con Pygame.

El juego combina elementos de gestión de recursos, exploración de terreno procedural y táctica posicional.

Tu objetivo es escalar el relieve hasta la cima del mapa, neutralizar a los centinelas guardianes y conquistar la estructura principal.


📋 Descripción del Juego

El juego te sitúa en un mapa tridimensional generado de forma procedimental mediante algoritmos de ruido (noise). El mapa consta de montañas, colinas, valles y masas de agua.

En la cima más alta se encuentra la Cima Principal, custodiada por un Centinela Principal.

A medida que avanzas de nivel, la dificultad escala añadiendo centinelas secundarios en picos adyacentes. Para superar cada nivel, debes usar tu energía con cabeza, crear estructuras, clonarte y dominar las alturas.


🎮 Mecánica y Lógica del Juego

1. Sistema de Dominio Vertical e Interacción

  • Regla de Altura: Para poder absorber y neutralizar a un Centinela, debes estar posicionado a una altura igual o superior a la de su casilla.
  • Línea de Visión y Alcance: Solo puedes interactuar con casillas que estén dentro de tu rango máximo de alcance (12.0 casillas) y no se encuentren bloqueadas por crestas de terreno elevado.

2. Recursos y Entidades

  • 🔵 Jugador (Avatar): Tu presencia física en el mapa. Puedes cambiar tu posición teletransportándote a la ubicación de tus clones o subiendo a bloques construidos.
  • 🌲 Árboles: Elementos de recursos básicos dispersos por el terreno. Absorberlos no cuesta nada y te otorga +1 de energía.
  • 🧱 Bloques (+1.2m): Puedes colocar bloques de elevación sobre casillas para ganar altura o superar obstáculos.
    • Coste de creación: 2 de energía.
    • Absorción: Recuperas +2 de energía.
  • 💜 Clones: Cuerpos sintéticos que puedes proyectar en el mapa para usarlos como puntos de teletransporte táctico.
    • Coste de creación: 3 de energía.
    • Absorción: Recuperas +3 de energía.
  • 👁️ Centinelas: Guardianes de las alturas que bloquean el avance.
    • Requisito para absorber: Altura del jugador >= Altura del Centinela.
    • Recompensa por absorción: +10 de energía.

3. Condición de Victoria y Progresión

Para completar un nivel y pasar al siguiente:

  1. Elimina a todos los Centinelas del mapa (absorbiéndolos desde una altura superior o igual).
  2. Coloca un Clon en la peana de la Cima Principal (donde comenzó el Centinela Principal).
  3. Teletranspórtate a dicho clon mediante la tecla ESPACIO.

🕹️ Controles

Tecla / Control Acción
Flecha Izquierda / Derecha Rotar la cámara alrededor del terreno isométrica.
Ratón Apuntar e inspeccionar casillas dentro de la línea de visión.
Tecla A Absorber el elemento seleccionado (Árbol, Clon, Bloque o Centinela).
Tecla B Crear Bloque de elevación en la casilla seleccionada (Coste: 2 Energía).
Tecla C Crear Clon en la casilla seleccionada (Coste: 3 Energía).
Tecla ESPACIO Teletransportarse a un Clon seleccionado o subir a un Bloque.

💻 Requisitos del Sistema

  • Python: Versión 3.8 o superior.
  • Biblioteca: pygame (versión 2.0.0 o superior).

🚀 Instalación y Ejecución

1. Clonar o descargar el proyecto

Obtén el archivo del juego (tower_sentry.py dentro de una carpeta local.

2. Crear y activar un entorno virtual (Recomendado en Debian/Linux)

En distribuciones recientes de Linux como Debian, es recomendable utilizar un entorno virtual de Python:

# Navegar al directorio del proyecto
cd Tower_Sentry

# Crear entorno virtual
python3 -m venv venv

# Activar entorno virtual
source venv/bin/activate

3. Instalar dependencias

Instala Pygame usando pip:

pip install pygame

O directamente instalando las librerias Python:

sudo apt update
sudo apt -y install python3 python3-pip python3-pygame

4. Ejecutar el juego

Lanza el juego ejecutando el script principal:


python3 tower_sentry.py