@@ -35,8 +35,8 @@ Feel free to send PRs about your own projects!
35
35
- [ Learning Material Updates] ( #learning-material-updates )
36
36
- [ Tooling Updates] ( #tooling-updates )
37
37
- [ Library Updates] ( #library-updates )
38
- - [ Other News] ( #other-news )
39
38
- [ Popular Workgroup Issues in Github] ( #popular-workgroup-issues-in-github )
39
+ - [ Other News] ( #other-news )
40
40
- [ Discussions] ( #discussions )
41
41
- [ Requests for Contribution] ( #requests-for-contribution )
42
42
- [ Jobs] ( #jobs )
@@ -68,6 +68,145 @@ If needed, a section can be split into subsections with a "------" delimiter.
68
68
69
69
## Game Updates
70
70
71
+ ### [ 8bit Duels]
72
+
73
+ ![ movement_animations] ( 8bit-duels-game.png )
74
+ _ An 8bit Duels match_
75
+
76
+ [ @ThousandthStar ] is creating a simple multiplayer turn-based strategy using the
77
+ [ Bevy Engine] . The [ latest devlog] brings features like ownership indicators,
78
+ movement and attack animations, and a chat system.
79
+
80
+ The game is under development. The [ 8-bit Discord] is the best place to talk
81
+ about the game.
82
+
83
+ 8bit Duels will be getting UI updates next, and the first version should release
84
+ soon after that. Other troops are coming as well.
85
+
86
+ _ Discussions: [ 8-bit Discord] _
87
+
88
+ [ 8bit Duels ] : https://thousandthstar.github.io/
89
+ [ @ThousandthStar ] : https://github.com/ThousandthStar
90
+ [ Bevy Engine ] : https://bevyengine.org/
91
+ [ latest devlog ] : https://thousandthstar.github.io/posts/8bd/8bd-part6/
92
+ [ 8-bit Discord ] : https://discord.com/invite/NbBcF4bGU5
93
+
94
+ ### [ CyberGate] [ cybergate-yt ]
95
+
96
+ ![ Hit and blackhole particle effects] ( cybergate.gif )
97
+ _ Particles emit from bullet hits and blackholes_
98
+
99
+ CyberGate ([ YouTube] [ cybergate-yt ] , [ Discord] [ cybergate-dis ] ),
100
+ an ambitious multiplayer project in development by CyberSoul,
101
+ aims to invite players into a constantly evolving universe.
102
+ Harnessing the power of procedural generation and artificial intelligence,
103
+ this work-in-progress aspires to provide an engaging experience
104
+ that emphasizes exploration and discovery across its diverse worlds.
105
+
106
+ The latest updates to CyberGate include:
107
+
108
+ - Skybox Animation and Transitions
109
+ - Dynamic Point Lights
110
+ - Particle System
111
+ - Post-processing Screen Shake for Hit Feedback
112
+ - Hit Particle Effects
113
+ - Blackhole
114
+
115
+ They released the 7th major update in March,
116
+ They are now working on universe generation alghoritms for the 8th.
117
+ Participate [ by joining the Discord server] [ cybergate-dis ] .
118
+
119
+ [ cybergate-yt ] : https://youtube.com/channel/UClrsOso3Xk2vBWqcsHC3Z4Q
120
+ [ cybergate-dis ] : https://discord.gg/R7DkHqw7zJ
121
+
122
+ ### [ ZOMBIE DEMO GAME]
123
+
124
+ ![ A person in a red suit shooting zombies with a pistol] ( zombie-demo-game.png )
125
+
126
+ [ ZOMBIE DEMO GAME] is a small third person zombie shooter by [ @LPGhatguy ] and
127
+ [ @evaera ] that released this month.
128
+
129
+ It features an astonishing 10 minutes of gameplay, a built-in level editor, and
130
+ zombies! It was produced in order to practice shipping a game and uses a custom
131
+ engine using wgpu, hecs, and lots of other great crates from the ecosystem.
132
+
133
+ ZOMBIE DEMO GAME is available for Windows and Linux
134
+ [ on itch.io] [ ZOMBIE DEMO GAME ] today.
135
+
136
+ _ Discussion: [ Twitter] ( https://twitter.com/LPGhatguy/status/1632596982928687104 ) _
137
+
138
+ [ @LPGhatguy ] : https://twitter.com/LPGhatguy
139
+ [ @evaera ] : https://twitter.com/evaeraevaera
140
+ [ ZOMBIE DEMO GAME ] : https://lpghatguy.itch.io/zombie-demo-game
141
+
142
+ ### Shifting Chamber
143
+
144
+ ![ Shifting Chamber Screen shot] ( shifting_chamber.png )
145
+
146
+ Shifting Chamber ([ itch.io] [ shifting-chamber-itch ] ,
147
+ [ Github] [ shifting-chamber-github ] ) is a simple tactics game where
148
+ player, instead of moving the character, manipulates the map around it.
149
+ The goal is to defeat the enemies by forcing them into hazardous
150
+ positions - since they cannot be attacked directly.
151
+
152
+ The game is in an early prototype / proof of concept phase.
153
+ It is written with a help of the Bevy engine.
154
+ There is currently only a WASM build (freely available on the itch.io)
155
+
156
+ [ shifting-chamber-itch ] : https://maciekglowka.itch.io/shifting-chamber
157
+ [ shifting-chamber-github ] : https://github.com/maciekglowka/shifting_chamber
158
+
159
+ ### [ Jumpy]
160
+
161
+ ![ Live Map Editing Example] ( jumpy.gif )
162
+ _ Live Map Editing!_
163
+
164
+ [ Jumpy] ([ GitHub] [ Jumpy ] , [ Discord] [ jumpy_discord ] , [ Twitter] [ jumpy_twitter ] ) by
165
+ [ Spicy Lobster] [ spicy_lobster ] is a pixel-style, tactical 2D shooter with a fishy
166
+ theme.
167
+
168
+ In the last month, the first [ MVP release] [ jumpy_v0.6.0 ] of Jumpy was made. The
169
+ release adds some major new features including a live map editor, critters,
170
+ extended player animations, and basic AI. Soon afterward [ an update] [ jumpy_v0.6.1 ]
171
+ was made with revised maps and some important bug fixes.
172
+
173
+ Along with the release is a new blog post, sharing thoughts on some of the lessons
174
+ learned during development:
175
+ [ Jumpy v0.6 Retrospective] [ jumpy_retrospective ] .
176
+
177
+ The efforts are now focused on getting network play implemented, with a two
178
+ player LAN proof-of-concept already working. The hope is to get the remaining
179
+ network issues fixed and the online matchmaker connected before making another
180
+ release as soon as it's ready.
181
+
182
+ [ Jumpy ] : https://github.com/fishfolks/jumpy
183
+ [ jumpy_v0.6.0 ] : https://github.com/fishfolk/jumpy/releases/tag/v0.6.0
184
+ [ jumpy_v0.6.1 ] : https://github.com/fishfolk/jumpy/releases/tag/v0.6.1
185
+ [ jumpy_twitter ] : https://twitter.com/spicylobsterfam
186
+ [ jumpy_discord ] : https://discord.gg/4smxjcheE5
187
+ [ spicy_lobster ] : https://spicylobster.itch.io
188
+ [ jumpy_retrospective ] : https://fishfolk.org/blog/jumpy-0-6-retrospective/
189
+
190
+ ### [ Tunnet] [ tunnet-itch ]
191
+
192
+ ![ Tunnet screenshot: a weird looking computer network] ( tunnet.jpg )
193
+ _ Example of a puzzle in Tunnet_
194
+
195
+ Tunnet ([ Steam] [ tunnet-steam ] , [ Itch.io] [ tunnet-itch ] ) by
196
+ [ @puzzled \_ squid] [ puzzled_squid ] is a short puzzle/exploration game where you
197
+ build a computer network in an underground complex.
198
+
199
+ This project is still WIP and a first [ devlog] [ tunnet-post ] has been
200
+ posted this month. The post describes the main gameplay loop as well as some
201
+ of the new environments recently added.
202
+
203
+ The game is developed using Bevy and is expected to be released late 2023.
204
+
205
+ [ tunnet-itch ] : https://puzzled-squid.itch.io/tunnet
206
+ [ tunnet-steam ] : https://store.steampowered.com/app/2286390/Tunnet
207
+ [ tunnet-post ] : https://puzzled-squid.itch.io/tunnet/devlog/507508/devlog-0-gameplay-loop-and-subnetworks
208
+ [ puzzled_squid ] : https://puzzledsquid.xyz
209
+
71
210
### [ Boat Journey] [ boat-journey-itch ]
72
211
73
212
[ ![ Screenshot from the game Boat Journey showing ASCII art of a boat and some islands] ( boat-journey-screenshot.png )
@@ -96,12 +235,170 @@ Boat Journey was made for the [7 Day Roguelike 2023][7drl-itch] game jam. The de
96
235
97
236
## Engine Updates
98
237
238
+ ### hotline
239
+
240
+ ![ hotline_client] ( hotline_rdg44.jpg )
241
+ _ hotline live coding client_
242
+
243
+ hotline ([ GitHub] , [ Blog] , [ Twitter] ) is a modern, high-performance, hot-reload
244
+ graphics engine written in Rust. It aims to provide low-level access to modern
245
+ graphics API features, while at the same time providing high-level ergonomic
246
+ optimizations.
247
+
248
+ It uses Bevy's ECS so the focus can remain primarily on the graphics
249
+ architecture. Direct3D12 is the only supported platform, but the graphics API is
250
+ abstracted to account for future ports to Vulkan and Metal. The project is in
251
+ its early stages but already has a decent amount of features showcasing
252
+ different render strategies, async command buffer generation, plugin based
253
+ architecture, and hot-reload support for Rust code, HLSL shaders, and render
254
+ configs. It supports ImGui with docking and multiple windows, video decoding,
255
+ complex image loading (cubemaps, arrays, volumes), and more.
256
+
257
+ [ @polymonster ] has been live streaming development on [ Twitch] with archives
258
+ available on [ YouTube] . Recently they have been designing a bindless material
259
+ system.
260
+
261
+ [ @polymonster ] : https://github.com/polymonster
262
+ [ GitHub ] : https://github.com/polymonster/hotline
263
+ [ Blog ] : https://www.polymonster.co.uk
264
+ [ Twitter ] : https://twitter.com/polymonster
265
+ [ Twitch ] : https://www.twitch.tv/polymonstr
266
+ [ YouTube ] : https://www.youtube.com/channel/UCQRmui5w4Urz-h4P9CL7rmA
267
+
99
268
## Learning Material Updates
100
269
270
+ ### Developing an editor with egui
271
+
272
+ ![ Gif displaying the functionality of the editor] ( TheGrimsey-Editor.gif )
273
+
274
+ [ @TheGrimsey ] published a three-part series of articles about developing a Spell
275
+ Editor with egui.
276
+
277
+ - [ "Databases & Editors (1/3)"] covers displaying egui windows & tables of
278
+ entries.
279
+ - [ "Editors (2/3): Editing entries"] elaborates on handling editing of entries &
280
+ properties such as enums.
281
+ - Finally, [ "Editors (3/3): Selection dialog & new entries"] talks about
282
+ developing a selection dialog and creating new entries.
283
+
284
+ [ @TheGrimsey ] : https://mastodon.social/@TheGrimsey
285
+ [ "Databases & Editors (1/3)" ] : https://thegrimsey.net/2023/03/07/Bevy-Four-Editor.html
286
+ [ "Editors (2/3): Editing entries" ] : https://thegrimsey.net/2023/03/12/Bevy-Five-Editor-Two.html
287
+ [ "Editors (3/3): Selection dialog & new entries" ] : https://thegrimsey.net/2023/03/21/Bevy-Six-Editor-Three.html
288
+
289
+ ### [ Writing NES assembly programs in a Rust DSL] [ writing-nes-programs-in-rust-video ]
290
+
291
+ [ ![ Title slide from presentation about writing NES assembly programs in Rust] ( nes-programming-in-rust-cover.jpg )
292
+ _ Video: Talk about writing NES assembly programs in Rust_ ] [ writing-nes-programs-in-rust-video ]
293
+
294
+ This is a talk about writing a program for the Nintendo Entertainment System
295
+ that exposes all of its audio processor registers through an interface that lets
296
+ the user flip bits using the controller and hear the result in real time. The
297
+ program is written in Rust using an Embedded Domain-Specific Language. The talk
298
+ demonstrates the features of the language and how they can be used to help
299
+ express NES assembly programs in Rust.
300
+
301
+ Some features of the EDSL:
302
+
303
+ - defining and calling assembly functions by string labels
304
+ - using Rust as a powerful macro language (e.g. generate code inside a for-loop)
305
+ - using Rust's type system to catch invalid combinations of instruction and
306
+ addressing mode
307
+
308
+ The source code for the NES program described in the talk is
309
+ [ here] [ nes-audio-playground-github ] and there is a [ demo of the tool on
310
+ youtube] [ nes-audio-tool-demo-video ] . The PDF of the slides from the talk are
311
+ [ here] [ writing-nes-programs-in-rust-pdf ] .
312
+
313
+ [ writing-nes-programs-in-rust-video ] : https://www.youtube.com/watch?v=hs-MrEoOX5Y
314
+ [ nes-audio-playground-github ] : https://github.com/gridbugs/nes-audio-playground
315
+ [ writing-nes-programs-in-rust-pdf ] : https://raw.githubusercontent.com/gridbugs/nes-programming-in-rust-sydney-rust-meetup-2023-03-01/main/slides.pdf
316
+ [ nes-audio-tool-demo-video ] : https://www.youtube.com/watch?v=QHoISiWdPXo
317
+
101
318
## Tooling Updates
102
319
320
+ ### Tiger
321
+
322
+ ![ Tiger screenshot] ( tiger.png )
323
+
324
+ Tiger ([ Github] [ tiger-github ] ,
325
+ [ itch.io] [ tiger-itch.io ] by
326
+ [ @agersant ] is a visual tool to
327
+ author game spritesheets and their metadata.
328
+
329
+ Version 1.0 launched this month, which means Tiger is ready for production.
330
+ It currently has the following features:
331
+
332
+ - Easy-to-use timeline to author animation.
333
+ - Supports perspectives for any 2D game (top-down, sidescroller, isometric,
334
+ etc.).
335
+ - Automatically hot-reloads source images when they are changed.
336
+ - Packs animation frames into texture atlases.
337
+ - Can add and tag hitboxes.
338
+ - Flexible template system exports metadata in any text-based format.
339
+ - Free and open-source with a permissive license.
340
+
341
+ [ tiger-github ] : https://github.com/agersant/tiger
342
+ [ tiger-itch.io ] : https://agersant.itch.io/tiger
343
+ [ @agersant ] : https://mastodon.gamedev.place/@agersant
344
+
103
345
## Library Updates
104
346
347
+ ### [ ` bevy_text_mode ` ]
348
+
349
+ ![ Screenshot of 1-bit sprites drawn using bevy_text_mode.] ( bevy_text_mode.png )
350
+
351
+ [ ` bevy_text_mode ` ] ([ GitHub] [ bevy_text_mode-src ] ) by [ yopox] is a Bevy plugin which
352
+ makes it possible to set the background and the foreground color of a texture atlas
353
+ sprite (built-in Bevy sprites only have a tint property).
354
+ This plugin is convenient when using 1-bit tilesets such as [ MRMOTEXT] .
355
+
356
+ The 0.1 release adds a ` TextModeTextureAtlasSprite ` component with
357
+ configurable background, foreground, x/y flip and opacity.
358
+
359
+ _ Discussion: [ Mastodon] ( https://mstdn.social/@yopox/110010264001721310 ) _
360
+
361
+ [ `bevy_text_mode` ] : https://crates.io/crates/bevy_text_mode
362
+ [ bevy_text_mode-src ] : https://github.com/yopox/bevy_text_mode
363
+ [ yopox ] : https://github.com/yopox
364
+ [ MRMOTEXT ] : https://mrmotarius.itch.io/mrmotext
365
+
366
+ ### Matchbox
367
+
368
+ ![ matchbox logo] ( matchbox.png )
369
+
370
+ [ Matchbox] is a library for easily establishing unreliable, unordered,
371
+ peer-to-peer WebRTC data connections using rust WASM (and native). This enables
372
+ cross-platform low-latency multiplayer games.
373
+
374
+ Previously, the socket opened a single udp-like data channel. In version 0.6,
375
+ however, support for adding extra channels with configurable ordering and
376
+ package retransmits was added. This enables direct p2p tcp-like connections as
377
+ well.
378
+
379
+ Two new crates were added in this release. ` matchbox_signaling ` , lets you
380
+ set up a custom signaling server, also supporting client-server topologies,
381
+ enabling scenarios where one player acts as the host for the other players.
382
+
383
+ ` bevy_matchbox ` provides ergonomic usage with Bevy. Severely cutting down on the
384
+ boiler-plate needed.
385
+
386
+ The tutorial series on [ how to make a p2p web game with Bevy, GGRS and
387
+ Matchbox] [ extreme_bevy ] was also updated to the latest versions of all three
388
+ libraries.
389
+
390
+ Read more about all the new features in the [ 0.6 release post] [ matchbox-0.6 ] .
391
+
392
+ _ Discussions:
393
+ [ /r/rust] ( https://www.reddit.com/r/rust/comments/127ssuv/announcing_matchbox_06_painless_peertopeer_webrtc/ ) ,
394
+ [ /r/rust_gamedev] ( https://www.reddit.com/r/rust_gamedev/comments/127suhc/matchbox_06_released_painless_peertopeer_webrtc/ ) ,
395
+ [ /r/bevy] ( https://www.reddit.com/r/bevy/comments/127sn3o/announcing_matchbox_06_and_a_new_bevy_matchbox/ ) ,
396
+ [ Mastodon] ( https://mastodon.social/@johanhelsing/110119122081173196 ) _
397
+
398
+ [ extreme_bevy ] : https://johanhelsing.studio/posts/extreme-bevy
399
+ [ Matchbox ] : https://github.com/johanhelsing/matchbox
400
+ [ matchbox-0.6 ] : https://johanhelsing.studio/posts/matchbox-0-6
401
+
105
402
## Popular Workgroup Issues in Github
106
403
107
404
<!-- Up to 10 links to interesting issues -->
0 commit comments