alinalib is an experimental 2D game engine library built as a wrapper around SDL2. This project is a work in progress, primarily developed for fun and to practice and improve my knowledge of C.
- A simple abstraction over SDL2 for 2D game development.
- Single-header library (
alinalib.h
) for ease of use. - Handles window creation, input, and rendering.
- Clean and minimal design to keep things simple and easy to extend.
- Huge inspiration from Raylib, aiming for simplicity and ease of use in game development.
This library is currently in development and is not ready for production use. Expect incomplete features and breaking changes as the code evolves.
alinalib is a personal project created to experiment with low-level game development concepts in C. The goal is to deepen my understanding of game engine architecture and systems programming while working with SDL2. A lot of inspiration comes from Raylib's philosophy of creating a minimal, easy-to-use, and self-contained library for game development.
- SDL2
- A C compiler (e.g., GCC or Clang)
- CMake 3.10 or later
-
Clone the repository:
git clone https://github.com/aimawari/alinalib.git
-
Navigate to the project directory:
cd alinalib
-
Create a build directory:
mkdir build && cd build
-
Generate build files using CMake:
cmake ..
-
Build the project:
cmake --build .
After building, you can find the libalinalib.a
static library in the build
directory. You can link this library to your projects:
/path/to/alinalib/build/libalinalib.a
Once built, you can include alinalib.h
directly in your C projects and link the compiled libalinalib.a
library.
Include the header in your C file:
#include "alinalib.h"
Link your project with libalinalib.a
:
This project is not accepting external contributions at this time, as it is for personal learning and experimentation.
This project is licensed under the MIT License. See the LICENSE
file for details.