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