Un juego estilo Minecraft hecho con Python y Panda3D, con generación de terreno procedural infinita por chunks.
- Python 3.8+
- Panda3D
pip install panda3dAntes de ejecutar, asegúrate de tener estos archivos en la misma carpeta que game.py:
| Archivo | Descripción |
|---|---|
block.egg |
Modelo 3D del bloque |
dirt.png |
Textura del bloque |
logo.ico |
Icono de la ventana |
git clone https://github.com/Arnulfodoor/Minecraft.gitpython game.py| Tecla | Acción |
|---|---|
W / A / S / D |
Moverse |
Espacio |
Saltar |
Ratón |
Mirar alrededor |
Click izquierdo |
Romper bloque |
Click derecho |
Colocar bloque |
Escape |
Pausar / reanudar |
- Generación de terreno infinita con Perlin Noise
- Sistema de chunks con carga y descarga dinámica
- Face culling: solo se renderizan los bloques con caras visibles
- Geometry batching por chunk (un único draw call por chunk)
- Física básica: gravedad y salto
- Colisión con el terreno y entre bloques
Estos parámetros se pueden ajustar al inicio de la clase Game en game.py:
| Parámetro | Valor por defecto | Descripción |
|---|---|---|
chunk_size |
16 |
Tamaño de cada chunk en bloques |
chunk_radius |
3 |
Chunks cargados alrededor del jugador |
unload_radius |
5 |
Distancia a la que se descargan los chunks |
speed |
10 |
Velocidad de movimiento del jugador |
sensitivity |
0.15 |
Sensibilidad del ratón |
jump_force |
8 |
Fuerza del salto |