first commit
This commit is contained in:
commit
9813ebd2db
108
README.md
Normal file
108
README.md
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
# 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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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:
|
||||||
|
```bash
|
||||||
|
pip install pygame
|
||||||
|
```
|
||||||
|
|
||||||
|
O directamente instalando las librerias Python:
|
||||||
|
```bash
|
||||||
|
sudo apt update
|
||||||
|
sudo apt -y install python3 python3-pip python3-pygame
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Ejecutar el juego
|
||||||
|
|
||||||
|
Lanza el juego ejecutando el script principal:
|
||||||
|
```bash
|
||||||
|
|
||||||
|
python3 tower_sentry.py
|
||||||
|
```
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user