1
1
+++
2
2
title = " This Month in Rust GameDev #12 - July 2020"
3
- date = 2020-08-03
3
+ date = 2020-08-06
4
4
transparent = true
5
- draft = true
5
+ draft = false
6
6
+++
7
7
8
8
Welcome to the twelfth issue of the Rust GameDev Workgroup’s
@@ -29,8 +29,7 @@ Table of contents:
29
29
30
30
- [ Game Updates] ( #game-updates )
31
31
- [ 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 )
34
33
- [ Meeting Minutes] ( #meeting-minutes )
35
34
- [ Requests for Contribution] ( #requests-for-contribution )
36
35
- [ Jobs] ( #jobs )
@@ -180,13 +179,13 @@ Wonder can be [played in the browser on itch.io][Wonder].
180
179
181
180
[ Vlad Zhukov] shared a video of a WIP multiplayer online strategy game
182
181
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.
184
183
To build on the tile you need to occupy it with your warriors first.
185
184
The player who occupied all enemies' tiles win.
186
185
187
186
The game is written with [ miniquad] ( https://github.com/not-fl3/miniquad )
188
187
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.
190
189
Read more about crates used in this project [ here] [ hex-strat-crates ] .
191
190
192
191
_ Discussions:
@@ -208,7 +207,7 @@ and drivers.
208
207
This month [ versions v0.2.2..v0.2.5] [ abstreet-releases ] were released.
209
208
Some of the updates:
210
209
211
- - New random traffic scenario generator that makes people go between
210
+ - A new random traffic scenario generator that makes people go between
212
211
houses and workplaces.
213
212
- New commute pattern explorer tool.
214
213
- New character art to give cutscenes a bit more personality.
@@ -325,7 +324,7 @@ Notable changes:
325
324
326
325
- [ basic projectiles] ( https://twitter.com/thisIsRukai/status/1287377878460456963 ) ,
327
326
- [ 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 ) ,
329
328
- and [ custom shaders] ( https://twitter.com/thisIsRukai/status/1279324105125163008 ) .
330
329
331
330
[ canon-collision ] :https://canoncollision.com
@@ -348,14 +347,14 @@ generation system in the worldgen. Main features of the river generator are:
348
347
tweak the process for either precision of the pattern or speed of generation;
349
348
- Rivers are sorted upon intersections, their widths are adjusted, waterfalls
350
349
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;
353
352
- Simple yet effective erosion model implemented, which ensures no upwards flows
354
353
are allowed;
355
354
- Each stream has its unique ID, which will later be linked to the stream data;
356
355
- Streams have 12 orders of magnitude from smallest brooks to major rivers;
357
356
- 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.
359
358
360
359
Further development will involve re-factoring of the code and making it ready
361
360
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:
388
387
- Moving from recording the raw texture generated for pixels
389
388
to the post-processed texture from wgpu
390
389
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.
392
391
- Many structural improvements, such as less glitchy particle
393
392
placement with Bresenham's line algorithm,
394
393
better error handling, and ensuring particles
@@ -475,7 +474,7 @@ The game is in an early stage of development,
475
474
476
475
[ ![ fps-game-screenshot] ( fps-game-2.jpeg )] [ on-fps-game-2-youtube ]
477
476
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 ] ._
479
478
480
479
On this update, [ @pingFromHeaven ] talks about the lighting implementation that
481
480
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
525
524
been done on animations and quadrupeds. Networking has switched to a new
526
525
system. Significant improvements have been made to pathfinding system to improve
527
526
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
529
528
there is a framework for translators to know what needs to be done.
530
529
531
530
![ Fire particles] ( veloren-fire.gif )
@@ -551,7 +550,7 @@ July's full weekly devlogs: "This Week In Veloren...":
551
550
[ #78 ] ( https://veloren.net/devblog-78 ) .
552
551
553
552
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,
555
554
which features an interview by Veloren developers.
556
555
557
556
![ Quadrupeds] ( veloren-quadrupeds.png )
@@ -623,7 +622,7 @@ The source code [can be found here][tantan-pong-src].
623
622
624
623
![ vector vs linked list perf] ( data_oriented_design.svg )
625
624
626
- Data-Oriented Design is an approach to program optimisation focused on
625
+ Data-Oriented Design is an approach to program optimization focused on
627
626
considering the features and limitations of the target hardware, and
628
627
carefully controlling the memory layout of data to take advantage of
629
628
those.
@@ -669,15 +668,15 @@ of Unity C# script components allow third parties to incorporate
669
668
Servo browser windows into Unity scenes.
670
669
671
670
[ 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,
673
672
and future development plans.
674
673
675
674
[ servo-unity ] : https://github.com/MozillaReality/servo-unity
676
675
[ servo-unity-post ] : https://blog.mozvr.com/a-browser-plugin-for-unity
677
676
678
677
### [ big-brain]
679
678
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,
681
680
built on the specs ECS.
682
681
683
682
> It lets you define complex, intricate AI behaviors for your entities
@@ -734,7 +733,7 @@ _Discussions:
734
733
735
734
[ voronator] by [ Felipe Santos] is ...
736
735
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.
738
737
739
738
_ Discussions:
740
739
[ /r/rust] ( https://reddit.com/r/rust/comments/hjbl0y/introducing_voronator ) _
@@ -807,7 +806,7 @@ for contributing a lot of these features and fixes!
807
806
[ miniquad] is a safe and cross-platform rendering library
808
807
focused on portability and low-end platforms support.
809
808
810
- This month opengl backend of miniquad was successefully ported to iOS.
809
+ This month opengl backend of miniquad was successfully ported to iOS.
811
810
With this update [ macroquad] , [ good-web-game] and all the games
812
811
build directly with [ miniquad] can be run on IOS, Android, WASM,
813
812
Linux, macOS and Windows!
@@ -820,7 +819,7 @@ Linux, macOS and Windows!
820
819
821
820
![ procgen dynamic "grass field"] ( tuitui-grass-field.jpeg )
822
821
823
- ^ _ [ @MacTuitui ] 's everyday [ nannou] experiement #1274_
822
+ ^ _ [ @MacTuitui ] 's everyday [ nannou] experiment #1274_
824
823
825
824
The work is ongoing to validate all the incoming commands and guarantee API safety.
826
825
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
841
840
[ bovine invasion] ( https://github.com/gfx-rs/wgpu-rs/pull/460 ) on wgpu-rs API side.
842
841
The devs are figuring out the plan to address that with a builder pattern now,
843
842
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.
845
844
846
845
In the meantime, ` wgpu-rs ` ecosystem is flourishing with applications and libraries.
847
846
The [ showcase gallery] ( https://wgpu.rs/#showcase ) was updated with a few shiny images.
@@ -875,7 +874,7 @@ graphics framework.
875
874
This month [ luminance v0.40 got released] [ luminance-v0-40 ] .
876
875
Some of the highlights:
877
876
878
- - The complete backend/architecture redesign;
877
+ - The complete backend/architecture redesign.
879
878
- A new platform crate has appeared:
880
879
[ luminance-sdl2] , which adds support for the sdl2 crate.
881
880
- [ luminance-webgl] and luminance-web-sys, to support the Web!
@@ -1003,7 +1002,7 @@ most LLVM IR to
1003
1002
[ Minecraft data packs] ( https://minecraft.gamepedia.com/Data_Pack ) ,
1004
1003
the game's deliberately-limited in-game scripting language. Langcraft
1005
1004
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,
1007
1006
bindings to both C and Rust exist. While not as visually impressive as
1008
1007
a redstone computer, Langcraft does stretch the bounds of the game quite
1009
1008
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]:
1024
1023
[ Langcraft ] : https://github.com/SuperTails/langcraft
1025
1024
[ langcraft-video ] : https://youtube.com/watch?v=Cx0w5Wn9pPU
1026
1025
1027
- ## Popular Workgroup Issues in Github
1028
-
1029
- <!-- Up to 10 links to interesting issues -->
1026
+ <!-- ## Popular Workgroup Issues in Github -->
1030
1027
1031
1028
## Meeting Minutes
1032
1029
@@ -1041,16 +1038,16 @@ or [join the next meeting][join].
1041
1038
1042
1039
<!-- Links to "good first issue"-labels or direct links to specific tasks -->
1043
1040
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 ] .
1054
1051
1055
1052
[ embark.rs ] : https://embark.rs
1056
1053
[ embark-open-issues ] : https://github.com/search?q=user:EmbarkStudios+state:open
@@ -1084,10 +1081,15 @@ or [join the next meeting][join].
1084
1081
1085
1082
You can find all of the details on their [ job offer page] [ embark-job ] .
1086
1083
1084
+ ------
1085
+
1086
+ Btw, Embark are also [ looking for Software Engineer interns] [ embark-job-intern ] .
1087
+
1087
1088
![ Embark's logo] ( embark-logo-bg.jpg )
1088
1089
1089
1090
[ Embark ] : https://www.embark-studios.com
1090
1091
[ 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
1091
1093
1092
1094
## Bonus
1093
1095
@@ -1096,6 +1098,54 @@ and highlight events from the past. -->
1096
1098
1097
1099
Just an interesting Rust gamedev link from the past. :)
1098
1100
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
+
1099
1149
------
1100
1150
1101
1151
That's all news for today, thanks for reading!
0 commit comments