22title = " This Month in Rust GameDev #13 - August 2020"
33date = 2020-09-07
44transparent = true
5- draft = true
65+++
76
87Welcome 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 ]
122121is 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
183182August'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
188189In September, work on 0.8 will continue. Some large systems being worked on
@@ -229,7 +230,7 @@ Egregoria was previously known as Scale,
229230but was renamed to fit the theme better.
230231
231232The [ 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
234235A [ 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
248249them or otherwise making sure they don't – nor the player themselves –
249250touch 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
251252into spikes.
252253
253254Made 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
358359engine. 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
403404simulators 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,
405406Lua scripting, and a few other features to help students learn. Currently, there
406407is a simulator for mechanics/projectile motion and one for universal gravitation,
407408but 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
449450Getting started with Rust + gamedev can be intimidating. At
450451[ RustConf 2020] [ rust-conf-2020 ] , [ Micah Tigley] gave a talk about their experience
451452beginning game development using the [ Amethyst] [ amethyst-link ] game engine and
452453learning about ECS by implementing examples that aim to be accessible for
453454beginners.
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
461462The 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
554555This 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.
573574It'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
576577Many problems arise when moving existing C/C++/WebAssembly code to Rust.
577578The two most important ones:
@@ -581,7 +582,7 @@ The two most important ones:
581582
582583These led the authors to drop using Rust's std in favor to their own libs (` !#[no_std] ` ),
583584at 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
586587The 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
603604The library can detect collisions between circles, rectangles, capsules and
604605up 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
606607program in the repository.
607608
608609[ cute-c2 ] : https://crates.io/crates/c2
@@ -618,7 +619,7 @@ as well as per-vertex attributes.
618619
619620All that's required to define a base shape are the initial vertices, triangles
620621based 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
622623the base mesh, all of the resulting triangles will retain that winding.
623624
624625This 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
803804support. Unlike many modern immediate-mode UIs, KAS's widgets retain state,
804805allowing minimal per-frame updates. KAS supports embedded WebGPU graphics now,
805806and 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
808809KAS 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.
824827Egui can be integrated anywhere you can paint textured triangles.
825828You can compile Egui to WASM and render it on a web page using [ egui_web]
826829or 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
830833Example:
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,
969970versions [ 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
975976In addition, Tetra 0.5 is planned for release in early September. For more
976977information on the upcoming changes, see the [ changelog] [ tetra-changelog ] .
@@ -1049,7 +1050,7 @@ has released a new ECS library [Nano-ECS].
10491050
10501051This ECS design stores all components in a single array
10511052and 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
10531054with all components it uses in the future.
10541055Each entity has a slice into the array that stores all components.
10551056The ` World ` object, ` Component ` and systems are generated using macros.
0 commit comments