Skip to content

Commit 537ffa3

Browse files
authored
Merge branch 'source' into boat-journey
2 parents 1981319 + 83bd68f commit 537ffa3

13 files changed

+298
-1
lines changed

content/news/044/8bit-duels-game.png

69.8 KB
Loading
1.51 MB
Loading

content/news/044/bevy_text_mode.png

2.12 KB
Loading

content/news/044/cybergate.gif

2.33 MB
Loading

content/news/044/hotline_rdg44.jpg

152 KB
Loading

content/news/044/index.md

+298-1
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ Feel free to send PRs about your own projects!
3535
- [Learning Material Updates](#learning-material-updates)
3636
- [Tooling Updates](#tooling-updates)
3737
- [Library Updates](#library-updates)
38-
- [Other News](#other-news)
3938
- [Popular Workgroup Issues in Github](#popular-workgroup-issues-in-github)
39+
- [Other News](#other-news)
4040
- [Discussions](#discussions)
4141
- [Requests for Contribution](#requests-for-contribution)
4242
- [Jobs](#jobs)
@@ -68,6 +68,145 @@ If needed, a section can be split into subsections with a "------" delimiter.
6868

6969
## Game Updates
7070

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+
71210
### [Boat Journey][boat-journey-itch]
72211

73212
[![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
96235

97236
## Engine Updates
98237

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+
99268
## Learning Material Updates
100269

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+
101318
## Tooling Updates
102319

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+
103345
## Library Updates
104346

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+
105402
## Popular Workgroup Issues in Github
106403

107404
<!-- Up to 10 links to interesting issues -->

content/news/044/jumpy.gif

460 KB
Loading

content/news/044/matchbox.png

36.8 KB
Loading
Loading

content/news/044/shifting_chamber.png

19.9 KB
Loading

content/news/044/tiger.png

126 KB
Loading

content/news/044/tunnet.jpg

26 KB
Loading

content/news/044/zombie-demo-game.png

193 KB
Loading

0 commit comments

Comments
 (0)