Skip to content

This project is a very small 2D game. Its purpose is to work with textures, sprites, and some other very basic gameplay elements.

Notifications You must be signed in to change notification settings

Matsadura/so_long

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

so_long 🎮 2D Game Development Project

Project Description

Core Purpose

Create a simple 2D game using MinilibX (42's graphics library) where a player collects items and exits a map. This project introduces graphical programming and event-driven application development.

Key Technical Concepts

  • Graphics programming: Window management and image rendering
  • Map parsing: Validate and interpret .ber map files
  • Game mechanics: Collision detection, item collection, and win/lose conditions
  • Memory management: Handling textures and sprites

Why This Project Matters

So_long serves as 42 students' first foray into:

  • Graphical application development
  • Real-time input handling
  • Game development fundamentals
  • Complex system integration (graphics + logic + IO)

Learning Objectives 🎯

Key Programming Concepts

  1. MinilibX Mastery: Window/Image management
  2. Game Loop Design: Continuous rendering + event handling
  3. Map Validation:
    /* Example map validation check */
    if (map->player_count != 1 || map->exit_count != 1)
        error_exit("Invalid map configuration");
  4. State Management: Tracking collectibles and player position

Skills Developed

  • Working with external graphical libraries
  • Event-driven programming (key hooks, window events)
  • Pixel-perfect rendering techniques
  • Debugging graphical applications

About

This project is a very small 2D game. Its purpose is to work with textures, sprites, and some other very basic gameplay elements.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors