Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rgiskard7/space-invaders-c

A C-based Space Invaders project under development, recreating the classic game with Allegro library.
https://github.com/rgiskard7/space-invaders-c

2d-game allegro c-language game-development retro-game space-invaders

Last synced: 2 months ago
JSON representation

A C-based Space Invaders project under development, recreating the classic game with Allegro library.

Awesome Lists containing this project

README

        

# Space Invaders in C

## Project Overview
**Space Invaders in C** is a classic arcade-inspired project implemented in C, showcasing structured programming and the use of the **Allegro 5** library for game development. This project aims to replicate and extend the original Space Invaders game mechanics, allowing for a deeper understanding of game logic, animation, and rendering in a low-level programming environment.

> **Project Status:** _In Development_

## Features
- **Player-controlled spaceship** with movement and firing mechanics.
- **Alien invaders** with movement patterns, animations, and interaction logic.
- **Score tracking** and **game state management** (e.g., tracking lives, level progression).
- **Projectile collision detection** between player and aliens.
- Configurable settings for game difficulty and alien speed.

## Screenshot
![SpaceInvaders](https://github.com/user-attachments/assets/4bbfd3ac-5afa-4fbc-a61e-b6cd670580fb)

## Requirements
- **Allegro 5** library
- **GCC** compiler (recommended: **MinGW** for Windows)

## Setup and Installation

1. **Clone the Repository**
```bash
git clone https://github.com/RGiskard7/space-invaders-c.git
cd space-invaders-c
```

2. **Install Dependencies**
Ensure that the **Allegro 5** library is installed and properly linked with your project. For Windows, use **MinGW** to manage dependencies.

3. **Compile the Project**
Use the provided `Makefile` to compile the project:
```bash
make
```

4. **Run the Game**
```bash
./SpaceInvaders.exe
```

## Development Roadmap
- **Phase 1**: Core Mechanics — Player movement, alien waves, basic collision detection.
- **Phase 2**: Game Enhancements — Alien animations, sound integration, scoring system.
- **Phase 3**: Polishing & Optimization — Fine-tuning gameplay, adding visual effects, optimizing for different resolutions.

---

## Contributing
Contributions, issues, and feature requests are welcome. Feel free to check the [issues page](https://github.com/RGiskard7/space-invaders-c/issues) to find areas for improvement or to suggest features.

1. Fork the repository.
2. Create a new branch.
3. Submit a pull request with a detailed description of changes.

## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

---

## Contact
For questions or collaboration requests, please contact the project maintainer via GitHub at [RGiskard7](https://github.com/RGiskard7).

---

Aquí tienes la versión en español del README. Puedes incluir ambas versiones en tu archivo README.md para que esté disponible en ambos idiomas.

---

# Space Invaders en C

## Descripción del Proyecto
**Space Invaders en C** es un proyecto inspirado en el clásico juego arcade, implementado en C y utilizando la biblioteca **Allegro 5** para el desarrollo gráfico. Este proyecto tiene como objetivo replicar y extender la mecánica original de Space Invaders, proporcionando una comprensión profunda de la lógica de juego, animación y renderización en un entorno de programación de bajo nivel.

> **Estado del Proyecto:** _En Desarrollo_

## Funcionalidades
- **Nave controlada por el jugador** con mecánicas de movimiento y disparo.
- **Invasores alienígenas** con patrones de movimiento, animaciones y lógica de interacción.
- **Rastreo de puntuación** y **gestión del estado del juego** (e.g., seguimiento de vidas y progreso de niveles).
- **Detección de colisiones de proyectiles** entre el jugador y los alienígenas.
- Configuraciones ajustables para la dificultad del juego y velocidad de los alienígenas.

## Captura de Pantalla
![SpaceInvaders](https://github.com/user-attachments/assets/48a46d8a-0180-436b-8c95-7769712331ff)

## Requisitos
- Biblioteca **Allegro 5**
- Compilador **GCC** (recomendado: **MinGW** para Windows)

## Configuración e Instalación

1. **Clonar el Repositorio**
```bash
git clone https://github.com/RGiskard7/space-invaders-c.git
cd space-invaders-c
```

2. **Instalar Dependencias**
Asegúrate de que la biblioteca **Allegro 5** esté instalada y vinculada correctamente con el proyecto. En Windows, usa **MinGW** para gestionar las dependencias.

3. **Compilar el Proyecto**
Utiliza el `Makefile` proporcionado para compilar el proyecto:
```bash
make
```

4. **Ejecutar el Juego**
```bash
./SpaceInvaders.exe
```

## Plan de Desarrollo
- **Fase 1**: Mecánicas Básicas — Movimiento del jugador, oleadas de alienígenas, detección de colisiones básica.
- **Fase 2**: Mejoras del Juego — Animaciones de alienígenas, integración de sonido, sistema de puntuación.
- **Fase 3**: Pulido y Optimización — Ajuste de la jugabilidad, adición de efectos visuales, optimización para diferentes resoluciones.

---

## Contribuciones
Las contribuciones, problemas y solicitudes de características son bienvenidas. Puedes consultar la [página de issues](https://github.com/RGiskard7/space-invaders-c/issues) para encontrar áreas de mejora o sugerir características.

1. Haz un fork del repositorio.
2. Crea una nueva rama.
3. Envía un pull request con una descripción detallada de los cambios.

## Licencia
Este proyecto está bajo la licencia MIT. Consulta el archivo [LICENSE](LICENSE) para más detalles.

---

## Contacto
Para consultas o solicitudes de colaboración, puedes contactar al mantenedor del proyecto en GitHub: [RGiskard7](https://github.com/RGiskard7).