parin 0.0.24
A lightweight and beginner-friendly 2D game engine for the D programming language.
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
This package provides sub packages which can be used individually:
parin:setup - A helper script that automates the project setup.
parin:web - A helper script to assist with the web export process.
Parin
Parin is a lightweight and beginner-friendly 2D game engine for the D programming language. It focuses on providing a simple foundation for building 2D games.
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);
[!WARNING] This is alpha software. Use it only if you are very cool.
Supported Platforms
- PC: Windows, Linux, macOS
- Web
Games Made With Parin
Installation
This guide shows how to install Parin and its dependencies using DUB. While DUB simplifies the process, Parin itself doesn't require DUB.
Parin has the following dependencies:
Installation Steps
Create a new folder and run inside the following commands:
dub init -n
dub run parin:setup
The final line modifies the default app.d and dub.json files, downloads raylib, and creates the necessary folders for Parin to function properly. The following folders will be created:
- assets: This folder is used to store game assets.
- web: This folder is used for exporting to the web.
Once the installation is complete, run the following command:
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:
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:
sudo dnf install alsa-lib-devel mesa-libGL-devel libX11-devel libXrandr-devel libXi-devel libXcursor-devel libXinerama-devel libatomic
Arch:
sudo pacman -S alsa-lib mesa libx11 libxrandr libxi libxcursor libxinerama
Documentation
For an initial understanding, the examples folder can be a good starting point. For a more detailed overview, check the TOUR.md file.
Attributes and BetterC Support
This project offers support for the @safe
attribute and aims for good compatibility with BetterC.
If you encounter errors with BetterC, try using the -i
flag.
Web Support
To export a game to the web, the game must be compatible with BetterC. The web folder contains a helper script to assist with the web export process.
It can be used with DUB by running the following command:
dub run parin:web
Alternative Game Development Libraries
While Parin provides a good game development experience in D, it might not fit everyone's needs. Here are some other notable alternatives to consider:
Note
I add things to Parin when I need them.
License
The project is released under the terms of the MIT License. Please refer to the LICENSE file.
- Registered by Alexandros F. G. Kapretsos
- 0.0.24 released 4 days ago
- Kapendev/parin
- MIT
- Copyright © 2024, Alexandros F. G. Kapretsos
- Authors:
- Sub packages:
- parin:setup, parin:web
- Dependencies:
- joka
- Versions:
-
0.0.24 2024-Nov-14 0.0.23 2024-Oct-12 ~main 2024-Nov-18 - Download Stats:
-
-
3 downloads today
-
11 downloads this week
-
15 downloads this month
-
23 downloads total
-
- Score:
- 0.7
- Short URL:
- parin.dub.pm