Skip to content

Commit 6adda33

Browse files
committed
Add For The Quest description and dev highlights
1 parent 03097bf commit 6adda33

File tree

1 file changed

+60
-32
lines changed

1 file changed

+60
-32
lines changed

content/posts/newsletter-008/index.md

Lines changed: 60 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Want something mentioned in the next newsletter?
2121
[Send us a pull request][pr].
2222
Feel free to send PRs about your own projects!
2323

24-
[Rust]: https://rust-lang.org
24+
[rust]: https://rust-lang.org
2525
[join]: https://github.com/rust-gamedev/wg#join-the-fun
2626
[pr]: https://github.com/rust-gamedev/rust-gamedev.github.io
2727

@@ -64,36 +64,64 @@ keep the other players from getting to theirs.
6464
[dynamaze-source]: https://github.com/boringcactus/dynamaze
6565
[@boringcactus]: https://github.com/boringcactus
6666

67+
### For The Quest
68+
69+
For The Quest is the working title for a game in early development by
70+
[@seratonik][]. Written entirely in Rust and compiled to WebAssembly,
71+
For The Quest is destined to become a MMORPG set in a post-apocalyptic
72+
Earth where your goal is to band together into like-minded factions to
73+
not only survive in this new world, but to unearth the cause of humanity's
74+
downfall.
75+
76+
For The Quest is currently undergoing engine development with a focus on
77+
running smoothly in modern browsers using WebGL 2.0 before moving onto
78+
native desktop ports.
79+
80+
New developments in March:
81+
82+
- Collision and Activation-Based Triggerable Entities (Able to load new areas)
83+
- New overworld "sky light" directional lighting shaders in addition to
84+
omni-directional point lighting for underground areas
85+
- New Ice Cavern models and textures, establishing a hybrid pixel-art in 3D
86+
style - mapping tool has been expanded to allow for rotating "tiles" to
87+
build extensive environments in a simple text format for rapid prototyping
88+
- Specular maps added to the engine and world for that extra shine
89+
- Started refactoring the rendering pipeline to allow for screen-space effects
90+
such as reflections and ambient occlusion
91+
6792
## Library & Tooling Updates
6893

6994
### gfx-rs and wgpu news
7095

71-
[gfx-hal-0.5](https://github.com/gfx-rs/gfx/) was released :tada:
96+
[gfx-hal-0.5](https://github.com/gfx-rs/gfx/) was released :tada:
7297
Improvements done in March:
73-
- Debug markers. Users are now able to debug-annotate parts of the rendered frame, so that inspecting it in a GPU debugger is more enjoyable.
74-
- The generic range parameters are removed in favor of simple structs. This is a move towards simpler low-level API.
75-
- Physical device features for NDC Y-flip and sampler mirror clamp are added
76-
- Physical device performance hints are introduced. The first hint is for "base vertex/instance" support.
77-
- `SmallVec` is removed from the API, it's reshaped to avoid any heap allocations. Previously, it had to touch the heap on multiple descriptor sets or command buffers.
78-
- DX12 got true support for read-only storage bindings. This is one of the opt-in derivations from Vulkan that allow to better map users logic to non-Vulkan backends, also used by WebGPU.
79-
- Last but not the least, @zicklag [has been fighting](https://github.com/gfx-rs/gfx/pull/3151) with the OpenGL backend to align its API with the rest of the crowd, armed with [surfman](https://github.com/pcwalton/surfman). The fight is reading conclusion, and we are crossing fingers to add OpenGL support to `wgpu-rs` as it lands.
98+
99+
- Debug markers. Users are now able to debug-annotate parts of the rendered frame, so that inspecting it in a GPU debugger is more enjoyable.
100+
- The generic range parameters are removed in favor of simple structs. This is a move towards simpler low-level API.
101+
- Physical device features for NDC Y-flip and sampler mirror clamp are added
102+
- Physical device performance hints are introduced. The first hint is for "base vertex/instance" support.
103+
- `SmallVec` is removed from the API, it's reshaped to avoid any heap allocations. Previously, it had to touch the heap on multiple descriptor sets or command buffers.
104+
- DX12 got true support for read-only storage bindings. This is one of the opt-in derivations from Vulkan that allow to better map users logic to non-Vulkan backends, also used by WebGPU.
105+
- Last but not the least, @zicklag [has been fighting](https://github.com/gfx-rs/gfx/pull/3151) with the OpenGL backend to align its API with the rest of the crowd, armed with [surfman](https://github.com/pcwalton/surfman). The fight is reading conclusion, and we are crossing fingers to add OpenGL support to `wgpu-rs` as it lands.
80106

81107
[wgpu](https://github.com/gfx-rs/wgpu) and [wgpu-rs](https://github.com/gfx-rs/wgpu-rs) changes in March:
82-
- @grovesNL reached an epic milestone in the Web target by showing the [first triangle](https://github.com/gfx-rs/wgpu-rs/pull/193#issuecomment-599156540). Users will soon be able to seamlessly target the web with their existing `wgpu-rs` applications :rocket:
83-
- `wgpu-types` crate is created to share types between the Web target and the native one.
84-
- @lachlansneff improved the _async_ story quite a bit, we also converted more methods to be asynchronous.
85-
- Debug labels support.
86-
- Id management story for browsers with a GPU process has been completely redesigned and now working well.
87-
- All the objects are properly destroyed and GPU tracked if needed.
88-
- Ability to provide a `Surface` so that the selected adapter can present to it.
89-
- New "mailbox" present mode.
108+
109+
- @grovesNL reached an epic milestone in the Web target by showing the [first triangle](https://github.com/gfx-rs/wgpu-rs/pull/193#issuecomment-599156540). Users will soon be able to seamlessly target the web with their existing `wgpu-rs` applications :rocket:
110+
- `wgpu-types` crate is created to share types between the Web target and the native one.
111+
- @lachlansneff improved the _async_ story quite a bit, we also converted more methods to be asynchronous.
112+
- Debug labels support.
113+
- Id management story for browsers with a GPU process has been completely redesigned and now working well.
114+
- All the objects are properly destroyed and GPU tracked if needed.
115+
- Ability to provide a `Surface` so that the selected adapter can present to it.
116+
- New "mailbox" present mode.
90117

91118
Satellite projects:
92-
- [naga](https://github.com/gfx-rs/naga) - the new in-house shader translator has reached the milestone of successfully loading a WGSL [boids example](https://github.com/gfx-rs/naga/blob/thda1f6a47b06c89abb1dff70326c076f1088964a3/test-data/boids.wgsl) and generating a valid Metal source for it :tada:
93-
- [metal-rs](https://github.com/gfx-rs/metal-rs/) has got a lot of contribution by @adamnemecek. Indirect command encoding is particularly exciting!
94-
- [gfx-extras](https://github.com/gfx-rs/gfx-extras) is a new library that is forked from rendy-memory/descriptor.
95-
- [gfx-ocean](https://github.com/gfx-rs/gfx-ocean) was moved to gfx-rs organization and updated to gfx-hal-0.5.
96-
- [gfx-portability](https://github.com/gfx-rs/portability) was also updated.
119+
120+
- [naga](https://github.com/gfx-rs/naga) - the new in-house shader translator has reached the milestone of successfully loading a WGSL [boids example](https://github.com/gfx-rs/naga/blob/thda1f6a47b06c89abb1dff70326c076f1088964a3/test-data/boids.wgsl) and generating a valid Metal source for it :tada:
121+
- [metal-rs](https://github.com/gfx-rs/metal-rs/) has got a lot of contribution by @adamnemecek. Indirect command encoding is particularly exciting!
122+
- [gfx-extras](https://github.com/gfx-rs/gfx-extras) is a new library that is forked from rendy-memory/descriptor.
123+
- [gfx-ocean](https://github.com/gfx-rs/gfx-ocean) was moved to gfx-rs organization and updated to gfx-hal-0.5.
124+
- [gfx-portability](https://github.com/gfx-rs/portability) was also updated.
97125

98126
### [Quest Engine Part 2: Deploying a Rust App On Android][quest-part-2]
99127

@@ -136,19 +164,20 @@ _Discussions: [/r/rust](https://www.reddit.com/r/rust_gamedev/comments/foywc6/an
136164
### [three-d] v0.1
137165

138166
[three-d] is a renderer which targets both desktop (OpenGL) and web
139-
(WebAssembly + WebGL2) which makes it possible to develop a 3D application on
167+
(WebAssembly + WebGL2) which makes it possible to develop a 3D application on
140168
desktop and easily deploy it on web.
141169

142-
This month [three-d v0.1][three-d-v0-1] was released.
170+
This month [three-d v0.1][three-d-v0-1] was released.
143171
Main features:
172+
144173
- Thin and low-level graphics abstraction layer which maps one-to-one with the
145-
OpenGL/WebGL2 graphics APIs.
174+
OpenGL/WebGL2 graphics APIs.
146175
- Medium-level modular abstractions of common graphics concepts.
147176
- Deferred renderer with high-level components.
148177
- Default windows for easy setup.
149178

150-
It is possible to build your own rendering features from low- or medium-level
151-
components and combine with other high-level features, so you can already now
179+
It is possible to build your own rendering features from low- or medium-level
180+
components and combine with other high-level features, so you can already now
152181
make some cool stuff. See for example these [examples][three-d-examples].
153182

154183
![Lighting example](three-d-lighting.png)
@@ -161,12 +190,12 @@ make some cool stuff. See for example these [examples][three-d-examples].
161190

162191
### This Month in Mun
163192

164-
[![Mun logo](mun-logo.png)][Mun]
193+
[![Mun logo](mun-logo.png)][mun]
165194

166195
[Mun] is a scripting language for gamedev focused on quick iteration times
167196
that is written in Rust.
168197

169-
The Mun Team [announced][mun-february] that they have obtained a $15k grant
198+
The Mun Team [announced][mun-february] that they have obtained a \$15k grant
170199
as part of the [MOSS Mission Partners][moss] track, to further develop hot
171200
reloadable data structures.
172201

@@ -178,12 +207,11 @@ Their [March updates][mun-march] include:
178207
- performance benchmarks;
179208
- bugfixes and improved test coverage.
180209

181-
[Mun]: https://mun-lang.org
210+
[mun]: https://mun-lang.org
182211
[moss]: https://www.mozilla.org/en-US/moss/mission-partners
183212
[mun-february]: (https://mun-lang.org/blog/2020/03/10/this-month-february
184213
[mun-march]: https://mun-lang.org/blog/2020/04/02/this-month-march
185214

186-
187215
## Popular Workgroup Issues in Github
188216

189217
<!-- Up to 10 links to interesting issues -->
@@ -232,7 +260,7 @@ and highlight events from the past. -->
232260

233261
Just an interesting Rust gamedev link from the past. :)
234262

235-
------
263+
---
236264

237265
That's all news for today, thanks for reading!
238266

0 commit comments

Comments
 (0)