Skip to content

Commit 3c46aa4

Browse files
authored
N20: genesis, Shipyard, gba, rust-gpu (#582)
* N20: Add genesis * N20: Add Shipyard * N20: gba * N20: rust-gpu v0.3
1 parent 32757a3 commit 3c46aa4

File tree

2 files changed

+83
-0
lines changed

2 files changed

+83
-0
lines changed
151 KB
Loading

content/posts/newsletter-020/index.md

+83
Original file line numberDiff line numberDiff line change
@@ -963,6 +963,89 @@ scripting language, and game design of programming puzzles.
963963

964964
## Library & Tooling Updates
965965

966+
### [genesis]
967+
968+
[genesis] by [@StygianLightning] is a library for generating statically-typed
969+
ECS worlds by using a procedural macro.
970+
971+
Unlike other ECS libraries and frameworks, which do dynamic borrow-checking
972+
at runtime, you define all your components upfront and generate
973+
a completely statically typed ECS, with borrow checking done at compile time.
974+
Gone are the days of passing a World between functions,
975+
only to encounter a dynamic borrow checking problem!
976+
977+
genesis is a lightweight ECS library that doesn't provide any scheduling capabilities.
978+
Instead, you can query the storage for each component type directly.
979+
980+
[genesis]: https://github.com/StygianLightning/genesis
981+
[@StygianLightning]: https://github.com/StygianLightning
982+
983+
### [Shipyard v0.5][shipyard-0-5]
984+
985+
[Shipyard] by [@leudz] is an ECS library built on top of sparse sets
986+
and focused on usability and speed.
987+
988+
Main changes of the [latest version][shipyard-0-5]:
989+
990+
- The `system!` macro, packs, and `Shiperator` trait were removed.
991+
- Bulk add entity - faster way than adding entities one by one.
992+
- Accurate modification tracking by default.
993+
- No more `try_*` - now all functions that can fail because of storage access
994+
return a Result while almost all others panic.
995+
- More flexible workload building and debugging.
996+
- Customizable views and storages.
997+
- Significant performance improvements.
998+
999+
[Shipyard]: https://crates.io/crates/shipyard
1000+
[shipyard-0-5]: https://users.rust-lang.org/t/shipyard-0-5-release/57203
1001+
[@leudz]: https://github.com/leudz
1002+
1003+
### [gba] v0.4
1004+
1005+
[gba] is a crate for making GBA games with Rust.
1006+
This month it was updated to 0.4!
1007+
It's using the new `thumbv4-none-eabi` target, and has
1008+
an overall simpler build process than before.
1009+
1010+
The project is still a work in progress, but if you've wanted to try
1011+
an embedded experience this is an easy way to test the waters.
1012+
No hardware required!
1013+
Compiled binaries can be run in a GBA emulator just fine.
1014+
1015+
[gba]: https://github.com/rust-console/gba
1016+
1017+
### [rust-gpu v0.3][rust-gpu-v0-3]
1018+
1019+
![A Sci-Fi helmet model](grr-gltf.jpg)
1020+
_The Khronos Sci-Fi helmet model in a [glTF model viewer][grr-gltf]
1021+
created by [@msiglreith] using rust-gpu_
1022+
1023+
[rust-gpu] is a new codegen backend by Embark Studios for Rust, aimed at making
1024+
Rust a first class language for writing GPU shaders!
1025+
This past month was the [release of rust-gpu v0.3][rust-gpu-v0-3].
1026+
Some of the highlights:
1027+
1028+
- A lot of technical debt that was visible to users
1029+
(such as #[allow(unused_attributes)]) was removed.
1030+
- rust-gpu now also supports basic ADT enums and has a whole inference pass
1031+
for storage class variables.
1032+
- All Embark's shaders for their internal engine
1033+
[are now written in Rust](https://twitter.com/repi/status/1365256477569667075)
1034+
\- no more GLSL/HLSL, just Rust for all CPU & GPU code!
1035+
1036+
Full release notes are available [here][rust-gpu-v0-3].
1037+
1038+
For more information on how to get started with using rust-gpu in your projects,
1039+
check out [the Rust-GPU Dev Guide](https://embarkstudios.github.io/rust-gpu/book/).
1040+
1041+
_Discussions:
1042+
[/r/rust](https://reddit.com/r/rust/comments/lxpcc2/announcing_rustgpu_v03)_
1043+
1044+
[rust-gpu]: https://shader.rs
1045+
[rust-gpu-v0-3]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.3.0
1046+
[grr-gltf]: https://github.com/msiglreith/grr-gltf
1047+
[@msiglreith]: https://github.com/msiglreith
1048+
9661049
### [kira]
9671050

9681051
[kira] by [@tesselode] is a game audio library tailored to composers and other

0 commit comments

Comments
 (0)