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
@@ -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<!--
4138Ideal 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 ]
122119is 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
183180August'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
188187In September, work on 0.8 will continue. Some large systems being worked on
@@ -229,7 +228,7 @@ Egregoria was previously known as Scale,
229228but was renamed to fit the theme better.
230229
231230The [ 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
234233A [ 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
248247them or otherwise making sure they don't – nor the player themselves –
249248touch 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
251250into spikes.
252251
253252Made 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
358357engine. 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
403402simulators 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,
405404Lua scripting, and a few other features to help students learn. Currently, there
406405is a simulator for mechanics/projectile motion and one for universal gravitation,
407406but 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
449448Getting started with Rust + gamedev can be intimidating. At
450449[ RustConf 2020] [ rust-conf-2020 ] , [ Micah Tigley] gave a talk about their experience
451450beginning game development using the [ Amethyst] [ amethyst-link ] game engine and
452451learning about ECS by implementing examples that aim to be accessible for
453452beginners.
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
461460The 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
554553This 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.
573572It'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
576575Many problems arise when moving existing C/C++/WebAssembly code to Rust.
577576The two most important ones:
@@ -581,7 +580,7 @@ The two most important ones:
581580
582581These led the authors to drop using Rust's std in favor to their own libs (` !#[no_std] ` ),
583582at 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
586585The 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
603602The library can detect collisions between circles, rectangles, capsules and
604603up 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
606605program in the repository.
607606
608607[ cute-c2 ] : https://crates.io/crates/c2
@@ -618,7 +617,7 @@ as well as per-vertex attributes.
618617
619618All that's required to define a base shape are the initial vertices, triangles
620619based 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
622621the base mesh, all of the resulting triangles will retain that winding.
623622
624623This 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
803802support. Unlike many modern immediate-mode UIs, KAS's widgets retain state,
804803allowing minimal per-frame updates. KAS supports embedded WebGPU graphics now,
805804and 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
808807KAS 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.
824825Egui can be integrated anywhere you can paint textured triangles.
825826You can compile Egui to WASM and render it on a web page using [ egui_web]
826827or 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
830831Example:
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,
969968versions [ 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
975974In addition, Tetra 0.5 is planned for release in early September. For more
976975information on the upcoming changes, see the [ changelog] [ tetra-changelog ] .
@@ -1049,7 +1048,7 @@ has released a new ECS library [Nano-ECS].
10491048
10501049This ECS design stores all components in a single array
10511050and 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
10531052with all components it uses in the future.
10541053Each entity has a slice into the array that stores all components.
10551054The ` 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
13111308That's all news for today, thanks for reading!
0 commit comments