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

No packages published