mirror of
https://github.com/Kapendev/parin.git
synced 2025-04-25 20:49:57 +03:00
88 lines
2.2 KiB
Markdown
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.
|