Skip to content

Commit 5dbc467

Browse files
authored
Newsletter 12 (#229)
* Newsletter 12: Add bonus * Newsletter 12 * Newsletter 12: Fix ToC * Newsletter 12: Typos & more consistent lists * Newsletter 12: More typos * Newsletter 12: Mention Embark's internship
1 parent ae87a6f commit 5dbc467

File tree

3 files changed

+87
-37
lines changed

3 files changed

+87
-37
lines changed

content/posts/newsletter-012/index.md

Lines changed: 87 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
+++
22
title = "This Month in Rust GameDev #12 - July 2020"
3-
date = 2020-08-03
3+
date = 2020-08-06
44
transparent = true
5-
draft = true
5+
draft = false
66
+++
77

88
Welcome to the twelfth issue of the Rust GameDev Workgroup’s
@@ -29,8 +29,7 @@ Table of contents:
2929

3030
- [Game Updates](#game-updates)
3131
- [Learning Material Updates](#learning-material-updates)
32-
- [Library & Tooling Updates](#library--tooling-updates)
33-
- [Popular Workgroup Issues in Github](#popular-workgroup-issues-in-github)
32+
- [Library & Tooling Updates](#library-tooling-updates)
3433
- [Meeting Minutes](#meeting-minutes)
3534
- [Requests for Contribution](#requests-for-contribution)
3635
- [Jobs](#jobs)
@@ -180,13 +179,13 @@ Wonder can be [played in the browser on itch.io][Wonder].
180179

181180
[Vlad Zhukov] shared a video of a WIP multiplayer online strategy game
182181
where you fight with other players for territory.
183-
Currently there are two types of resources and 5 types of buildings.
182+
Currently, there are two types of resources and 5 types of buildings.
184183
To build on the tile you need to occupy it with your warriors first.
185184
The player who occupied all enemies' tiles win.
186185

187186
The game is written with [miniquad](https://github.com/not-fl3/miniquad)
188187
and a custom GUI library.
189-
Some parts of the game are promised to be open-sourced in future.
188+
Some parts of the game are promised to be open-sourced in the future.
190189
Read more about crates used in this project [here][hex-strat-crates].
191190

192191
_Discussions:
@@ -208,7 +207,7 @@ and drivers.
208207
This month [versions v0.2.2..v0.2.5][abstreet-releases] were released.
209208
Some of the updates:
210209

211-
- New random traffic scenario generator that makes people go between
210+
- A new random traffic scenario generator that makes people go between
212211
houses and workplaces.
213212
- New commute pattern explorer tool.
214213
- New character art to give cutscenes a bit more personality.
@@ -325,7 +324,7 @@ Notable changes:
325324

326325
- [basic projectiles](https://twitter.com/thisIsRukai/status/1287377878460456963),
327326
- [WIP grab implementation (with some humorous results)](https://www.youtube.com/watch?v=sSrBGpT-Ebs),
328-
- [New animations + attacks](https://www.youtube.com/watch?v=AaPkRSNhoSM)
327+
- [New animations + attacks](https://www.youtube.com/watch?v=AaPkRSNhoSM),
329328
- and [custom shaders](https://twitter.com/thisIsRukai/status/1279324105125163008).
330329

331330
[canon-collision]:https://canoncollision.com
@@ -348,14 +347,14 @@ generation system in the worldgen. Main features of the river generator are:
348347
tweak the process for either precision of the pattern or speed of generation;
349348
- Rivers are sorted upon intersections, their widths are adjusted, waterfalls
350349
are formed when necessary;
351-
- Inflow and outflow directions are recorded for each cell, which allows to
352-
follow the river upstream or downstream;
350+
- Inflow and outflow directions are recorded for each cell, which allows
351+
following the river upstream or downstream;
353352
- Simple yet effective erosion model implemented, which ensures no upwards flows
354353
are allowed;
355354
- Each stream has its unique ID, which will later be linked to the stream data;
356355
- Streams have 12 orders of magnitude from smallest brooks to major rivers;
357356
- All the options are available to user under "General", "Advanced" and
358-
"Very advanced" sections for any level of fine-tuning;
357+
"Very advanced" sections for any level of fine-tuning.
359358

360359
Further development will involve re-factoring of the code and making it ready
361360
to be published prior to implementing new features. For small dev reports follow
@@ -388,7 +387,7 @@ covers the work they did in June and July:
388387
- Moving from recording the raw texture generated for pixels
389388
to the post-processed texture from wgpu
390389
involved a major overhaul, and it proved too glitchy and slow.
391-
Hopefully it will be revived later, in the form of recording user inputs.
390+
Hopefully, it will be revived later, in the form of recording user inputs.
392391
- Many structural improvements, such as less glitchy particle
393392
placement with Bresenham's line algorithm,
394393
better error handling, and ensuring particles
@@ -475,7 +474,7 @@ The game is in an early stage of development,
475474

476475
[![fps-game-screenshot](fps-game-2.jpeg)][on-fps-game-2-youtube]
477476

478-
^ _Click to watch a [footage from the game's current state][on-fps-game-2-youtube]._
477+
^ _Click to watch [footage from the game's current state][on-fps-game-2-youtube]._
479478

480479
On this update, [@pingFromHeaven] talks about the lighting implementation that
481480
sets the tone for the game, how Rust is good at shortening the debugging
@@ -525,7 +524,7 @@ to mid-August. A loot table system was added to item drops. Lots of work has
525524
been done on animations and quadrupeds. Networking has switched to a new
526525
system. Significant improvements have been made to pathfinding system to improve
527526
fast quadruped movement. Particle systems are being implemented and optimized. A
528-
crafting GUI has been added. Translations have stabalized significantly, and
527+
crafting GUI has been added. Translations have stabilized significantly, and
529528
there is a framework for translators to know what needs to be done.
530529

531530
![Fire particles](veloren-fire.gif)
@@ -551,7 +550,7 @@ July's full weekly devlogs: "This Week In Veloren...":
551550
[#78](https://veloren.net/devblog-78).
552551

553552
In August, 0.7 will be released. Work will continue on castle and cave
554-
geneartion. The inaugural episode of the Rust Game Dev podcast will be released,
553+
generation. The inaugural episode of the Rust Game Dev podcast will be released,
555554
which features an interview by Veloren developers.
556555

557556
![Quadrupeds](veloren-quadrupeds.png)
@@ -623,7 +622,7 @@ The source code [can be found here][tantan-pong-src].
623622

624623
![vector vs linked list perf](data_oriented_design.svg)
625624

626-
Data-Oriented Design is an approach to program optimisation focused on
625+
Data-Oriented Design is an approach to program optimization focused on
627626
considering the features and limitations of the target hardware, and
628627
carefully controlling the memory layout of data to take advantage of
629628
those.
@@ -669,15 +668,15 @@ of Unity C# script components allow third parties to incorporate
669668
Servo browser windows into Unity scenes.
670669

671670
[A blog post about the project][servo-unity-post] gives a good
672-
overview of the project goals, capabilities, archtecture, challenges,
671+
overview of the project goals, capabilities, architecture, challenges,
673672
and future development plans.
674673

675674
[servo-unity]: https://github.com/MozillaReality/servo-unity
676675
[servo-unity-post]: https://blog.mozvr.com/a-browser-plugin-for-unity
677676

678677
### [big-brain]
679678

680-
[big-brain] by [Kat Marchán] is an [utility AI] library for games,
679+
[big-brain] by [Kat Marchán] is a [utility AI] library for games,
681680
built on the specs ECS.
682681

683682
> It lets you define complex, intricate AI behaviors for your entities
@@ -734,7 +733,7 @@ _Discussions:
734733

735734
[voronator] by [Felipe Santos] is ...
736735
a Rust port of the [d3-delaunay] and [delaunator] libraries
737-
that provides delaunay triangulation and Voronoi diagram generation.
736+
that provide delaunay triangulation and Voronoi diagram generation.
738737

739738
_Discussions:
740739
[/r/rust](https://reddit.com/r/rust/comments/hjbl0y/introducing_voronator)_
@@ -807,7 +806,7 @@ for contributing a lot of these features and fixes!
807806
[miniquad] is a safe and cross-platform rendering library
808807
focused on portability and low-end platforms support.
809808

810-
This month opengl backend of miniquad was successefully ported to iOS.
809+
This month opengl backend of miniquad was successfully ported to iOS.
811810
With this update [macroquad], [good-web-game] and all the games
812811
build directly with [miniquad] can be run on IOS, Android, WASM,
813812
Linux, macOS and Windows!
@@ -820,7 +819,7 @@ Linux, macOS and Windows!
820819

821820
![procgen dynamic "grass field"](tuitui-grass-field.jpeg)
822821

823-
^ _[@MacTuitui]'s everyday [nannou] experiement #1274_
822+
^ _[@MacTuitui]'s everyday [nannou] experiment #1274_
824823

825824
The work is ongoing to validate all the incoming commands and guarantee API safety.
826825
Special thanks to [@GabrielMajeri] for helping to convert assertions
@@ -841,7 +840,7 @@ Then, efforts to reduce code duplication inside `wgpu` project has led to the
841840
[bovine invasion](https://github.com/gfx-rs/wgpu-rs/pull/460) on wgpu-rs API side.
842841
The devs are figuring out the plan to address that with a builder pattern now,
843842
which will address both the `Cow`s and non-exhaustives,
844-
hopefully putting the end to the turbulence.
843+
hopefully putting an end to the turbulence.
845844

846845
In the meantime, `wgpu-rs` ecosystem is flourishing with applications and libraries.
847846
The [showcase gallery](https://wgpu.rs/#showcase) was updated with a few shiny images.
@@ -875,7 +874,7 @@ graphics framework.
875874
This month [luminance v0.40 got released][luminance-v0-40].
876875
Some of the highlights:
877876

878-
- The complete backend/architecture redesign;
877+
- The complete backend/architecture redesign.
879878
- A new platform crate has appeared:
880879
[luminance-sdl2], which adds support for the sdl2 crate.
881880
- [luminance-webgl] and luminance-web-sys, to support the Web!
@@ -1003,7 +1002,7 @@ most LLVM IR to
10031002
[Minecraft data packs](https://minecraft.gamepedia.com/Data_Pack),
10041003
the game's deliberately-limited in-game scripting language. Langcraft
10051004
is entirely language independent, so any language with an LLVM-based
1006-
compiler can (with the right API bindings) run in Minecraft. Currently
1005+
compiler can (with the right API bindings) run in Minecraft. Currently,
10071006
bindings to both C and Rust exist. While not as visually impressive as
10081007
a redstone computer, Langcraft does stretch the bounds of the game quite
10091008
a bit, using jukeboxes for memory, armor stands to represent pointers,
@@ -1024,9 +1023,7 @@ You can watch a [video of Rust interpreter running Fizzbuzz][langcraft-video]:
10241023
[Langcraft]: https://github.com/SuperTails/langcraft
10251024
[langcraft-video]: https://youtube.com/watch?v=Cx0w5Wn9pPU
10261025

1027-
## Popular Workgroup Issues in Github
1028-
1029-
<!-- Up to 10 links to interesting issues -->
1026+
<!-- ## Popular Workgroup Issues in Github -->
10301027

10311028
## Meeting Minutes
10321029

@@ -1041,16 +1038,16 @@ or [join the next meeting][join].
10411038

10421039
<!-- Links to "good first issue"-labels or direct links to specific tasks -->
10431040

1044-
- [Embark's open issues][embark-open-issues] ([embark.rs]);
1045-
- [winit's "Good first issue" and “help wanted” issues][winit-issues];
1046-
- [gfx-rs's "contributor-friendly" issues][gfx-issues];
1047-
- [wgpu's "help wanted" issues][wgpu-help-wanted];
1048-
- [luminance's "low hanging fruit" issues][luminance-fruits];
1049-
- [ggez's "good first issue" issues][ggez-issues];
1050-
- [Veloren's "beginner" issues][veloren-beginner];
1051-
- [Amethyst's "good first issue" issues][amethyst-issues];
1052-
- [A/B Street's "good first issue" issues][abstreet-issues];
1053-
- [Mun's "good first issue" issues][mun-issues];
1041+
- [Embark's open issues][embark-open-issues] ([embark.rs]).
1042+
- [winit's "Good first issue" and “help wanted” issues][winit-issues].
1043+
- [gfx-rs's "contributor-friendly" issues][gfx-issues].
1044+
- [wgpu's "help wanted" issues][wgpu-help-wanted].
1045+
- [luminance's "low hanging fruit" issues][luminance-fruits].
1046+
- [ggez's "good first issue" issues][ggez-issues].
1047+
- [Veloren's "beginner" issues][veloren-beginner].
1048+
- [Amethyst's "good first issue" issues][amethyst-issues].
1049+
- [A/B Street's "good first issue" issues][abstreet-issues].
1050+
- [Mun's "good first issue" issues][mun-issues].
10541051

10551052
[embark.rs]: https://embark.rs
10561053
[embark-open-issues]: https://github.com/search?q=user:EmbarkStudios+state:open
@@ -1084,10 +1081,15 @@ or [join the next meeting][join].
10841081
10851082
You can find all of the details on their [job offer page][embark-job].
10861083

1084+
------
1085+
1086+
Btw, Embark are also [looking for Software Engineer interns][embark-job-intern].
1087+
10871088
![Embark's logo](embark-logo-bg.jpg)
10881089

10891090
[Embark]: https://www.embark-studios.com
10901091
[embark-job]: https://www.embark-studios.com/jobs/910166-open-source-engineer
1092+
[embark-job-intern]: https://www.embark-studios.com/jobs/915561-internship-software-engineer-rust
10911093

10921094
## Bonus
10931095

@@ -1096,6 +1098,54 @@ and highlight events from the past. -->
10961098

10971099
Just an interesting Rust gamedev link from the past. :)
10981100

1101+
[![youtube preview](shar-youtube.jpeg)][shar-trailer]
1102+
1103+
^ _Click to watch [SHAR's Greenlight trailer][shar-trailer]_
1104+
1105+
[SHAR][shar-itch] (Russian "Шар" - ball) by [@fedor_games] (author of [miniquad]/[macroquad])
1106+
is a 3rd-person online action game that aims to create unique experience
1107+
combining destructible world and team-based ball game.
1108+
1109+
> SHAR is an action combination of tactical and sports game in the destructible world.
1110+
> The rules are extremely simple: two teams, one ball.
1111+
> The team that carries the ball into the opponent's gates gets a score,
1112+
> the team with the most score at the end of the game is the winner.
1113+
> However, this is where things get interesting!
1114+
> Players have the variety of skills and tricks and destructible environment
1115+
> to fiddle around to slam the opponent and win the game.
1116+
1117+
Some of the game's features:
1118+
1119+
- A network-synchronized physics engine powered by bullet-rs;
1120+
- A bunch of physics-based player skills;
1121+
- Extensive build-in editors for game maps, skeletal animation,
1122+
effects & particle systems;
1123+
- Modding support.
1124+
1125+
The game was built on top of a homegrown game engine using:
1126+
winit, glium, imgui-rs, [tinyecs], [awesomium-rs], [ears].
1127+
1128+
[![A screenshot from the recording](shar-talk.jpeg)][shar-talk]
1129+
1130+
During RustFest Zurich 2017, Fedor gave a self-descriptive talk
1131+
"SHAR: Rust's gamedev experience".
1132+
You can [watch the recording here][shar-talk].
1133+
1134+
The game was in active development around 2016-2017.
1135+
In 2017 the game [passed Steam Greenlight][shar-greenlight].
1136+
During 2018 [the project was suspended][shar-death].
1137+
1138+
[shar-itch]: https://fedorgames.itch.io/shar
1139+
[@fedor_games]: https://twitter.com/fedor_games
1140+
[shar-trailer]: https://youtube.com/watch?v=OVYQs3KY2EE
1141+
[shar-death]: https://fedorgames.itch.io/shar/devlog/52720/time-to-move-on
1142+
[shar-greenlight]: https://steamcommunity.com/sharedfiles/filedetails/?id=868228143
1143+
[shar-talk]: https://youtube.com/watch?v=nXR8f4r6ggM
1144+
[macroquad]: https://github.com/not-fl3/macroquad
1145+
[tinyecs]: https://github.com/not-fl3/tinyecs
1146+
[awesomium-rs]: https://github.com/not-fl3/awesomium-rs
1147+
[ears]: https://github.com/nickbrowne/ears
1148+
10991149
------
11001150

11011151
That's all news for today, thanks for reading!
395 KB
Loading
387 KB
Loading

0 commit comments

Comments
 (0)