Skip to content

Commit 39da945

Browse files
authored
Newsletter 13 (#274)
* Newsletter 13: No jobs, no bonus * Newsletter 13: WG Issues * Newsletter 13 * Newsletter 13: Garden: Typo * Newsletter 13: Update toc * Newsletter 13: Optimize some imgs
1 parent 653e4c8 commit 39da945

10 files changed

+45
-48
lines changed
Loading
Binary file not shown.
-111 KB
Loading

content/posts/newsletter-013/index.md

+45-48
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
title = "This Month in Rust GameDev #13 - August 2020"
33
date = 2020-09-07
44
transparent = true
5-
draft = true
65
+++
76

87
Welcome to the 13th issue of the Rust GameDev Workgroup’s
@@ -34,8 +33,6 @@ Table of contents:
3433
- [Popular Workgroup Issues in Github](#popular-workgroup-issues-in-github)
3534
- [Meeting Minutes](#meeting-minutes)
3635
- [Requests for Contribution](#requests-for-contribution)
37-
- [Jobs](#jobs)
38-
- [Bonus](#bonus)
3936

4037
<!--
4138
Ideal section structure is:
@@ -115,8 +112,8 @@ for you to listen and subscribe:
115112

116113
### [Crate Before Attack][cba-site]
117114

118-
[![Camera debugging in Crate Before Attack](crate-before-attack.png)][cba-site]
119-
_Debugging camera motion: highlighted areas are points of interest._
115+
[![Camera debugging in Crate Before Attack](crate-before-attack.jpeg)][cba-site]
116+
_Debugging camera motion: highlighted areas are points of interest_
120117

121118
[Crate Before Attack][cba-site] by [koalefant (@CrateAttack)][@CrateAttack]
122119
is a skill-based multiplayer game where frogs combat their friends
@@ -146,7 +143,7 @@ More details are in [August DevLog-entry][cba-august-update].
146143

147144
### [Veloren][veloren]
148145

149-
![Landscape](veloren-landscape1.png)
146+
![Landscape](veloren-landscape1.jpeg)
150147
_Landscape with new LoD and lighting_
151148

152149
[Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf
@@ -173,16 +170,18 @@ You can read more about some specific topics from August:
173170
- [Airshipper 0.4.0 Progress](https://veloren.net/devblog-79#airshipper-0-4-progress-by-songtronix)
174171
- [Animation and Movement Updates](https://veloren.net/devblog-79#animation-and-movement-updates-by-slipped)
175172
- [Particle Timing](https://veloren.net/devblog-80#particle-timing-by-lobster)
176-
- [0.7 Release Party Statistics](https://veloren.net/devblog-81#0-7-release-party-statistics)
177-
- [0.7 Release Party Kick Disaster](https://veloren.net/devblog-81#0-7-release-party-kick-disaster-by-xmac94x)
173+
- 0.7 Release: [Party Statistics](https://veloren.net/devblog-81#0-7-release-party-statistics)
174+
and [Kick Disaster](https://veloren.net/devblog-81#0-7-release-party-kick-disaster-by-xmac94x)
178175
- [Lighting and World Changes](https://veloren.net/devblog-81#sharp-s-lighting-and-world-changes-branch)
179176
- [0.8 Intro Meeting](https://veloren.net/devblog-82#0-8-intro-meeting)
180177
- [Audio SFX](https://veloren.net/devblog-82#audio-with-ellinia)
181178
- [Photo Gallery](https://veloren.net/devblog-83#photo-gallery)
182179

183180
August's full weekly devlogs: "This Week In Veloren...":
184-
[#79](https://veloren.net/devblog-79), [#80](https://veloren.net/devblog-80),
185-
[#81](https://veloren.net/devblog-81), [#82](https://veloren.net/devblog-82).
181+
[#79](https://veloren.net/devblog-79),
182+
[#80](https://veloren.net/devblog-80),
183+
[#81](https://veloren.net/devblog-81),
184+
[#82](https://veloren.net/devblog-82),
186185
[#83](https://veloren.net/devblog-83).
187186

188187
In September, work on 0.8 will continue. Some large systems being worked on
@@ -229,7 +228,7 @@ Egregoria was previously known as Scale,
229228
but was renamed to fit the theme better.
230229

231230
The [5th devlog][egregoria-blog-post] was published, talking about
232-
the renaming, project managment, buildings and scripting.
231+
the renaming, project management, buildings and scripting.
233232

234233
A [Discord][egregoria-discord] server was launched to discuss the project.
235234

@@ -244,10 +243,10 @@ _Discussions:
244243

245244
[![Dodging bullets and carrying Cary to temporary safety](cary_screenshot.png)][Cary]
246245

247-
In [Cary] the player has to bring the titular character to the exit by carying
246+
In [Cary] the player has to bring the titular character to the exit by carrying
248247
them or otherwise making sure they don't – nor the player themselves –
249248
touch any of the traps.
250-
Easier said then done when you have limited stamina and Cary keeps running
249+
Easier said than done when you have limited stamina and Cary keeps running
251250
into spikes.
252251

253252
Made with hecs and wgpu (no framework), but uses WebGL on the web
@@ -313,7 +312,7 @@ the [Bar Painting][vangers-bars-blog] post of the blog.
313312
![screenshot: concrete, trees, shadows](garden.jpeg)
314313

315314
[Garden][garden] is an upcoming game centered around growing realistic plants.
316-
Some of the updates from [the Jule & August devlog][garden-devlog]:
315+
Some of the updates from [the July & August devlog][garden-devlog]:
317316

318317
- A new player inventory system;
319318
- Better collision detection and camera movement;
@@ -352,7 +351,7 @@ Chillscapes is written using an early-in-development 2d engine,
352351
### [Dwarf Seeks Fortune][dsf-github]
353352

354353
[![Dwarf Seeks Fortune](dwarf_seeks_fortune.png)][dsf-github]
355-
_Collect all keys to unlock the door to the next level._
354+
_Collect all keys to unlock the door to the next level_
356355

357356
[Dwarf Seeks Fortune][dsf-github] is a puzzle-platformer made with the Amethyst game
358357
engine. Its developer, Jazarro, has partnered with the Amethyst organization
@@ -401,7 +400,7 @@ _One of SIMple Mechanic's Lua presets, a colorful wave of bouncing circles_
401400

402401
[SIMple Physics][simple-physics-site] by [@mkhan45] is a set of educational physics
403402
simulators meant to help students and teachers conduct labs without expensive equipment
404-
or in person classes. Each simulator uses serializeable graphs, object inspection,
403+
or in person classes. Each simulator uses serializable graphs, object inspection,
405404
Lua scripting, and a few other features to help students learn. Currently, there
406405
is a simulator for mechanics/projectile motion and one for universal gravitation,
407406
but the goal is to include one for electronics/magnetism and one for waves/optics.
@@ -444,19 +443,19 @@ work with graphics in Rust using [SDL2][sdl2] library.
444443
### [Beginning Game Development with Amethyst][rustconf-talk-video]
445444

446445
[![youtube preview](rustconf-amethyst-talk.png)][rustconf-talk-video]
447-
_Click to [watch the talk][rustconf-talk-video]._
446+
_Click to [watch the talk][rustconf-talk-video]_
448447

449448
Getting started with Rust + gamedev can be intimidating. At
450449
[RustConf 2020][rust-conf-2020], [Micah Tigley] gave a talk about their experience
451450
beginning game development using the [Amethyst][amethyst-link] game engine and
452451
learning about ECS by implementing examples that aim to be accessible for
453452
beginners.
454453

455-
Supporting blog posts for talk:
454+
Supporting blog posts for the talk:
456455

457-
- [Creating a Simple Spritesheet Animation with Amethyst][micah-blog-part1]
458-
- [Running Animation][micah-blog-part2]
459-
- [Camera Follow System][micah-blog-part3]
456+
- ["Creating a Simple Spritesheet Animation with Amethyst"][micah-blog-part1]
457+
- ["Running Animation"][micah-blog-part2]
458+
- ["Camera Follow System"][micah-blog-part3]
460459

461460
The source code for the [demo can be found here][micah-demo-src].
462461

@@ -548,7 +547,7 @@ CPU version of PhysX, and often slightly faster than Box2D.
548547
- joint constraints;
549548
- optional serialization of the physics state;
550549
- optional cross-platform determinism on IEEE-754 compliant targets;
551-
- optional explicit SIMD and parallelism.
550+
- optional explicit SIMD and parallelism;
552551
- JavaScript bindings with official NPM packages.
553552

554553
This new physics engine is developed by the recently created [Dimforge]
@@ -567,11 +566,11 @@ _Discussions:
567566

568567
### [NeoCogi's Libraries][neocogi-repo]
569568

570-
![Jude3D](jude3d.png)
569+
![Jude3D](jude3d.jpeg)
571570

572571
[Jude3D](https://neocogi.com) is a web based 3D sculpting application.
573572
It's a WebAssembly application, written in C/C++ and compiled using Emscripten
574-
but after much thinking the authors decided to move the development to Rust!
573+
but after much thinking, the authors decided to move the development to Rust!
575574

576575
Many problems arise when moving existing C/C++/WebAssembly code to Rust.
577576
The two most important ones:
@@ -581,7 +580,7 @@ The two most important ones:
581580

582581
These led the authors to drop using Rust's std in favor to their own libs (`!#[no_std]`),
583582
at least until the std library crates are split up accordingly and stabilized,
584-
for example the `alloc` crate.
583+
for example, the `alloc` crate.
585584

586585
The good news is that they are
587586
[releasing most of the libraries as they make them as open source][neocogi-repo]!
@@ -602,7 +601,7 @@ cute-c2 is a 2D collision detection library that has had its first release to
602601

603602
The library can detect collisions between circles, rectangles, capsules and
604603
up to eight-sided convex polygons. There are also functions for manifold
605-
generation, the GJK algorithm and ray casting operations. There is an example
604+
generation, the GJK algorithm, and ray casting operations. There is an example
606605
program in the repository.
607606

608607
[cute-c2]: https://crates.io/crates/c2
@@ -618,7 +617,7 @@ as well as per-vertex attributes.
618617

619618
All that's required to define a base shape are the initial vertices, triangles
620619
based on the indices of the vertices in the initial vertices, and numbered
621-
edges. As long as the winding of the triangles remains consistend throughout
620+
edges. As long as the winding of the triangles remains consistent throughout
622621
the base mesh, all of the resulting triangles will retain that winding.
623622

624623
This library also provides a few interesting base shapes (which can be used alone
@@ -708,7 +707,7 @@ Some of the updates:
708707
- Dynamically sized multi-binding support.
709708
- Improved entrypoint debug printing.
710709
- Better manifest merging method for pipeline construction.
711-
- Bugfixes and various small API improvments.
710+
- Bugfixes and various small API improvements.
712711

713712
_Discussions: [/r/rust_gamedev][spirq-discussion]_
714713

@@ -799,11 +798,11 @@ See discussion at [/r/rust_gamedev][wgpu-instancing-reddit].
799798
![KAS text layout](kas-text-layout.png)
800799

801800
[KAS] by [@dhardy] is a general purpose UI toolkit; its
802-
initial aim is "old school" desktop apps with good keyboard and touchscreen
801+
initial aim is "old school" desktop apps with a good keyboard and touchscreen
803802
support. Unlike many modern immediate-mode UIs, KAS's widgets retain state,
804803
allowing minimal per-frame updates. KAS supports embedded WebGPU graphics now,
805804
and will (eventually) support being embedded within other contexts (requiring
806-
only a supply of input events and implemention of some basic graphics routines).
805+
only a supply of input events and implementation of some basic graphics routines).
807806

808807
KAS v0.5 switches to a new crate for text layout,
809808
[KAS-text]. KAS-text is a text layout
@@ -820,12 +819,14 @@ For more, see the article ["Why I created KAS-text"][kas-article].
820819

821820
### [Egui]
822821

822+
![Egui](egui.png)
823+
823824
[Egui] is a highly portable immediate mode GUI library in pure Rust.
824825
Egui can be integrated anywhere you can paint textured triangles.
825826
You can compile Egui to WASM and render it on a web page using [egui_web]
826827
or compile and run natively using [egui_glium].
827828

828-
[Click to run Egui web demo](https://emilk.github.io/egui/index.html)
829+
Check out the [Egui web demo](https://emilk.github.io/egui/index.html).
829830

830831
Example:
831832

@@ -840,8 +841,6 @@ Window::new("Debug").show(ui.ctx(), |ui| {
840841
});
841842
```
842843

843-
![Egui](egui.png)
844-
845844
_Discussions:
846845
[/r/rust](https://reddit.com/r/rust/comments/hzwvsk/emigui_deserves_more_love)_
847846

@@ -968,9 +967,9 @@ While it is still under heavy development, a lot can be done already:
968967
[Tetra] is a simple 2D game framework, inspired by XNA and Raylib. This month,
969968
versions [0.4.1][tetra-041] and [0.4.2][tetra-042] were released, featuring:
970969

971-
- Improved Serde support
972-
- Various fixes and improvements to the built-in `Camera` type
973-
- Many documentation improvements, based on user feedback
970+
- Improved Serde support;
971+
- Various fixes and improvements to the built-in `Camera` type;
972+
- Many documentation improvements, based on user feedback.
974973

975974
In addition, Tetra 0.5 is planned for release in early September. For more
976975
information on the upcoming changes, see the [changelog][tetra-changelog].
@@ -1049,7 +1048,7 @@ has released a new ECS library [Nano-ECS].
10491048

10501049
This ECS design stores all components in a single array
10511050
and uses bit masks for enabling/disabling components.
1052-
An entity can have maximum 64 components and must be initalized
1051+
An entity can have maximum 64 components and must be initialized
10531052
with all components it uses in the future.
10541053
Each entity has a slice into the array that stores all components.
10551054
The `World` object, `Component` and systems are generated using macros.
@@ -1255,6 +1254,15 @@ Amongst them:
12551254

12561255
## Popular Workgroup Issues in Github
12571256

1257+
- [rust-gamedev/wg](https://github.com/rust-gamedev/wg):
1258+
- [#89 "Moving ecs_bench to GDWG"](https://github.com/rust-gamedev/wg/issues/89);
1259+
- [#93 "Consider creating a game math library benchmark for the working group"](https://github.com/rust-gamedev/wg/issues/93);
1260+
- [rust-gamedev/rust-gamedev.github.io](https://github.com/rust-gamedev/rust-gamedev.github.io):
1261+
- [#233 "Custom Domain"](https://github.com/rust-gamedev/rust-gamedev.github.io/issues/233);
1262+
- [rust-gamedev/ecs_bench_suite](https://github.com/rust-gamedev/ecs_bench_suite):
1263+
- [#6 "Benchmark compile times"](https://github.com/rust-gamedev/ecs_bench_suite/issues/6);
1264+
- [#13 "How results will be updated?"](https://github.com/rust-gamedev/ecs_bench_suite/issues/13);
1265+
12581266
## Meeting Minutes
12591267

12601268
<!-- Up to 10 most important notes + a link to the full details -->
@@ -1295,17 +1303,6 @@ or [join the next meeting][join].
12951303
[simm-issues]: https://github.com/mkhan45/SIMple-Mechanics/labels/good%20first%20issue
12961304
[bevy-issues]: https://github.com/bevyengine/bevy/labels/good%20first%20issue
12971305

1298-
## Jobs
1299-
1300-
<!-- An optional section for new jobs related to Rust gamedev -->
1301-
1302-
## Bonus
1303-
1304-
<!-- Bonus section to make the newsletter more interesting
1305-
and highlight events from the past. -->
1306-
1307-
Just an interesting Rust gamedev link from the past. :)
1308-
13091306
------
13101307

13111308
That's all news for today, thanks for reading!
202 KB
Loading
-687 KB
Binary file not shown.
-489 KB
Loading
Loading
Binary file not shown.
Loading

0 commit comments

Comments
 (0)