Skip to content

doooriian/So_long

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


42 Logo

So_long

A 2D game project from 42 School

So_long Badge

GitHub code size in bytes Code language count GitHub top language GitHub last commit


✨ Overview

So_long is a 2D game project developed during the 42 curriculum, where the goal is to create a simple yet engaging game through solid programming practices and creative design. The game is built using the MLX graphics library and features a maze-like map where the player collects items and navigates through obstacles.

While the base project is open to any theme, I chose a subtle nod to the classic Pacman for an added nostalgic touch—not as the main focus, but as an inspiration to enhance the gameplay experience.


📑 Key Features

  • Interactive Gameplay: Navigate through the maze to collect items and reach the exit.
  • Graphics & Animations: Utilizes the MLX library to provide smooth and dynamic visual effects.
  • Event Handling: Real-time keyboard input for responsive and fluid movement.
  • Map Validation: Ensures the provided map (in .ber format) is valid and playable.
  • Bonus Features:
    • Seamless animations.
    • Optional enemy movements.
    • Enhanced effects (including optional sound support, if available).

🛠️ Technologies Used

  • C — Core programming language.
  • MLX (MiniLibX) — Graphics and window management library.
  • Makefile — Build automation tool.

🚀 How to Build and Run

Start by cloning the repository and then compile using the provided Makefile commands:

# Compile the project
make all

# Remove object files
make clean

# Remove object files and executable
make fclean

# Clean and recompile
make re

To launch the game, run the executable with a map file (in .ber format) as an argument:

./so_long maps/my_map.ber

Note: Ensure your environment meets the prerequisites for MLX (e.g., X11 on Linux).

🔥 Game Controls

  • Arrow Keys or W, A, S, D: Move your character around the maze.
  • ESC: Exit the game immediately.

Note: Ensure your environment meets the prerequisites for MLX (e.g., X11 on Linux) before running the game.

🧪 Testing

The project has undergone extensive testing to guarantee:

  • Fluid and responsive navigation within the maze.
  • Correct map validation and layout consistency.
  • Proper functionality of animations and bonus features.

Custom map tests and internal debugging tools helped optimize the gameplay experience.

📸 Visual Example

Sorting Process

✅ Results

Here’s my score for the Push_swap project:

Push_swap Grade

📚 Resources

📬 Contact

Feel free to reach out or contribute to this project on GitHub!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors