8000 N23: Dango and CrystalOrb: Add first draft · ErnWong/rust-gamedev.github.io@f4aa615 · GitHub
[go: up one dir, main page]

Skip to content

Commit f4aa615

Browse files
committed
N23: Dango and CrystalOrb: Add first draft
1 parent 87de391 commit f4aa615

File tree

3 files changed

+51
-0
lines changed

3 files changed

+51
-0
lines changed

content/news/023/crystalorb.gif

1.65 MB
Loading

content/news/023/dango.gif

1.67 MB
Loading

content/news/023/index.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,28 @@ making of [video](https://youtube.com/watch?v=3TOEZ7krhvI) on YouTube.
8585

8686
[opencombat]: https://opencombat.bux.fr
8787

88+
### [Dango]
89+
90+
[![Dango bouncing and jumping around](dango.gif)][Dango]
91+
_Cute rice dumplings_
92+
93+
[Dango] ([Github](dango-github)) is a little multiplayer blob physics sandbox
94+
made by [@ErnWong] as a tribute to the [Dango Daikazoku][dango-daikazoku] from
95+
[Clannad]. It was made using various libraries from the Rust community,
96+
including the [Bevy] game engine, the [NPhysics] physics engine, and the
97+
[CrystalOrb] networking library. To avoid the costs of running a server, Dango
98+
currently runs the server in the browser and generates a unique URL that lets
99+
other players to join using WebRTC.
100+
101+
[Dango]: http://ernestwong.nz/dango-tribute/server/
102+
[dango-github]: https://github.com/ErnWong/dango-tribute
103+
[@ErnWong]: https://github.com/ErnWong
104+
[dango-daikazoku]: https://www.youtube.com/watch?v=XXDxZ0YGWG8
105+
[Clannad]: https://en.wikipedia.org/wiki/List_of_Clannad_episodes
106+
[Bevy]: https://bevyengine.org/
107+
[NPhysics]: https://nphysics.org/
108+
[CrystalOrb]: https://github.com/ErnWong/crystalorb
109+
88110
## Engine Updates
89111

90112
## Learning Material Updates
@@ -110,6 +132,35 @@ projects. Pure Rust Vulkan allocators with support for erupt have been released.
110132
[erupt]: https://gitlab.com/Friz64/erupt
111133
[@Friz64]: https://blog.friz64.de/about
112134

135+
### [CrystalOrb]
136+
137+
[![CrystalOrb demo animation](crystalorb.gif)][crystalorb-demo]
138+
_Interactive [demo][crystalorb-demo] that uses the [Rapier] physics engine._
139+
140+
[CrystalOrb] by [@ErnWong] is a new networking library that aims to help
141+
fast-paced client-server games synchronize their game state across multiple
142+
clients. Just like [backroll-rs] and [GGRS], each CrystalOrb client predicts
143+
the next game state without waiting for other remote players' inputs to arrive.
144+
Unlike backroll-rs's and GGRS's peer-to-peer approach, CrystalOrb relies on
145+
having a server to send snapshots of the entire game state to each client, and
146+
each client unconditionally rolls-back to that snapshot. Although this may lead
147+
to higher network and memory usage, it means that CrystalOrb clients can join
148+
and leave at any time, and games that cannot guarantee full-determinism can
149+
still work with CrystalOrb.
150+
151+
This library was written as a learning exercise for the author, and as such,
152+
the author warns that this library may not be suitable for serious games.
153+
154+
There is an [interactive demo][crystalorb-demo] of CrystalOrb (shown in the
155+
above GIF) that features the [Rapier] physics engine.
156+
157+
[CrystalOrb]: https://github.com/ErnWong/crystalorb
158+
[@ErnWong]: https://github.com/ErnWong
159+
[crystalorb-demo]: https://ernestwong.nz/crystalorb/demo
160+
[backroll-rs]: https://github.com/HouraiTeahouse/backroll-rs
161+
[GGRS]: https://github.com/gschup/ggrs
162+
[Rapier]: https://rapier.rs/
163+
113164
## Popular Workgroup Issues in Github
114165

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

0 commit comments

Comments
 (0)
0