@@ -828,6 +828,95 @@ information on the upcoming changes, see the [changelog][tetra-changelog].
828
828
[ tetra-042 ] : https://twitter.com/17cupsofcoffee/status/1294316642680426497
829
829
[ tetra-changelog ] : https://github.com/17cupsofcoffee/tetra/blob/main/CHANGELOG.md
830
830
831
+ ### [ Piston]
832
+
833
+ ![ text logo] ( piston-logo.png )
834
+
835
+ [ Piston] is a modular game engine written in Rust.
836
+
837
+ A new [ Piston Discord Channel] has been set up
838
+ for the Piston project.
839
+
840
+ Piston consists of a core library "piston" which itself are composed of
841
+ smaller libraries for abstracting input, window and event loop.
842
+ This design helps reducing breaking changes in the ecosystem.
843
+
844
+ The core library ` pistoncore-input ` is now stabilized and reached 1.0!
845
+ This is the most important core abstraction, because it glues all
846
+ libraries that are not independent of the core.
847
+
848
+ [ Piston ] : https://github.com/pistondevelopers/piston
849
+ [ Piston Discord Channel ] : https://discord.gg/TkDnS9x
850
+
851
+ ------
852
+
853
+ [ Dyon] is a rusty dynamically typed scripting language.
854
+ It is developed and maintained as part of the Piston project,
855
+ but can be used as a standalone library.
856
+
857
+ Dyon is designed from the bottom up to be a good gamedev scripting language for Rust.
858
+ It uses a lifetime checker instead of garbage collection, a mutability checker,
859
+ optional namespaces and ad-hoc types, named argument syntax,
860
+ 4D vectors and HTML colors, plus a lot more features!
861
+
862
+ Recently, Dyon got better macro integration for native Rust types
863
+ using ` # ` as a prefix.
864
+ Here is an example of this feature is being tested in
865
+ an experimental offline 3D renderer (not open sourced):
866
+
867
+ ``` text
868
+ // Called by `set_simple(scene: _, sdf: _, id: _)`.
869
+ dyon_fn!{fn set_simple__scene_sdf_id(
870
+ scene: #&mut SimpleScene,
871
+ sdf: #&Sdf,
872
+ id: f64
873
+ ) {
874
+ scene.sdfs[id as usize] = sdf.clone()
875
+ }}
876
+ ```
877
+
878
+ To follow updates on Dyon, check out the subreddit [ /r/dyon] .
879
+
880
+ [ Dyon ] : https://github.com/pistondevelopers/dyon
881
+ [ /r/dyon ] : https://reddit.com/r/dyon/
882
+
883
+ ------
884
+
885
+ [ Piston-Graphics] is a library for 2D graphics, written in Rust,
886
+ that works with multiple backends.
887
+
888
+ ` Stencil::Increment ` has been added and the ecosystem
889
+ has been updated to the latest version.
890
+
891
+ [ Piston-Graphics ] : https://github.com/pistondevelopers/graphics
892
+
893
+ ------
894
+
895
+ The research branch of the Piston project, AdvancedResearch,
896
+ has released a new ECS library [ Nano-ECS] .
897
+
898
+ This ECS design stores all components in a single array
899
+ and uses bit masks for enabling/disabling components.
900
+ An entity can have maximum 64 components and must be initalized
901
+ with all components it uses in the future.
902
+ Each entity has a slice into the array that stores all components.
903
+ The ` World ` object, ` Component ` and systems are generated using macros.
904
+
905
+ One research project with Nano-ECS is to prototype a UI framework
906
+ for Rust with a UI editor (not open sourced yet).
907
+ This project uses Piston-Graphics by default,
908
+ but can generate draw commands for processing by other 2D APIs.
909
+ It is also possible to override rendering of widgets for
910
+ custom looks with Piston-Graphics, which is often useful in gamedev.
911
+ Recently, this project has gotten to a place where
912
+ [ tree-view interaction] is working.
913
+
914
+ You can follow development at [ @PistonDeveloper at Twitter] .
915
+
916
+ [ @PistonDeveloper at Twitter ] : https://twitter.com/PistonDeveloper
917
+ [ tree-view interaction ] : https://twitter.com/PistonDeveloper/status/1299840279374110720
918
+ [ Nano-ECS ] : https://github.com/advancedresearch/nano_ecs
919
+
831
920
### [ starframe]
832
921
833
922
![ Current state of starframe graphics and physics] ( starframe-demo.gif )
0 commit comments