parin/README.md
2025-04-16 17:02:23 +03:00

88 lines
2.2 KiB
Markdown

# 🍩 Parin
A delightfully simple and lightweight 2D game engine for the D programming language.
```d
import parin;
void ready() {
lockResolution(320, 180);
}
bool update(float dt) {
drawDebugText("Hello world!", Vec2(8));
return false;
}
void finish() { }
mixin runGame!(ready, update, finish);
```
## Batteries Included
Parin is packed with powerful features to get you started quickly:
* Intuitive immediate mode UI
* Efficient tile map structures
* Flexible dialogue system with a stack-oriented scripting language
* Atlas-based animation library
* Pixel-perfect physics engine
* Cross-language support for the core library
* ...and more!
## Cross-Platform
Parin lets you to build games for multiple platforms with ease:
* PC: Windows, Linux, Mac
* WebAssembly
* ...and more in the future!
## Open-Source
Parin is MIT-licensed and free to use forever.
## Projects Made With Parin
A list of projects made with Parin is available in the [projects](https://kapendev.github.io/parin-website/pages/projects.html) page.
## Installation
This guide shows how to install Parin and its dependencies using [DUB](https://dub.pm/).
Create a new folder and run inside the following commands:
```cmd
dub init -n
dub run parin:setup
dub run
```
If everything is set up correctly, a window will appear showing the message "Hello world!".
### Required Libraries on Linux
Some libraries for sound, graphics, and input handling are required before using Parin on Linux. Below are installation commands for some Linux distributions.
Ubuntu:
```cmd
sudo apt install libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev libwayland-dev libxkbcommon-dev
```
Fedora:
```cmd
sudo dnf install alsa-lib-devel mesa-libGL-devel libX11-devel libXrandr-devel libXi-devel libXcursor-devel libXinerama-devel libatomic
```
Arch:
```cmd
sudo pacman -S alsa-lib mesa libx11 libxrandr libxi libxcursor libxinerama
```
## Documentation
Start with the [examples](./examples/) folder or the [cheatsheet](https://kapendev.github.io/parin-website/pages/cheatsheet.html) for a quick overview.
For more details, check the [tour](https://kapendev.github.io/parin-website/pages/tour.html) page.