Skip to content

Commit b6d0c81

Browse files
committed
Newsletter 13
1 parent 429e203 commit b6d0c81

File tree

1 file changed

+32
-31
lines changed

1 file changed

+32
-31
lines changed

content/posts/newsletter-013/index.md

+32-31
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
@@ -116,7 +115,7 @@ for you to listen and subscribe:
116115
### [Crate Before Attack][cba-site]
117116

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

121120
[Crate Before Attack][cba-site] by [koalefant (@CrateAttack)][@CrateAttack]
122121
is a skill-based multiplayer game where frogs combat their friends
@@ -173,16 +172,18 @@ You can read more about some specific topics from August:
173172
- [Airshipper 0.4.0 Progress](https://veloren.net/devblog-79#airshipper-0-4-progress-by-songtronix)
174173
- [Animation and Movement Updates](https://veloren.net/devblog-79#animation-and-movement-updates-by-slipped)
175174
- [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)
175+
- 0.7 Release: [Party Statistics](https://veloren.net/devblog-81#0-7-release-party-statistics)
176+
and [Kick Disaster](https://veloren.net/devblog-81#0-7-release-party-kick-disaster-by-xmac94x)
178177
- [Lighting and World Changes](https://veloren.net/devblog-81#sharp-s-lighting-and-world-changes-branch)
179178
- [0.8 Intro Meeting](https://veloren.net/devblog-82#0-8-intro-meeting)
180179
- [Audio SFX](https://veloren.net/devblog-82#audio-with-ellinia)
181180
- [Photo Gallery](https://veloren.net/devblog-83#photo-gallery)
182181

183182
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).
183+
[#79](https://veloren.net/devblog-79),
184+
[#80](https://veloren.net/devblog-80),
185+
[#81](https://veloren.net/devblog-81),
186+
[#82](https://veloren.net/devblog-82),
186187
[#83](https://veloren.net/devblog-83).
187188

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

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

234235
A [Discord][egregoria-discord] server was launched to discuss the project.
235236

@@ -244,10 +245,10 @@ _Discussions:
244245

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

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

253254
Made with hecs and wgpu (no framework), but uses WebGL on the web
@@ -352,7 +353,7 @@ Chillscapes is written using an early-in-development 2d engine,
352353
### [Dwarf Seeks Fortune][dsf-github]
353354

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

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

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

446447
[![youtube preview](rustconf-amethyst-talk.png)][rustconf-talk-video]
447-
_Click to [watch the talk][rustconf-talk-video]._
448+
_Click to [watch the talk][rustconf-talk-video]_
448449

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

455-
Supporting blog posts for talk:
456+
Supporting blog posts for the talk:
456457

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

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

@@ -548,7 +549,7 @@ CPU version of PhysX, and often slightly faster than Box2D.
548549
- joint constraints;
549550
- optional serialization of the physics state;
550551
- optional cross-platform determinism on IEEE-754 compliant targets;
551-
- optional explicit SIMD and parallelism.
552+
- optional explicit SIMD and parallelism;
552553
- JavaScript bindings with official NPM packages.
553554

554555
This new physics engine is developed by the recently created [Dimforge]
@@ -571,7 +572,7 @@ _Discussions:
571572

572573
[Jude3D](https://neocogi.com) is a web based 3D sculpting application.
573574
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!
575+
but after much thinking, the authors decided to move the development to Rust!
575576

576577
Many problems arise when moving existing C/C++/WebAssembly code to Rust.
577578
The two most important ones:
@@ -581,7 +582,7 @@ The two most important ones:
581582

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

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

603604
The library can detect collisions between circles, rectangles, capsules and
604605
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
606+
generation, the GJK algorithm, and ray casting operations. There is an example
606607
program in the repository.
607608

608609
[cute-c2]: https://crates.io/crates/c2
@@ -618,7 +619,7 @@ as well as per-vertex attributes.
618619

619620
All that's required to define a base shape are the initial vertices, triangles
620621
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
622+
edges. As long as the winding of the triangles remains consistent throughout
622623
the base mesh, all of the resulting triangles will retain that winding.
623624

624625
This library also provides a few interesting base shapes (which can be used alone
@@ -708,7 +709,7 @@ Some of the updates:
708709
- Dynamically sized multi-binding support.
709710
- Improved entrypoint debug printing.
710711
- Better manifest merging method for pipeline construction.
711-
- Bugfixes and various small API improvments.
712+
- Bugfixes and various small API improvements.
712713

713714
_Discussions: [/r/rust_gamedev][spirq-discussion]_
714715

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

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

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

821822
### [Egui]
822823

824+
![Egui](egui.png)
825+
823826
[Egui] is a highly portable immediate mode GUI library in pure Rust.
824827
Egui can be integrated anywhere you can paint textured triangles.
825828
You can compile Egui to WASM and render it on a web page using [egui_web]
826829
or compile and run natively using [egui_glium].
827830

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

830833
Example:
831834

@@ -840,8 +843,6 @@ Window::new("Debug").show(ui.ctx(), |ui| {
840843
});
841844
```
842845

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

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

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

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

10501051
This ECS design stores all components in a single array
10511052
and uses bit masks for enabling/disabling components.
1052-
An entity can have maximum 64 components and must be initalized
1053+
An entity can have maximum 64 components and must be initialized
10531054
with all components it uses in the future.
10541055
Each entity has a slice into the array that stores all components.
10551056
The `World` object, `Component` and systems are generated using macros.

0 commit comments

Comments
 (0)