Show HN: Parin – A 2D game engine between raylib and Godot, written in Dlang

74 pointsposted 3 days ago
by Kapendev

19 Comments

Kapendev

3 days ago

Parin is a 2D game engine I've been working on for about two years.

tombert

2 days ago

I've never been a big fan of D, but I also haven't done much with it so it's possible I would like it more if I did.

So, simple question: why D? Keep in mind that "I think it writes pretty code" is a perfectly valid answer.

omoikane

2 days ago

I tried D after attending this talk:

https://www.youtube.com/watch?v=RlVpPstLPEc

My impression was that it strives to be a better C++ by fixing many of the annoyances and providing some well thought out convenience features, and it did a pretty good job. I thought the multiple version features and being able to write unit tests inline was especially nice.

But D came about before C++11 was a thing, and C++11 was a great ergonomic improvement over C++98. Since C++ got better, I haven't been keeping up with D.

Kapendev

2 days ago

I like how easy it is to switch between low-level and high-level code, and it has some neat features for modeling data.

doublerabbit

2 days ago

This is cool. Well done in the creation.

xyzzy_apps

2 days ago

Every time I get excited to try a non C++ based language - Rust, Zig, D I am always reminded on how non-existent the mobile support is. Strictly from the standpoint of strong mobile support the only languages worth bothering with are C# and dart. Java and Swift are too tied to their platforms.

JuniperMesos

2 days ago

There's a lot of interest in using Rust on mobile platforms, and it's definitely possible to write code in Rust that executes on mobile. I've personally been working on a mostly-rust project that effectively uses a Kotlin shim for the UI on Android, and this works surprisingly well and was less effort to get working than I expected it to be.

xyzzy_apps

a day ago

My bad, I completely forgot about Kotlin and Godot. Slint does seem promising same can't be said about Zig / D. When I mean supported it shouldn't feel hacky.

- C# by Unity and MAUI

- Flutter

- Qt

- Godot

- Kotlin

- JS

Personally I find my self sticking to Qt as the safest bet. Don't event get me started on VR support. Languages need to take Platform support seriously.

yhjc2692

a day ago

Agreed! I've been using Flutter + Rust (using https://github.com/fzyzcjy/flutter_rust_bridge , which streamlines FFI bindings management). It's a joy to work with and run on all major desktop/mobile platforms with little effort, minus system APIs like win32.

Abishek_Muthian

2 days ago

I might have misunderstood your statement but I use rust all the time with dart FFI in my apps.

hingler36

2 days ago

Is there a wasm-esque effort for mobile?

Kapendev

2 days ago

No idea. I weirdly want to use the Wasm target with some JS thingy to target mobile. Sounds like fun?

Ephraimd

2 days ago

Always excited to see something done with Dlang. I still think that language is underrated.

giancarlostoro

2 days ago

DMD needs to work on modern Macs. I am about to have a chat with Claude over how I can make that happen at this point, I have a feeling it will involve the LLVM D compiler, some assembly witchcraft for Apple Silicon and maybe some sort of bootstrapping method. I did toy with making Mojo work on Windows, but Max is proprietary so I can only use a tiny fraction of Mojo on Windows unfortunately.

deaddodo

2 days ago

A good chunk of the community uses LDC or GDC for that exact reason. I understand why Digital Mars wants to retain control of the core compiler, but they certainly need to work with the community if they can’t get solid support on a major platform.

1980phipsi

a day ago

Walter has been working on adding ARM64 support to DMD. I think he recently got Hello World running.