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.0casillas) 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.
- Requisito para absorber: Altura del jugador
3. Condición de Victoria y Progresión
Para completar un nivel y pasar al siguiente:
- Elimina a todos los Centinelas del mapa (absorbiéndolos desde una altura superior o igual).
- Coloca un Clon en la peana de la Cima Principal (donde comenzó el Centinela Principal).
- 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.8o 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