Skip to content

CI: Add markdownlint #190

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 4, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ jobs:
GITHUB_PAT: ${{ secrets.GITHUB_PAT }}
steps:
- uses: actions/checkout@v1
- name: Lint
uses: avto-dev/markdown-lint@v1
with:
args: '.'
config: '.markdownlint.json'
- name: Install Zola
run: curl -L ${BASE_URL}/${VERS}/zola-${VERS}-${ARCH}.tar.gz | tar -xz
- run: ./zola --version
Expand Down
12 changes: 12 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"line-length": {
"line_length": 80,
"code_blocks": false
},
"ul-style": {
"style": "dash"
},
"no-trailing-punctuation": {
"punctuation": ".,;:。,;:"
}
}
41 changes: 24 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,40 @@

## Newsletter Creation Workflow

* At the beginning of the month, a draft of the newsletter is created
- At the beginning of the month, a draft of the newsletter is created
from a [template](./newsletter-template.md).
* This should be called `index.md`, and placed in a folder named
- This should be called `index.md`, and placed in a folder named
`/posts/newsletter-xxx` (where `xxx` is the issue number).
* During the month PRs with the month's news, meeting notes, etc
- During the month PRs with the month's news, meeting notes, etc
are reviewed and merged into the draft.
* All images should be placed in the same folder as the post.
* Check the comments in the draft file.
* At the end of the month, the draft is reviewed as a whole
- All images should be placed in the same folder as the post.
- Check the comments in the draft file.
- At the end of the month, the draft is reviewed as a whole
and polished if needed.
* On the first working day of the next month, the final PR
(that removes `draft = true` from the post's front matter and adds the date) is sent.
* The link to the newsletter is shared on social networks, etc.
* A small PR that adds links to Reddit, Twitter, etc discussions
- On the first working day of the next month, the final PR
(that removes `draft = true` from the post's front matter and adds the date)
is sent.
- The link to the newsletter is shared on social networks, etc.
- A small PR that adds links to Reddit, Twitter, etc discussions
(see the comment at the bottom of the draft) is made.
* A new draft for the next month is created from the template, goto 1.
- A new draft for the next month is created from the template, goto 1.

## License

This project is licensed under either of:

* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or
http://opensource.org/licenses/MIT)
- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
<http://www.apache.org/licenses/LICENSE-2.0>)
- MIT license ([LICENSE-MIT](LICENSE-MIT) or
<http://opensource.org/licenses/MIT>)

With the exception of:

* The [Font Awesome](https://fontawesome.com) social icons, which are used under a [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/) license
* The [OpenMoji](https://openmoji.org) icons used on the homepage, which are used under a [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license
- The [Font Awesome](https://fontawesome.com) social icons, which are used
under a [Creative Commons Attribution 4.0 International][cc-by-4-0] license
- The [OpenMoji](https://openmoji.org) icons used on the homepage,
which are used under
a [Creative Commons Attribution-ShareAlike 4.0 International][cc-by-sa-4-0] license

[cc-by-4-0]: https://creativecommons.org/licenses/by/4.0
[cc-by-sa-4-0]: https://creativecommons.org/licenses/by-sa/4.0
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,57 @@ title = "Introducing the Rust Game Development Working Group"
aliases = ["/2019/08/18/introducing-the-rust-game-development-working-group", "/2019/08/18/introducing-the-rust-game-development-working-group.html"]
+++

Rust's combination of low-level control, excellent performance and modern build tools makes it an exciting choice for game developers. The idea of a working group to support this burgeoning community has been proposed [many](https://internals.rust-lang.org/t/a-working-group-for-rust-game-development/8240/4) [times](https://alexene.dev/2018/11/15/Rust-and-game-development.html) over the years, and we're excited to announce that a group has finally been formed!

[Our charter](https://github.com/rust-gamedev/wg/blob/master/charter.md) sets out two primary goals:

* To improve the experience of people using Rust for game development. We want game developers to have a representation in the Rust project. We are a bridge between them and the Rust dev team.
* To share knowledge and make game engine development more accessible for people that are not engine developers. We know it can be a large and intimidating field when you're just starting out.
Rust's combination of low-level control, excellent performance
and modern build tools makes it an exciting choice for game developers.
The idea of a working group to support this burgeoning community has been proposed
[many](https://internals.rust-lang.org/t/a-working-group-for-rust-game-development/8240/4)
[times](https://alexene.dev/2018/11/15/Rust-and-game-development.html)
over the years, and we're excited to announce that a group has finally been formed!

[Our charter](https://github.com/rust-gamedev/wg/blob/master/charter.md)
sets out two primary goals:

- To improve the experience of people using Rust for game development.
We want game developers to have a representation in the Rust project.
We are a bridge between them and the Rust dev team.
- To share knowledge and make game engine development more accessible
for people that are not engine developers.
We know it can be a large and intimidating field when you're just starting out.

## What have we been up to?

While the working group is still in its infancy, we've already got several projects underway:

* The biggest success so far has been the creation of [`raw-window-handle`](https://github.com/rust-windowing/raw-window-handle), a library that provides a common interface that windowing libraries (such as `winit`) can use to talk to graphics libraries (such as `gfx-hal`). [Work is currently ongoing](https://github.com/rust-gamedev/wg/issues/26) to integrate this into various libraries, and once this is complete, it should be a big step towards making the ecosystem more decoupled.
* [Discussions on how a pure Rust SPIR-V generator could be implemented](https://github.com/rust-gamedev/wg/issues/23) are currently ongoing, with the aim of reducing our reliance on `shaderc`.
* We're running a [survey](https://users.rust-lang.org/t/survey-from-the-rust-game-development-working-group/31270), to help us understand the ecosystem better and to figure out how we can best serve its needs. If you're currently using Rust for game development, or even if you just have an interest in the idea of it, please give us your thoughts!
While the working group is still in its infancy,
we've already got several projects underway:

- The biggest success so far has been the creation of
[`raw-window-handle`](https://github.com/rust-windowing/raw-window-handle),
a library that provides a common interface that windowing libraries (such as `winit`)
can use to talk to graphics libraries (such as `gfx-hal`).
[Work is currently ongoing](https://github.com/rust-gamedev/wg/issues/26)
to integrate this into various libraries, and once this is complete,
it should be a big step towards making the ecosystem more decoupled.
- [Discussions on how a pure Rust SPIR-V generator could be implemented](https://github.com/rust-gamedev/wg/issues/23)
are currently ongoing, with the aim of reducing our reliance on `shaderc`.
- We're running a [survey](https://users.rust-lang.org/t/survey-from-the-rust-game-development-working-group/31270),
to help us understand the ecosystem better and to figure out
how we can best serve its needs.
If you're currently using Rust for game development,
or even if you just have an interest in the idea of it,
please give us your thoughts!

## How can I get involved?

Our main hub for co-ordination is our [Github repository](https://github.com/rust-gamedev/wg), where you can (and should!) raise issues calling out your ideas, proposals or problems with the Rust gamedev ecosystem. We also have a `#wg-gamedev` channel on the [official Rust Discord server](https://discord.gg/j6QJsMd), and get together for [meetings on Google Hangouts every other Wednesday](https://github.com/rust-gamedev/wg#join-the-fun). Come and join us!
Our main hub for co-ordination is our [Github repository](https://github.com/rust-gamedev/wg),
where you can (and should!) raise issues calling out your ideas, proposals
or problems with the Rust gamedev ecosystem.
We also have a `#wg-gamedev` channel on the [official Rust Discord server](https://discord.gg/j6QJsMd),
and get together for [meetings on Google Hangouts every other Wednesday](https://github.com/rust-gamedev/wg#join-the-fun).
Come and join us!

## What's next?

We're currently [putting together](https://github.com/rust-gamedev/rust-gamedev.github.io/issues/2) the first installment of a Rust game development newsletter - if you'd like to be notified when this goes live, please subscribe to our [RSS feed](https://rust-gamedev.github.io/feed.xml), or join us on [Discord](https://discord.gg/j6QJsMd)!
We're currently [putting together](https://github.com/rust-gamedev/rust-gamedev.github.io/issues/2)
the first installment of a Rust game development newsletter \-
if you'd like to be notified when this goes live,
please subscribe to our [RSS feed](https://rust-gamedev.github.io/feed.xml),
or join us on [Discord](https://discord.gg/j6QJsMd)!
10 changes: 6 additions & 4 deletions content/posts/newsletter-001/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,8 @@ _Discussions:

------

Also, check out ["About the future of nphysics: a pure rust 2D and 3D real-time physics engine"][future]
Also, check out
["About the future of nphysics: a pure rust 2D and 3D real-time physics engine"][future]
\[[/r/rust](https://reddit.com/r/rust/comments/cm2858/about_the_future_of_nphysics_a_pure_rust_2d_and)].

[future]: https://www.patreon.com/posts/about-future-of-28917514
Expand Down Expand Up @@ -435,8 +436,8 @@ Special section for other news (up to 15) in a one-liner format:
[with Voronoi diagrams for procedural destructions](https://twitter.com/VladZhukov0/status/1162462543530643457).

![Gameplay of Vlad's prototype](vlad-asteroinds-gameplay.gif)
- [Azriel] published a devlog ["Charging Up"] - characters in [Will] can now charge up
by holding the Attack button.
- [Azriel] published a devlog ["Charging Up"] - characters in [Will]
can now charge up by holding the Attack button.

![charging sprites from Will](will-charging.png)
- [droprate](https://crates.io/crates/droprate) - a crate for choosing
Expand Down Expand Up @@ -473,7 +474,8 @@ Special section for other news (up to 15) in a one-liner format:
- [\#26 "[Tracker] Better windowing/graphics inter-operation"](https://github.com/rust-gamedev/wg/issues/26)
- [\#42 "[Discussion] A plan for crate stewardship"](https://github.com/rust-gamedev/wg/issues/42)
- [rust-gamedev.github.io](https://github.com/rust-gamedev/rust-gamedev.github.io):
- [\#2 "Newsletter"](https://github.com/rust-gamedev/rust-gamedev.github.io/issues/2) (so meta!)
- [\#2 "Newsletter"](https://github.com/rust-gamedev/rust-gamedev.github.io/issues/2)
(so meta!)
- [\#4 "Create a rust-gamedev.github.io site"](https://github.com/rust-gamedev/rust-gamedev.github.io/issues/4)

## Meeting Minutes
Expand Down
6 changes: 4 additions & 2 deletions content/posts/newsletter-002/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,8 @@ Updates include:

![bots attack](rox_clone_attack.png)

- [@webshinra](https://twitter.com/Webshinra) made progress with raycasted FOV in their hexagonal game.
- [@webshinra](https://twitter.com/Webshinra) made progress with raycasted FOV
in their hexagonal game.

![hexagonal map with two mechs, paths and visually blocked tiles](hex-fov.jpeg)

Expand Down Expand Up @@ -503,7 +504,8 @@ _Discussions:

- **[minimum]** by ([@aclysma]) is a game development framework that provides
basic tooling and a content authoring workflow;
this month, rendering of draggable shapes in the editor and rotation/scaling were added
this month, rendering of draggable shapes in the editor
and rotation/scaling were added
\[[YouTube demo](https://youtube.com/watch?v=BON_RvVFiWY)].

![editor with a bunch of shapes](minimum.png)
Expand Down
14 changes: 8 additions & 6 deletions content/posts/newsletter-003/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ transparent = true
aliases = ["/2019/11/027/newsletter-003", "2019/11/07/newsletter-003.html"]
+++

<!-- markdownlint-disable no-trailing-punctuation -->

Welcome to the third issue of the Rust GameDev Workgroup’s
monthly newsletter.

Expand Down Expand Up @@ -323,8 +321,8 @@ non-ascii code input, new icons, bugfixes, and better translations.

### [Godot][godot] and Rust

- ["Rendering a 2D game in 3D"](https://medium.com/@recallsingularity/rendering-a-2d-game-in-3d-bd24ddbee6eb) -
[Tom Leys] is working on a “The Recall Singularity” [Godot][godot]/Rust game
- ["Rendering a 2D game in 3D"](https://medium.com/@recallsingularity/rendering-a-2d-game-in-3d-bd24ddbee6eb)
\- [Tom Leys] is working on a “The Recall Singularity” [Godot][godot]/Rust game
about designing autonomous factory ships and stations
and this month they published
a post about evolution of the game's rendering.
Expand All @@ -338,7 +336,10 @@ non-ascii code input, new icons, bugfixes, and better translations.
character physics, weapon system, cameras, animations system,
dynamic damage system.

- ["Pong Clone in Godot Using 'gdnative' Rust Bindings"](https://reddit.com/r/godot/comments/dfam0p/i_made_a_pong_clone_in_godot_using_the_gdnative) - [@you-win] couldn't find any full game examples that used [godot-rust] so they made their own \[[source code](https://github.com/you-win/godot-pong-rust)].
- ["Pong Clone in Godot Using 'gdnative' Rust Bindings"](https://reddit.com/r/godot/comments/dfam0p/i_made_a_pong_clone_in_godot_using_the_gdnative)
\- [@you-win] couldn't find any full game examples that used [godot-rust]
so they made their own
\[[source code](https://github.com/you-win/godot-pong-rust)].

[godot]: https://godotengine.org
[Tom Leys]: https://twitter.com/RecallSingular1
Expand Down Expand Up @@ -776,7 +777,8 @@ _Discussions:
- [specs] and its related repositories [awesome-specs], [hibitset] and [shred]
were moved to [Amethyst organization] \[[URLO][specs-moved]].

- [amethyst_physics v0.1.1 was released](https://www.reddit.com/r/rust_gamedev/comments/dm3jsf/amethyst_v011_contacts_events): now it's possible to fetch Rigid body contacts events.
- [amethyst_physics v0.1.1 was released](https://www.reddit.com/r/rust_gamedev/comments/dm3jsf/amethyst_v011_contacts_events):
now it's possible to fetch Rigid body contacts events.

- [@_AndreaCatania] published two video tutorials:

Expand Down
12 changes: 6 additions & 6 deletions content/posts/newsletter-004/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ date = 2019-12-08
transparent = true
+++

<!-- markdownlint-disable no-trailing-punctuation -->

Welcome to the fourth issue of the Rust GameDev Workgroup’s
monthly newsletter.

Expand Down Expand Up @@ -426,7 +424,8 @@ A few notable additions are:
- slimmed-down Rendy dependencies (memory and descriptor);
- new skybox example.

Lyon has [updated examples](https://github.com/nical/lyon/pull/496) for this version, showing how to draw vector graphics on `wgpu`.
Lyon has [updated examples](https://github.com/nical/lyon/pull/496)
for this version, showing how to draw vector graphics on `wgpu`.

Also, `wgpu` is now a part of Gecko code base for powering the emerging WebGPU implementation.

Expand Down Expand Up @@ -499,8 +498,8 @@ _Discussions:

^ Click to see [a demo video][skulpin-video].

[skulpin] by [@aclysma] provides an easy option for drawing hardware-accelerated 2D
by combining Vulkan and [Skia].
[skulpin] by [@aclysma] provides an easy option for drawing
hardware-accelerated 2D by combining Vulkan and [Skia].

[skulpin]: https://github.com/aclysma/skulpin
[skulpin-video]: https://www.youtube.com/watch?v=El99FgGSzfg
Expand Down Expand Up @@ -714,7 +713,8 @@ Check out the [online Demo][rust-nes-demo].
- ["Future of nalgebra and math in Amethyst"](https://community.amethyst.rs/t/future-of-nalgebra-and-math-in-amethyst/1228)
discussion;

- ["Skepticism about Rendy"](https://community.amethyst.rs/t/skepticism-about-rendy/1221) discussion;
- ["Skepticism about Rendy"](https://community.amethyst.rs/t/skepticism-about-rendy/1221)
discussion;

- [A thread by @obiwanus about long link time](https://community.amethyst.rs/t/obiwanuss-long-link-time-feedback/1207);

Expand Down
19 changes: 12 additions & 7 deletions content/posts/newsletter-005/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -353,8 +353,8 @@ but _fast_, both in terms of productivity and in terms of runtime performance.
This month [ultraviolet v0.4][ultraviolet-v0-4] was released by [@fu5ha].
It brings
[transform](https://docs.rs/ultraviolet/0.4.3/ultraviolet/transform/index.html)
& [projection](https://docs.rs/ultraviolet/0.4.3/ultraviolet/projection/index.html) modules
and many smaller improvements.
& [projection](https://docs.rs/ultraviolet/0.4.3/ultraviolet/projection/index.html)
modules and many smaller improvements.

Check out the [full release announcement post][ultraviolet-v0-4].

Expand Down Expand Up @@ -562,7 +562,10 @@ Main changes are:
[@17cupsofcoffee] also posted [a little example][tetra-sound-polling-ex]
of how you can implement pooling for sound effects

> This is handy for situations where you don't want more than X instances of the same sound playing at once (e.g. if the player is able to fire a weapon as fast as they can hit a button), etc...
> This is handy for situations where you don't want more than X instances
> of the same sound playing at once
> (e.g. if the player is able to fire a weapon as fast as they can hit a button),
> etc...

[tetra-sound-polling-ex]: https://gist.github.com/17cupsofcoffee/f5082a13626ddf0030075d542262c728

Expand Down Expand Up @@ -626,7 +629,8 @@ and [voxel cone traced reflections] working in their voxel engine.
![Rendology demo screenshot](rendology_hdr_0_4.png)

[Rendology] is a 3D rendering pipeline based on Glium and written in Rust.
It features basic implementations of shadow mapping, deferred shading, a glow effect, FXAA and instanced rendering.
It features basic implementations of shadow mapping, deferred shading,
a glow effect, FXAA and instanced rendering.

An ["Introduction to Rendology"][rendology-into] article
outlines some of the concepts of Rendology
Expand Down Expand Up @@ -693,7 +697,8 @@ Some of the December's updates:
- a generic "effects" system;
- cursed items, scrolls of remove curse, and item identification scrolls;
- items that affect your attributes, generic statuses;
- spells, spellbooks, weapon proc fx, mob special abilities, DoT, initiative +/- effects;
- spells, spellbooks, weapon proc fx, mob special abilities,
DoT, initiative +/- effects;
- a dragon lair in a ruined fort;
- multi-tile entities including pathfinding;
- parameterized procgen of magic weaponry/armor;
Expand Down Expand Up @@ -856,8 +861,8 @@ Just an interesting Rust gamedev link from the past. :)

In the November of 2018,
[@AndreaPessino] (Founder/CTO of [Ready At Dawn] Studios)
released a [Modulator] crate and
an awesome ["Modulator (Rust conding series)"][modulator-video] tutorial video about it.
released a [Modulator] crate and an awesome
["Modulator (Rust conding series)"][modulator-video] tutorial video about it.

[Modulator] is a Rust crate for abstracted, decoupled modulation sources.

Expand Down
Loading