Skip to content

Commit f62bb9a

Browse files
authored
Newsletter 9: Add VisArcana, Turbulence and Bonus (#135)
1 parent d6b07a3 commit f62bb9a

File tree

3 files changed

+78
-7
lines changed

3 files changed

+78
-7
lines changed

content/posts/newsletter-009/index.md

Lines changed: 78 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -565,14 +565,14 @@ send her a [DM][oliviff-dm].
565565
[@oliviff]: https://twitter.com/oliviff
566566
[oliviff-dm]: https://twitter.com/messages/compose?recipient_id=118804845
567567

568-
## [Multiple ECS in My Personal Game Project][ecs-post]
568+
### [Multiple ECS in My Personal Game Project][ecs-post]
569569

570570
[@dasifefe shared their thoughs][ecs-post]
571571
about using multiple ECSes in a project.
572572

573573
[ecs-post]: https://dasifefe.com/post-2020-04-05-01.html
574574

575-
## [Measuring Build Timings with mathbench][mathbench-time]
575+
### [Measuring Build Timings with mathbench][mathbench-time]
576576

577577
[@bitshifternz] (author of [glam]) has written [a blog post][mathbench-time]
578578
about comparing build times of some popular Rust gamedev math crates
@@ -584,7 +584,7 @@ using a [mathbench-rs] unit tests suit.
584584
[mathbench-rs]: https://github.com/bitshifter/mathbench-rs
585585
[glam]: https://github.com/bitshifter/glam-rs
586586

587-
## [Tutorial on 3D Graphics, Rust, Vulkan, and ash][ash-tutorial]
587+
### [Tutorial on 3D Graphics, Rust, Vulkan, and ash][ash-tutorial]
588588

589589
@hoj-senna started writing a new tutorial about [ash] and Vulkan in general:
590590
["Ashen Aetna"][ash-tutorial].
@@ -597,7 +597,7 @@ _Discussions:
597597
[ash-tutorial]: https://hoj-senna.github.io/ashen-aetna
598598
[ash]: https://github.com/MaikKlein/ash
599599

600-
## [Implementing a Linear Quadtree in Rust][quadtree-post]
600+
### [Implementing a Linear Quadtree in Rust][quadtree-post]
601601

602602
![demo of how the Z-order curve fills the space](quadtree.jpeg)
603603

@@ -613,15 +613,31 @@ _Discussions:
613613
[quadtree-repo]: https://github.com/snorrwe/morton-table
614614
[@snorrwe]: https://snorrwe.onrender.com/
615615

616-
## [Simple 2D Camera System for Rust with GGEZ][ggez-camera]
616+
### [Simple 2D Camera System for Rust with GGEZ][ggez-camera]
617617

618618
[@sylvain has written a tutorial][ggez-camera] about implementing
619619
a simple 2D camera on top of [GGEZ][ggez].
620620

621621
[ggez-camera]: https://dev.to/sobertkaos/simple-2dcamera-system-for-rust-with-ggez-2o2h
622622
[ggez]: https://ggez.rs
623623

624-
## [Symmetric Matrices & Triangle Numbers][matrices-post]
624+
### [Vis Arcana: Our Backend – Technology][visarcana-post]
625+
626+
![logo](visarcana.jpeg)
627+
628+
Authors of [Vis Arcana][visarcana-what] shared a [blog post][visarcana-post]
629+
explaining why they've chosen Rust for their project's backend.
630+
631+
> ... Rust advertises as a very productive language in which most errors
632+
> (apart from logical ones) are caught at the compilation stage.
633+
> After more than a year of working with it, I must admit that
634+
> it’s absolutely correct – new game modules are added extremely quickly,
635+
> and the number of errors has dropped to practically zero. ...
636+
637+
[visarcana-post]: https://visarcana.com/2020/04/24/our-backend-technology
638+
[visarcana-what]: https://visarcana.com/2020/05/04/what-is-vis-arcana/
639+
640+
### [Symmetric Matrices & Triangle Numbers][matrices-post]
625641

626642
![an example of a multi-layered game level](rhea-player-orb.jpeg)
627643

@@ -638,6 +654,34 @@ using [symmetric matrices] and [triangle numbers].
638654
[symmetric matrices]: https://en.wikipedia.org/wiki/Symmetric_matrix
639655
[triangle numbers]: https://en.wikipedia.org/wiki/Triangular_number
640656

657+
### [turbulence] and [goggles]
658+
659+
This month @kyren released two libraries: [turbulence] and [goggles].
660+
661+
> [turbulence] is the more interesting of the two, it is another attempt
662+
> at a rust-based networking library for games.
663+
> The main thing I think that sets it apart is that it is async
664+
> while being totally reactor, executor, and platform agnostic.
665+
> It is a library that just allows you to take a stream of unreliable,
666+
> unordered packets and turn them into N independent unreliable,
667+
> unordered or reliable, ordered streams of messages.
668+
>
669+
> [goggles] is probably not as interesting, but it is an aggressively
670+
> stripped down fork of specs / shred with more of the insides exposed.
671+
> My favorite part about specs is how easy it is to use just the parts of it
672+
> that you actually need, but I wanted to go further.
673+
> For me, the functionality of specs that I needed was really just
674+
> the entity allocator, a few storage types, MaskedStorage,
675+
> and the Join system.
676+
> goggles is just that: the bare minimum pieces that you need
677+
> to assemble your own ECS system, as independent as I could make them.
678+
679+
_Discussions:
680+
[/r/rust_gamedev](https://reddit.com/r/rust_gamedev/comments/fzuv71/two_new_gamedev_libraries_turbulence_and_goggles)_
681+
682+
[turbulence]: https://github.com/kyren/turbulence
683+
[goggles]: https://github.com/kyren/goggles
684+
641685
### [μsfx - 0.1.3][usfx-cratesio]
642686

643687
μsfx is a small library built for generating sound effects in code during
@@ -1040,9 +1084,11 @@ _Discussions:
10401084
[@schr3da]: https://www.youtube.com/channel/UC4jYW3lJKrEvOqCQ2ElryGw
10411085
[Godot]: https://godotengine.org
10421086

1087+
<!--
10431088
## Popular Workgroup Issues in Github
10441089
1045-
<!-- Up to 10 links to interesting issues -->
1090+
skiping this section this time
1091+
-->
10461092

10471093
## Meeting Minutes
10481094

@@ -1088,6 +1134,31 @@ and highlight events from the past. -->
10881134

10891135
Just an interesting Rust gamedev link from the past. :)
10901136

1137+
![example](valora-example.jpeg)
1138+
1139+
^ _"dead end" by turnage, 2019_
1140+
1141+
A few months ago a generative art library ["valora"][valora-src]
1142+
was released by [@turnage].
1143+
Features:
1144+
1145+
- Repeatable works at arbitrary resolutions without changing the work
1146+
- Managed rngs for repeatable works and controlled rng trees
1147+
- Support for using a different, custom GLSL shader for each vector path
1148+
- GLSL live coding with "#include" support
1149+
- An ergonomic derive-based GLSL uniforms interface
1150+
- Animation support for brainstorming and cumulative pieces
1151+
1152+
Check out the [guide][valora] and [gallery][valora-gallery].
1153+
1154+
_Discussions:
1155+
[/r/rust](https://reddit.com/r/rust/comments/echrqd/valora)_
1156+
1157+
[valora]: https://paytonturnage.gitbook.io/valora
1158+
[valora-src]: https://github.com/turnage/valora
1159+
[valora-gallery]: https://paytonturnage.gitbook.io/valora/gallery
1160+
[@turnage]: https://paytonturnage.com
1161+
10911162
------
10921163

10931164
That's all news for today, thanks for reading!
69.5 KB
Loading
56.3 KB
Loading

0 commit comments

Comments
 (0)