The So_long project aims to create a 2D maze game. In this game, the player controls a character to move through a maze and reach specific goals. The project provides an opportunity to learn about game programming, graphic management, and user interaction. It covers fundamental game mechanics, collision detection, and event management.
So_long projesinin amacı, 2D bir labirent oyunu oluşturmaktır. Oyunda, kullanıcı bir karakteri bir labirent içinde yönlendirerek belirli hedeflere ulaşmayı amaçlar. Bu projede, oyun mekaniği, grafik yönetimi ve kullanıcı etkileşimi gibi konulara odaklanılır.
Labirent, bir dizi harita dosyasından oluşturulur ve karakter, oyuncunun yönlendirmesiyle bu labirentte hareket eder. Proje, çarpışma algılama, oyun olaylarını yönetme ve kullanıcı etkileşimlerini işleme gibi temel oyun programlama becerilerini geliştirmeyi sağlar.
- Maze Creation: Read and render 2D maze maps accurately on the screen. The map files should contain walls, passages, and goal points, determining the game's visual structure and functionality. 🗺️
- Character Movement: Allow the user to freely move the character through the maze using arrow keys. The character’s movement enhances navigation and game fluidity. 🕹️
- Collision Detection: Detect collisions between the character and walls or other objects in the maze. This manages interactions with impassable areas and enforces the game's physics rules. 🚧
- Game Events: Manage the game's start, end, and other user interactions. This includes organizing game flow, player feedback, level transitions, and goal completions. 🎮
- User Interaction: Optimize user interface and control mechanisms to improve the player's experience and interaction with the game. This helps the player understand and enjoy the game more effectively. 🖱️
- Game Performance: Enhance the overall performance and efficiency of the game. Smooth graphic rendering and interaction handling improve the technical aspects of the game and the player’s experience. ⚡
Some key tools and libraries used in the So_long project are:
- MiniLibX: A library used for graphics operations and window management.
- Xlib: A library used for interacting with the X Window System.
To run the So_long project, the following requirements must be met:
- A Unix-based operating system (Linux, macOS)
- GCC compiler
- MiniLibX library
To run the project locally, follow these steps:
- Clone the repository to your local machine:
git clone https://github.com/username/so_long.git
- Navigate to the project directory:
cd so_long
- Run the Makefile to compile the project:
Make
- Start the game and provide the maze file as an argument:
./so_long map.ber
Here, map.ber should be a maze file with the .ber extension containing the maze layout in which your character will move. 🗂️
If you would like to contribute to the So_long project, follow these steps:
- Reporting Issues: If you encounter a bug or issue, please create an issue on the GitHub Issues page.
- Contributing Code: To make code contributions, first fork the project, make your changes, and then create a pull request. Don’t forget to include a note explaining your changes.
This README was prepared by Derya ACAR.