Skip to content

Commit 634dd76

Browse files
authored
Newsletter 13: ecsbench, inline_tweak, yacurses, amethyst (#271)
* Newsletter 13: ecs_bench_suite * Newsletter 13: inline_tweak * Newsletter 13: yacurses * Newsletter 13: Amethyst v0.15.1
1 parent efb5988 commit 634dd76

File tree

4 files changed

+90
-0
lines changed

4 files changed

+90
-0
lines changed
73.5 KB
Loading
169 KB
Loading

content/posts/newsletter-013/index.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,26 @@ game development are planned.
442442

443443
## Library & Tooling Updates
444444

445+
### [ecs_bench_suite]
446+
447+
![Summary results table](ecs-bench.png)
448+
_The full benchmark report is available [here][ecs_report]_
449+
450+
This month [@TomGillen] (author of the [Legion][legion] ECS) released
451+
[ecs_bench_suite] - a suite of benchmarks designed to test and compare
452+
Rust ECS library performance across a variety of challenging circumstances.
453+
Later, the project was adopted by the Rust GameDev WG
454+
so that all Rust ECS developers can converge on a neutral,
455+
community-maintained benchmark.
456+
457+
_Discussions:
458+
[/r/rust](https://reddit.com/r/rust/comments/icczxh/ecs_bench_suite)_
459+
460+
[ecs_bench_suite]: https://github.com/rust-gamedev/ecs_bench_suite
461+
[@TomGillen]: https://github.com/TomGillen
462+
[legion]: https://github.com/amethyst/legion
463+
[ecs_report]: https://rust-gamedev.github.io/ecs_bench_suite/target/criterion/report/index.html
464+
445465
### [Rapier: 2D and 3D Physics Engines Focused on Performance][rapier-august]
446466

447467
[![Rapier logo](rapier-logo.svg)][Rapier]
@@ -566,6 +586,45 @@ that is written in Rust.
566586
[mun-august]: https://mun-lang.org/blog/2020/08/30/this-month-august/
567587
[mun-inkwell]: https://crates.io/crates/inkwell
568588

589+
### [inline_tweak]
590+
591+
![Demo with moving traffic lights](inline-tweak.gif)
592+
593+
[inline_tweak] by [@Uriopass] is a library that allows you to
594+
tweak at runtime any number literal directly from your code.
595+
It works by parsing the file when a change occurs
596+
(inspired by [this blogpost][tuxedolabs-post] from Tuxedo labs).
597+
Usage example:
598+
599+
```rust
600+
use inline_tweak::tweak;
601+
loop {
602+
// Try changing the value while the application is running
603+
println!("{}", tweak!(3.14));
604+
}
605+
```
606+
607+
A `watch!()` macro that sleeps until the file is modified is also provided.
608+
609+
The library is minimal, only requiring the `lazy_static` dependency
610+
to hold modified values.
611+
In release mode, the tweaking code is disabled and compiled away.
612+
613+
[inline_tweak]: https://crates.io/crates/inline_tweak
614+
[@Uriopass]: https://github.com/Uriopass
615+
[tuxedolabs-post]: http://blog.tuxedolabs.com/2018/03/13/hot-reloading-hardcoded-parameters.html
616+
617+
### [yacurses]
618+
619+
[yacurses] by [@Lokathor] is a cross-platform curses bindings crate that's
620+
small, simple, easy to understand, and most importantly safe to use.
621+
It wraps over `ncurses` on Unix and a bundled `pdcurses` on Windows.
622+
If you're looking to make a terminal-based roguelike
623+
(or any other terminal-based game), give it a try.
624+
625+
[yacurses]:https://lib.rs/crates/yacurses
626+
[@Lokathor]: https://github.com/Lokathor
627+
569628
### [SPIR-Q] v0.4.6
570629

571630
[SPIR-Q] is a light-weight shader reflection library, which allows you to query
@@ -939,6 +998,37 @@ You can follow development at [@PistonDeveloper at Twitter].
939998
[tree-view interaction]: https://twitter.com/PistonDeveloper/status/1299840279374110720
940999
[Nano-ECS]: https://github.com/advancedresearch/nano_ecs
9411000

1001+
### [Amethyst v0.15.1][amethyst-v0-15-1-post]
1002+
1003+
![logo](amethyst-logo.png)
1004+
1005+
[Amethyst][amethyst] is a game engine and tool-set
1006+
for ambitious game developers.
1007+
1008+
This month a [v0.15.1 version was released][amethyst-v0-15-1-post].
1009+
Updates include:
1010+
1011+
- New book chapters for [UI][amethyst-ui] and [Tiles][amethyst-tiles];
1012+
- [Updated examples][amethyst-examples], with special attention to the pong example;
1013+
- Switch to [GitHub Actions for CI][amethyst-ga];
1014+
- Lots of API improvements and bug fixes.
1015+
1016+
For more details see the [full changelog][amethyst-changelog].
1017+
1018+
v0.16 plans include a full migration to the [Legion ECS][legion]
1019+
and a big site face lift.
1020+
1021+
_Discussions:
1022+
[/r/rust](https://reddit.com/r/rust/comments/ibvheq/amethyst_engine_v0151)_
1023+
1024+
[amethyst]: https://amethyst.rs
1025+
[amethyst-v0-15-1-post]: https://amethyst.rs/posts/release-0.15.1
1026+
[amethyst-examples]: https://github.com/amethyst/amethyst/tree/v0.15.1/examples
1027+
[amethyst-ui]: https://book.amethyst.rs/stable/ui.html
1028+
[amethyst-tiles]: https://book.amethyst.rs/stable/tiles.html
1029+
[amethyst-ga]: https://github.com/amethyst/amethyst/blob/v0.15.1/.github/workflows/ci.yml
1030+
[amethyst-changelog]: https://github.com/amethyst/amethyst/blob/master/docs/CHANGELOG.md#0151---2020-08-14
1031+
9421032
### [starframe]
9431033

9441034
![Current state of starframe graphics and physics](starframe-demo.gif)
412 KB
Loading

0 commit comments

Comments
 (0)