@@ -64,6 +64,31 @@ If needed, a section can be split into subsections with a "------" delimiter.
64
64
65
65
## Game Updates
66
66
67
+ ### [ Egregoria]
68
+
69
+ ![ Egregoria in 3D] ( egregoria.jpg )
70
+
71
+ [ Egregoria] ([ GitHub] [ Egregoria ] , [ Discord] [ egregoria-discord ] )
72
+ by [ @Uriopass ]
73
+ is a simulation oriented city builder that tries
74
+ to replicate modern society as well as possible.
75
+
76
+ It recently upgraded from a 2D top-down view to a
77
+ 3D third-person camera as seen in the screenshot above.
78
+
79
+ Elevated roads and bridges are now possible, allowing to build
80
+ [ complex highway interchanges] [ highway-screenshot ] .
81
+
82
+ Some technical details around the renderer with more screenshots,
83
+ along with an architectural overview of the project can be read in the
84
+ [ 9th devlog] [ egregoria-blog-post ] .
85
+
86
+ [ Egregoria ] : https://github.com/Uriopass/Egregoria
87
+ [ @Uriopass ] : https://github.com/Uriopass
88
+ [ egregoria-blog-post ] : https://douady.paris/blog/egregoria_9.html
89
+ [ egregoria-discord ] : https://discord.gg/CAaZhUJ
90
+ [ highway-screenshot ] : http://douady.paris/blog/img/blog_9/interchange.jpg
91
+
67
92
### [ Open Combat] [ opencombat ]
68
93
69
94
![ Open Combat logo] ( open_combat.jpg )
@@ -106,10 +131,99 @@ docker run --rm -it deepu105/battleship:main
106
131
107
132
The next iteration would be to support a WebAssembly version of the same.
108
133
134
+ ### [ Blightmud] [ blightmud ]
135
+
136
+ ![ Blightmud logo] ( blightmud.png )
137
+
138
+ [ Blightmud] [ blightmud ] ([ Discord] ( https://discord.gg/qnxgUC5 ) ) is a mud client
139
+ for the terminal inspired by [ tintin++] [ tintin ] and [ tinyfugue] [ tinyfugue ]
140
+ allowing users to connect and get immersed in the worlds offered by text based
141
+ online multi user dungeons known as muds.
142
+
143
+ The project was birthed in April of 2020 and has come a long way since. It now
144
+ offers granular scripting access using [ lua] [ lua ] , plugin handling, built in
145
+ text-to-speech (via [ Speech dispatcher] [ speechd ] ), split view scrolling, modern
146
+ telnet protocols and TLS connections to name a few.
147
+
148
+ [ blightmud ] : https://github.com/Blightmud/Blightmud
149
+ [ tintin ] : https://tintin.mudhalla.net/
150
+ [ tinyfugue ] : http://tinyfugue.sourceforge.net/
151
+ [ lua ] : https://www.lua.org/
152
+ [ speechd ] : https://freebsoft.org/speechd
153
+
154
+ ### [ The Hat Chooses the Wizard] [ hatchooseswizard ]
155
+
156
+ ![ Level 1-4 of the game "The Hat Chooses the Wizard" running on a Game Boy
157
+ Advance] ( hatchooseswizard.jpg )
158
+ _ Runs on real hardware!_
159
+
160
+ The Hat Chooses the Wizard is a 2D platformer for the Game Boy Advance.
161
+
162
+ It was made for this year's Game Maker's Toolkit (GMTK) game jam with the theme
163
+ joined together and came in the top 25% of over 5800 entries. The game plays
164
+ over 12 levels with the core mechanic being to throw your hat and then
165
+ accelerate towards it. You can play it on a web based emulator embedded on the
166
+ [ itch] [ hatchooseswizard ] page.
167
+
168
+ The game is written in pure Rust and uses [ agb] [ agblibrary ] to
169
+ interface with the hardware. The library is designed to allow you to write games
170
+ without needing a detailed understanding of the hardware while still giving full
171
+ access to all of its capabilities. It is under active development with
172
+ plenty more features on the way.
173
+
174
+ You can find the source code for the game [ here] [ hatchooseswizardsource ] and all
175
+ feedback is welcome.
176
+
177
+ [ hatchooseswizard ] : https://lostimmortal.itch.io/the-hat-chooses-the-wizard
178
+ [ hatchooseswizardsource ] : https://github.com/corwinkuiper/joinedtogether
179
+ [ agblibrary ] : https://github.com/corwinkuiper/agb
180
+
181
+ ### [ Themengi]
182
+
183
+ ![ User highlighting objects in the game world and parsing the phrase
184
+ "dang puru rupuu kythengi" into the action "open", object "door", and mods
185
+ "red" and "left".] ( themengi.gif )
186
+ _ Demonstration of natural language parser with temporary words and grammar._
187
+
188
+ [ Themengi] ([ Discord] [ themengi-discord ] , [ Twitter] [ themengi-twitter ] )
189
+ is a puzzle adventure game where you learn an alien language,
190
+ with completely unknown words and grammar, to navigate the world
191
+ and find your way home.
192
+
193
+ This month the [ first devlog] [ themengi-video ] for
194
+ Themengi was published, discussing its natural language parser using
195
+ Head-Driven Phrase Structure Grammar, the choice to use Bevy, a texture
196
+ upscaling technique for faithful pixel art rendering, and implementing an
197
+ outline shader in the Bevy render pipeline.
198
+
199
+ [ Themengi ] : https://vgel.me/themengi
200
+ [ themengi-discord ] : https://discord.gg/GpparbnXPC
201
+ [ themengi-twitter ] : https://twitter.com/voooooogel
202
+ [ themengi-video ] : https://youtube.com/watch?v=gtIphiK7tMs
203
+
109
204
## Engine Updates
110
205
111
206
## Learning Material Updates
112
207
208
+ ### [ A Trig-less Line of Sight Algorithm for 2D Games] [ lineofsight ]
209
+
210
+ ![ 2D Sight Example] ( lineofsight.png )
211
+
212
+ [ @basstabs ] published a tutorial which explains how to write a
213
+ line of sight algorithm for 2D games in Rust without using trigonometry or
214
+ square roots. It includes vector diagrams and typeset math to explain the ideas
215
+ behind each stage of the algorithm, source code for each step, tests to verify
216
+ accuracy of the methods, and suggestions for further improvements.
217
+ Additionally, the
218
+ [ repository] ( https://github.com/basstabs/2d-line-of-sight ) contains benchmarks
219
+ and a sample application written in [ ggez] ( https://crates.io/crates/ggez ) .
220
+
221
+ _ Discussions: [ /r/rust_gamedev] (
222
+ https://www.reddit.com/r/rust\_gamedev/comments/nx79kq/ )_
223
+
224
+ [ lineofsight ] : https://basstabs.github.io/2d-line-of-sight/
225
+ [ @basstabs ] : https://github.com/basstabs
226
+
113
227
## Library & Tooling Updates
114
228
115
229
### [ erupt]
@@ -131,6 +245,36 @@ projects. Pure Rust Vulkan allocators with support for erupt have been released.
131
245
[ erupt ] : https://gitlab.com/Friz64/erupt
132
246
[ @Friz64 ] : https://blog.friz64.de/about
133
247
248
+ ### [ wgpu] family re-union
249
+
250
+ ![ wgpu family reunion] ( wgpu-family-reunion.svg )
251
+
252
+ [ wgpu] is a [ WebGPU] implementation in Rust. It is safe, efficient,
253
+ and portable: it can target both native and the Web.
254
+
255
+ [ Family reunion] is by far the biggest change in ` wgpu ` project since
256
+ the inception. First, the Rust API of [ wgpu-rs] was moved to the main
257
+ [ wgpu] repository. Second, the whole base was relicensed under MIT/Apache2.
258
+
259
+ [ gfx-hal] - the Vulkan Portability-like graphics API abstraction -
260
+ was detached from the project. Instead ` wgpu ` got its own in-house unsafe
261
+ abstraction called "wgpu-hal" developed within the [ wgpu] repository.
262
+
263
+ The team released [ wgpu-0.9] right before this transition, to give the new
264
+ graphics infrastructure more time to take shape. At the time of writing,
265
+ supported backends on the new HAL include Vulkan, Metal, and OpenGL ES3.
266
+
267
+ Finally, the testing infrastructure received a major upgrade. It started
268
+ rendering the examples on the available adapters and compraring the results
269
+ with reference images.
270
+ This includes automatic testing using software adapters on CI.
271
+
272
+ [ wgpu ] : https://github.com/gfx-rs/wgpu
273
+ [ wgpu-rs ] : https://github.com/gfx-rs/wgpu-rs
274
+ [ gfx-hal ] : https://github.com/gfx-rs/gfx
275
+ [ wgpu-0.9 ] : https://crates.io/crates/wgpu/0.9.0
276
+ [ Family reunion ] : https://github.com/gfx-rs/wgpu/milestone/9?closed=1
277
+
134
278
## Popular Workgroup Issues in Github
135
279
136
280
<!-- Up to 10 links to interesting issues -->
0 commit comments