@@ -68,14 +68,121 @@ If needed, a section can be split into subsections with a "------" delimiter.
68
68
69
69
## Game Updates
70
70
71
+ ### Flesh
72
+
73
+ ![ flesh preview] ( flesh.gif )
74
+ _ 3rd area_
75
+
76
+ [ Flesh] by [ @im_oab] is a 2D-horizontal shmup game with hand-drawn animation and
77
+ an organic/fleshy theme. It is implemented using [ Tetra] . This month's updates
78
+ include:
79
+
80
+ - The game has BGM.
81
+ - Support global leaderboard.
82
+ - Integrate steam SDK using [ steamworks] crate.
83
+ - Add new enemy types for the 3rd area.
84
+ - Add squeezing effect when the enemy gets hit.
85
+
86
+ [ Flesh ] : https://store.steampowered.com/app/1660850/Flesh/
87
+ [ @im_oab ] : https://twitter.com/im_oab
88
+ [ Tetra ] : https://github.com/17cupsofcoffee/tetra
89
+ [ steamworks ] : https://crates.io/crates/steamworks
90
+
91
+ ### [ CyberGate] [ cybergate-yt ]
92
+
93
+ ![ hundreds of colliding colored balls in the air] ( entities.png )
94
+ _ The server and clients are able to smoothly handle
95
+ over a thousand balls rained from above_
96
+
97
+ CyberGate ([ YouTube] [ cybergate-yt ] , [ Discord] [ cybergate-dis ] ) by CyberSoul
98
+ is a new multiplayer project that aims at procedurally generating distinct
99
+ universes and gameplay experiences. CyberGate is the name of the main world
100
+ where universes can be created and accessed by quantum portals.
101
+
102
+ Recent updates:
103
+
104
+ - Bandwidth became 16 times smaller by implementing entity prioritization
105
+ \+ other techniques.
106
+ - Interpolation and Jitter prediction makes entities way smoother.
107
+ - Automatic and Reliable Spawn and Despawn of entities.
108
+ - Many other features and optimizations to do with rapier 3d physics,
109
+ wgpu renderer and quinn (quic) protocol.
110
+
111
+ [ Join the Discord server] [ cybergate-dis ] to participate in tests.
112
+
113
+ _ Discussions: [ /r/rust_gamedev] ( https://reddit.com/r/rust_gamedev/comments/vy7vms/multiplayer_stress_test_1_million_balls ) _
114
+
115
+ [ cybergate-yt ] : https://youtube.com/channel/UClrsOso3Xk2vBWqcsHC3Z4Q
116
+ [ cybergate-dis ] : https://discord.gg/R7DkHqw7zJ
117
+
71
118
## Engine Updates
72
119
73
120
## Learning Material Updates
74
121
75
122
## Tooling Updates
76
123
124
+ ### [ Blackjack]
125
+
126
+ ![ Blackjack: A procedural bridge being edited in real-time] ( blackjack.gif )
127
+
128
+ [ Blackjack] by @setzer22 is a new procedural modeling application made in Rust,
129
+ using rend3, wgpu, and egui. It follows the steps of applications like
130
+ Houdini, or Blender's geometry nodes project and provides a node-based
131
+ environment to compose procedural recipes to create 3d models.
132
+
133
+ The focus for the past few months has been into evolving Blackjack from a proof
134
+ of concept into a usable application. It's current status is not yet production
135
+ ready, but it can now be used to build complex procedural models editable inside
136
+ a game engine thanks to its new engine integration system.
137
+
138
+ Some of the new features include:
139
+
140
+ - A better data model for meshes, based on groups and channels.
141
+ - Game engine integration with Godot, more engines coming soon.
142
+ - Introduce Lua as an extension language.
143
+ - Add * many* new nodes: Extrude along curve, Copy to points...
144
+ - Add experimental support for L-Systems.
145
+ - Reworked Look & Feel
146
+
147
+ A talk about Blackjack's vision and a tour of its features was shared at the
148
+ start of July in the [ Rust gamedev meetup] [ blackjack-talk-yt ] . Interested
149
+ developers are encouraged to [ check the project out on GitHub] [ Blackjack ] and
150
+ post on the Discussion boards!
151
+
152
+ [ Blackjack ] : https://github.com/setzer22/blackjack
153
+ [ blackjack-talk-yt ] : https://onrendering.com/data/papers/catmark/HalfedgeCatmullClark.pdf
154
+
77
155
## Library Updates
78
156
157
+ ### [ hecs]
158
+
159
+ [ hecs] is a fast, lightweight, and unopinionated archetypal ECS library.
160
+
161
+ [ Version 0.8] [ hecs-changelog ] marks a breaking change to most methods that
162
+ previously took a generic type parameter ` T: Component ` , replacing them with
163
+ methods taking type parameters which must be * references to* component types
164
+ instead. This resolves a long-standing footgun where users accustomed to writing
165
+ ` &T ` in queries might write ` world.get::<&T> ` , interpreted by rustc as
166
+ referencing the valid component type ` &'static T ` , resulting in code that
167
+ compiles but fails to access the intended component.
168
+
169
+ [ hecs ] : https://github.com/Ralith/hecs
170
+ [ hecs-changelog ] : https://github.com/Ralith/hecs/blob/master/CHANGELOG.md#080
171
+
172
+ ### [ bevy_mod_wanderlust]
173
+
174
+ [ bevy_mod_wanderlust]
175
+ ([ GitHub] ( https://github.com/PROMETHIA-27/bevy_mod_wanderlust ) ) by
176
+ [ @PROMETHIA-27 ] is a character controller plugin for Bevy engine.
177
+
178
+ Inspired by [ this excellent video] ( https://www.youtube.com/watch?v=qdskE8PJy6Q ) ,
179
+ it is implemented on top of [ Rapier physics] ( https://rapier.rs/ ) and highly
180
+ customizable. Wanderlust includes a variety of settings to target many different
181
+ character controller types, including 2D/3D platformers, spacecraft, and
182
+ first/third person games.
183
+
184
+ [ bevy_mod_wanderlust ] : https://crates.io/crates/bevy_mod_wanderlust
185
+
79
186
### [ Lyon]
80
187
81
188
![ Variable width stroke in action] ( lyon.png )
0 commit comments