Piston Developers 🍿🥤🐸
pistondeveloper.bsky.social
Piston Developers 🍿🥤🐸
@pistondeveloper.bsky.social
A modular game engine written in Rust https://piston.rs
Research branch: https://advancedresearch.github.io

Discord (Piston): https://discord.gg/TkDnS9x
Discord (AdvancedResearch): https://discord.gg/JkrhJJRBR2
Pinned
#StandWithUkraine 🇺🇦 (since Feb 27, 2022)
I've opened up a new issue on the PistonWindow repo: github.com/PistonDevelo...

I plan to transition PistonWindow to Winit and WGPU. It's part of a long term potential expansion of the current philosophy of the Piston game engine to include content production.
Transition to Winit and WGPU, plus future plans · Issue #317 · PistonDevelopers/piston_window
I believe it is time to make the Piston ecosystem work with Winit and WGPU as the default backends. Piston's modular architecture allowed testing multiple backends, but this was before Winit and WG...
github.com
December 3, 2025 at 12:50 PM
What's the future of Dyon?

The way I do software engineering, is through a lot of experimentation. Experimentation gives me a lot of feedback on issues that impact real world programming.

When you compare Dyon with other languages, it lacks lot of features. There are no traits or classes.
December 2, 2025 at 8:25 AM
Dyon v0.50 is released! This update makes `dyonrun` return error code properly to the Terminal, so you can e.g. use the Bash command `while true; do dyonrun || break; done`. Dyon now works on Rust stable and was upgraded to Edition 2024.

crates.io/crates/dyon
crates.io: Rust Package Registry
crates.io
December 2, 2025 at 8:01 AM
Turbine-Process3D v0.12 is released! This update adds a general triangle Renderer with support for pre-pre-processing and adaptive sub-tiling for over 2x improved performance. You can customize shader and accumulator.

To wrap this up in a voxel renderer, I use 60 LOC.

crates.io/crates/turbi...
crates.io: Rust Package Registry
crates.io
December 1, 2025 at 2:38 PM
Turbine-Process3D v0.11 is released! This update adds Adaptive Sub-Tiling. In some cases it can improve total performance with 10%.

Adaptive Sub-Tiling is when a render tile with many triangles is "split" into smaller tiles, using optimal tile size for splitting.

crates.io/crates/turbi...
crates.io: Rust Package Registry
crates.io
November 29, 2025 at 12:41 PM
Reposted by Piston Developers 🍿🥤🐸
A great many historians have investigate the relationship to Qumran communities (plural) with early Christianity.

However, if you're looking at the 2nd century it seems by then that Christianity was being shaped/re-shaped by middle-Platonism.
November 28, 2025 at 10:21 AM
One hobby research project I do is reconstruction of historical context of 2nd century Early Christianity texts.

In recent year, I've been looking for scientific evidence to connect Early Christians with the Qumran community (the Dead Sea scrolls), but there were several gaps.

Until now.
November 28, 2025 at 8:16 AM
I've started thinking about adaptive sub-tiles for rendering.

The basic idea is that when a tile of size NxN contains too many triangles >= K, then you split it up by M where M is a divisor of N, such that the average sub-tile has less triangles than K.

Right? It's the worst job that's acceptable.
November 27, 2025 at 7:06 PM
Reposted by Piston Developers 🍿🥤🐸
Why do I love this stuff sooooo much…
November 27, 2025 at 3:49 PM
WE FOUND IT!!! The minimum primbix of value 20:

294698527560839

A primbix is a prime of the form `1 + 2 * r * s` where `r, s` are primes. The primbix value counts the leaves in the associated binary tree. 26 CPU cores worked over a month 24/7.

advancedresearch.github.io/primbix/prim...
November 27, 2025 at 3:28 PM
I figured out that the `PushVariable` design didn't work. When the type `Result<T, String>` is used inside `dyon_fn!`, it produces a `res[any]`, instead of reporting the error to the runtime. So, I kept the old design.
November 27, 2025 at 1:12 PM
I'm adding support for returning `Result<(), String>` in external functions for Dyon. However, I prefer the `PushVariable` trait as it is. Also, I don't want to introduce too many breaking changes.

So, how do I solve this?

The trick is to use a provided trait method `push_to`:
November 27, 2025 at 9:02 AM
Reposted by Piston Developers 🍿🥤🐸
November 27, 2025 at 5:03 AM
Reposted by Piston Developers 🍿🥤🐸
.
Hey America,

it's time to stand up and resist.

Photo from 7-9-2016, Ieshia Evans

💙 👊 💙
November 27, 2025 at 7:50 AM
Reposted by Piston Developers 🍿🥤🐸
That is a spoonful of Campbell's alphabet soup 🍲🥄
November 26, 2025 at 3:24 PM
Reposted by Piston Developers 🍿🥤🐸
Here's the function signature of `add` in Dyon's standard library:
November 26, 2025 at 2:47 PM
Reposted by Piston Developers 🍿🥤🐸
That unknown carpenter was latter arrested for graffiti!
November 26, 2025 at 12:16 PM
Rust is so amazingly stable that I often don't notice the version I'm using. However, when I update old libraries, all of a sudden I have to re-learn things because we're doing things differently now.

At the moment, I'm working on updating Dyon to edition 2024.
November 26, 2025 at 9:43 AM
Turbine-Process3D v0.10 is released! This update adds functionality for pre-masks compression, which can speed up compression 10x and total rendering 2x.

Basically, you can use run-length compression on masks on low resolution to speed up run-length compression on masks.

crates.io/crates/turbi...
crates.io: Rust Package Registry
crates.io
November 26, 2025 at 8:56 AM
I've figured out a way to improve run-length compression on masks in Turbine-Process3D over 10x faster using pre-masks:

Compression: 21.360625982284546 sec (79.224%)
Avg per tile: 0.008900260825951894 sec

Compression: 1.4767029285430908 sec (21.383%)
Avg per tile: 0.0006152928868929545 sec
November 25, 2025 at 1:26 PM
Today I made a new goblet Dyon script, and I added support for snow in my planet generator (in voxels).
November 24, 2025 at 9:51 PM
This is a pyramid with semi-transparent voxels in chess pattern, 200x200 (40 000 voxels):

It took just a few seconds to run the Dyon script and render.

File size? 469 KB (95 KB compressed).

Memory usage? 56.4 MB.

Turbine-Process3D is amazing. ON THE CPU!
November 24, 2025 at 4:15 PM
I've published Turbine-Process3D v0.9.1 with the fix of artifacts when rendering semi-transparent voxels.

I think it's a good default, but I'm open up to reverting this change later if it gets in the way of productivity.
November 24, 2025 at 12:01 PM
Yup, shrinking the Aabb on voxels removes the artifacts:
November 24, 2025 at 11:15 AM