8000 Merge branch 'source' into source · terhechte/rust-gamedev.github.io@dc8fdd4 · GitHub
[go: up one dir, main page]

Skip to content

Commit dc8fdd4

Browse files
authored
Merge branch 'source' into source
2 parents ef58676 + 59c16e7 commit dc8fdd4

File tree

2 files changed

+73
-2
lines changed

2 files changed

+73
-2
lines changed

content/news/040/index.md

Lines changed: 73 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,49 @@ If needed, a section can be split into subsections with a "------" delimiter.
6969

7070
## Game Updates
7171

72+
### [Jumpy]
73+
74+
![Swords, Crates, Grenades, & Mines](./jumpy.png)
75+
_Jumpy Items: Swords, Crates, Grenades, & Mines_
76+
77+
[Jumpy] ([GitHub][Jumpy], [Discord][jumpy_discord], [Twitter][jumpy_twitter]) by
78+
[Spicy Lobster][spicy_lobster] is a pixel-style, tactical 2D shooter with a fishy
79+
theme.
80+
81+
In the last month, Jumpy migrated from a client-server networking model to a P2P
82+
Rollback model using [GGRS]. This was to address shortcommings with the server
83+
model that had been implemented, and to take advantage of the excellent user
84+
user experience that rollback networking can offer.
85+
86+
The rollback model did come with the new requirement to run up to 8 simulation
87+
frames per 16ms screen refresh, though, and unfortunatley the JavaScript
88+
bindings used to implement the game items were not performant enough to keep up.
89+
For now, scripting has been temporarily disabled.
90+
91+
This sparked a quick migration of the TypeScript files to Rust, and also
92+
[discussion][jumpy_wasm_discussion] about future possibilities for using WASM to
93+
get beter determinism and rollback performance, along with lower-overhead WASM
94+
scripts.
95+
96+
With promising ideas for future improvements, the rest of the month was spent
97+
focusing on getting the initial items completed, with Grenades, Swords, Crates,
98+
and Mines all landing recently.
99+
100+
With just one more item planned and minimal clean up work, an MVP release is
101+
just around the corner!
102+
103+
_Discussions: [GitHub][jumpy_discussions], [Twitter][jumpy_twitter]_
104+
105+
[Jumpy]: https://github.com/fishfolks/jumpy
106+
[jumpy_rewrite]: https://github.com/fishfolks/jumpy/pull/466
107+
[Bevy]: https://bevyengine.org
108+
[GGRS]: https://github.com/gschup/ggrs
109+
[jumpy_discussions]: https://github.com/fishfolks/jumpy/discussions
110+
[jumpy_twitter]: https://twitter.com/spicylobsterfam
111+
[jumpy_discord]: https://discord.gg/4smxjcheE5
112+
[spicy_lobster]: https://spicylobster.itch.io/
113+
[jumpy_wasm_discussion]: https://github.com/fishfolk/jumpy/discussions/489
114+
72115
### Rusty Vangers
73116

74117
![Vange-rs rendered with a voxel tree](vangers-3rd-person.jpg)
@@ -251,11 +294,11 @@ You can check this [Reddit post][boytacean-red-ann] for more information.
251294

252295
## Library Updates
253296

254-
### [bevy_atmosphere] v0.5
297+
### [bevy_atmosphere v0.5][bevy_atmosphere]
255298

256299
![bevy_atmosphere collage: colored skies](bevy_atmosphere.png)
257300

258-
bevy_atmosphere ([crates.io](https://crates.io/crates/bevy_atmosphere),
301+
bevy_atmosphere ([crates.io][bevy_atmosphere],
259302
[docs.rs](https://docs.rs/bevy_atmosphere/latest/bevy_atmosphere/),
260303
[GitHub](https://github.com/JonahPlusPlus/bevy_atmosphere))
261304
is now compatible with Bevy 0.9.
@@ -283,6 +326,8 @@ _Discussions:
283326
[/r/bevy](https://reddit.com/r/bevy/comments/za93oo/bevy_atmosphere_05_is_now_released),
284327
[/r/rust](https://reddit.com/r/rust/comments/za93zb/bevy_atmosphere_05_is_now_released)_
285328

329+
[bevy_atmosphere]: https://crates.io/crates/bevy_atmosphere
330+
286331
### [Bevy Sequential Actions]
287332

288333
![Bevy sequential actions simple demo](sequential_actions.gif)
@@ -335,6 +380,32 @@ commands
335380
[seq-actions-docs]: https://docs.rs/bevy-sequential-actions
336381
[bevy]: https://bevyengine.org
337382

383+
### [Sparsey] v0.10
384+
385+
[Sparsey] by [@LechintanTudor] is an Entity Component System focused on
386+
flexibility, conciseness and providing features exclusive to its sparse
387+
set-based implementation.
388+
389+
The latest release takes advantage of the newly added Generic Associated Types
390+
to provide a uniform interface for running systems, functions and closures that
391+
borrow data from World and Resources, via the "run", "run_locally" and
392+
"run_exclusive" functions.
393+
394+
Example:
395+
396+
```rust
397+
let heaviest = sparsey::run(&world, &resources, |weights: Comp<Weight>| {
398+
(&weights)
399+
.iter()
400+
.with_entity()
401+
.max_by_key(|(_entity, &weight)| weight)
402+
.map(|(entity, _weight)| entity)
403+
});
404+
```
405+
406+
[Sparsey]: https://github.com/LechintanTudor/sparsey
407+
[@LechintanTudor]: https://github.com/LechintanTudor
408+
338409
### [Bevy Quickmenu][bevy_quickmenu_crates]
339410

340411
![Bevy Quickmenu simple menu demo](bevy_quickmenu.gif)

content/news/040/jumpy.png

33.2 KB
Loading

0 commit comments

Comments
 (0)
0