update: 2025-07-12
update: 2025-07-13

update: 2025-07-14

versionamiento

por calendario

Estructura básica del juego 📖

Un mini juego en 2D como Space Invaders con muchas referecias de Aero Fighters y Road Fighter.

Tecnologias 📟

Rust, como lenguaje de programacion principal
ggez, un framework de juegos ligero para crear juegos 2D.
winit, una biblioteca de gestión de ventanas
rodio una Biblioteca de reproducción de audio

Mecánicas básicas del juego 🎮

Jugador (nave espacial) 🕹️

Puede moverse izquierda/derecha
Puede disparar balas y bombas hacia arriba

Enemigos 🎃

aparecen en la parte superior y se dirgen hacia abajo
movimiento: arriba y abajo
Se mueven en grupo de lado a lado y generalmente de forma aleatoria
desaparecen cuando los toca una bala ó cuando tocan el borde inferior
segun el tipo, cada cierto tiempo pueden disparar balas

Balas 🧨

El jugador las disparan hacia arriba
Los enemigos las disparan hacia abajo

Colisiones ☄️

Detectar colisión (choques) entre balas y enemigos
Detectar colisión (choques) entre balas enemigas y jugador
Eliminar objetos tras colisión (choque)

Sistema de puntos 💖

Sumar puntos al eliminar enemigos
Restar puntos si un enemigo choca con la nave
Restar puntos si un enemigo dispara y la bala choca con la nave
Sumar puntos al recoger un bono
el bono puede aumentar el nivel de poder de las balas
el bono puede aumentar el nivel de poder de resistencia de la nave
el bono puede añadir un escudo a la nave
konami codes, combinaciones de teclas ó frases para activar bonos adicionales

Ambientación 🎼

se agrega un sonido general de fondo para el mini juego
se agrega un sonido para las balas
se agrega un sonido para las explosiones
se agrega un sonido para el inicio o cambio de nivel
se agrega un sonido para el menu principal

Fondo 🎼

Creditos 🌟

Menú Principal 🎛️

Menú del juego 📝

mostrar puntaje general
mostrar cantidad de balas especiales o bombas
mostrar nivel
mostrar boton para el menu

Sistema de disparos 💥

balas simples

balas especiales

bombas 💣

Enemigos 👾

enemigo 1

enemigo 2

enemigo 3

Estructura de archivos 📚

space_crab/
├───assets/
│   ├───bullets/
│   └───enemies/
│   ├───fonts/
│   ├───images/
│   ├───levels/
│   ├───sounds/
│   ├───spaceships/
├───src/
│   ├───backgrounds/
│   ├───bullets/
│   ├───config/
│   ├───credits/
│   ├───enemies/
│   ├───menu/
│   └───ships/
$ mkdir -pv assets/{bullets,enemies,fonts,images,levels,sounds,spaceships}
$ mkdir -pv src/{ships,bullets,enemies,menu,config}
$ touch src/{ships/mod.rs,bullets/mod.rs,enemies/mod.rs,menu/mod.rs,config/mod.rs}