diff --git a/content/news/038/gamedev-meetup.png b/content/news/038/gamedev-meetup.png new file mode 100644 index 000000000..af9706bea Binary files /dev/null and b/content/news/038/gamedev-meetup.png differ diff --git a/content/news/038/index.md b/content/news/038/index.md index 2c0c53553..5416c89a8 100644 --- a/content/news/038/index.md +++ b/content/news/038/index.md @@ -1,8 +1,7 @@ +++ title = "This Month in Rust GameDev #38 - September 2022" transparent = true -date = 2022-10-08 -draft = true +date = 2022-10-14 +++ <!-- no toc --> @@ -39,7 +38,6 @@ Feel free to send PRs about your own projects! - [Popular Workgroup Issues in Github](#popular-workgroup-issues-in-github) - [Discussions](#discussions) - [Requests for Contribution](#requests-for-contribution) -- [Jobs](#jobs) - [Bonus](#bonus) <!-- @@ -66,6 +64,21 @@ If needed, a section can be split into subsections with a "------" delimiter. ## Announcements +### Rust GameDev Meetup + + + +The 20th Rust Gamedev Meetup took place in September. You can watch the recording +of the meetup [here on Youtube][gamedev-meetup-video]. + +The meetups take place on the second Saturday every month via the [Rust Gamedev +Discord server][rust-gamedev-discord] and are also [streamed on +Twitch][rust-gamedev-twitch]. + +[gamedev-meetup-video]: https://www.youtube.com/watch?v=QKqqDilZ448 +[rust-gamedev-discord]: https://discord.gg/yNtPTb2 +[rust-gamedev-twitch]: https://twitch.tv/rustgamedev + ## Game Updates ### [CyberGate][cybergate-yt] @@ -391,7 +404,7 @@ and finally how to tie it all together with a client app made with [bevy]. [renet]: https://github.com/lucaspoffo/renet [bevy]: https://github.com/bevyengine/bevy -### [Chris Biscardi's Monthly Roundup][chris-biscardi-videos] +### [Chris Biscardi's Monthly Roundup][chris-biscardi-youtube]  @@ -437,7 +450,7 @@ synthesizers based on signed distance fields. Feldversuch uses user defined fields not only to render the interface, but to generate sound based on them as well. The -so-called *sampling plane* (seen moving back and forth above) +so-called _sampling plane_ (seen moving back and forth above) defines the wave shape that is played back. Further experiments include rotation (instead of the sweep @@ -474,7 +487,6 @@ The above screen shows an example of controlling a custom made audio source [bevy_oddio]: https://github.com/harudagondi/bevy_oddio [@harudagondi]: https://twitter.com/harudagondi -[Bevy]: https://bevyengine.org/ [oddio]: https://github.com/Ralith/oddio [bevy_oddio_02]: https://github.com/harudagondi/bevy_oddio/releases/tag/v0.2.0 [bevy_fundsp_example]: https://github.com/harudagondi/bevy_fundsp/blob/ca08963820c83dd723784db6c6f87df8eadd60e0/examples/oddio/controlled.rs#L40-L52 @@ -548,39 +560,137 @@ available in WASM. Next area of work will be around navigation mesh editing. [Polyanya]: https://github.com/vleue/polyanya [polyanya-paper]: https://www.ijcai.org/proceedings/2017/0070.pdf [polyanya-demo]: https://vleue.github.io/bevy_pathmesh/ -[Bevy]: https://bevyengine.org/ [@FrancoisMockers]: https://twitter.com/FrancoisMockers ## Popular Workgroup Issues in Github <!-- Up to 10 links to interesting issues --> +- [#90: Rust on Consoles](https://github.com/rust-gamedev/wg/issues/90) + ## Other News <!-- One-liners for plan items that haven't got their own sections. --> -- Other library updates - - [big-brain](https://github.com/zkat/big-brain) released [version 0.14](https://github.com/zkat/big-brain/releases/tag/v0.14.0) - of its Utility AI library, with fixes and lots more observability improvements. +- Other game updates: + - [Disk-0 Madness] is a bullet hell game, written in Rust for the WASM-4 + fantasy console. + - [Combine and Conquer] released version 0.1, moving into early access. + - [bevy-rapier-car-sim] is a 3D car simulation in Rust. + - [PongRust] is an 'unbeatable' Pong game. + - [My Roguelite] is a browser-based 3D roguelite. + - [Life Code] is an ecosystem simulation game. + - [Klod] released a retrospective post about their Katamari-inspired platformer. +- Other engine updates: + - [Rustacean Station] interviewed the developer of the Fyrox engine. + - [The Fyrox Book] added a new chapter on property inheritance. + - [Bevy's scheduling overhaul RFC] was merged. +- Other learning material updates: + - [LogRocket] posted about Bevy's ECS API. + - [Wade Zimmerman] wrote about their native iOS game dev journey with Rust. + - [Rust and Tell] featured a talk on hot reloading. + - [Bevy Basics] continued their series of beginner Bevy tutorials. + - [Yishn] coded an Astroids clone with Bevy. +- Other library updates: + - [big-brain] released version 0.14 of its Utility AI library, with fixes and + lots more observability improvements. + - [egui_dock] adds docking support to egui. + - [Valence] is a framework for building Minecraft servers in Rust. + - [Luminance] is a type-safe graphics framework, which is currently undergoing + a major rewrite. + - [Bevy ECSS] is a library for integrating a subset of CSS with Bevy's ECS system. + - [dtm] is a fast encoder/decoder for the DTM image format. + +[Disk-0 Madness]: https://maxcurzi.itch.io/disk-0-madness +[Combine and Conquer]: https://buckmartin.de/combine-and-conquer/2022-09-23-v0.1.0.html +[bevy-rapier-car-sim]: https://github.com/alexichepura/bevy-rapier-car-sim +[PongRust]: https://larsdu.github.io/PongRust/ +[My Roguelite]: https://ostwilkens.github.io/my-roguelite/ +[Life Code]: https://www.youtube.com/watch?v=ftVkklmO1Dk +[Klod]: https://devildahu.ch/devlog/making-of-klod-tech/ +[Rustacean Station]: https://rustacean-station.org/episode/dmitry-stepanov/ +[The Fyrox Book]: https://fyrox-book.github.io/fyrox/scene/inheritance.html +[Bevy's scheduling overhaul RFC]: https://github.com/bevyengine/rfcs/pull/45 +[LogRocket]: https://blog.logrocket.com/rust-bevy-entity-component-system +[Wade Zimmerman]: https://devmap.org/native-ios-game-development-w-rust-a1134887c35f +[Rust and Tell]: https://www.youtube.com/watch?v=-UUImyqX8j0 +[Bevy Basics]: https://www.youtube.com/playlist?list=PL6uRoaCCw7GN_lJxpKS3j-KXuThRiSXc6 +[Yishn]: https://www.youtube.com/watch?v=QCys49c44PU +[big-brain]: https://github.com/zkat/big-brain/releases/tag/v0.14.0 +[egui_dock]: https://crates.io/crates/egui_dock +[Valence]: https://github.com/valence-rs/valence +[Luminance]: https://phaazon.net/blog/2022-luminance-redesign-part-1 +[Bevy ECSS]: https://github.com/afonsolage/bevy_ecss +[dtm]: https://github.com/Ku95/dtm ## Discussions <!-- Links to handpicked reddit/twitter/urlo/etc threads that provide useful information --> +- /r/rust_gamedev + - ["Should I use an existing physics engine or implement it myself?"](https://reddit.com/r/rust_gamedev/comments/x8if87/rubber_duck_question_should_i_use_an_existing) + - ["Ecs fundamentally at odds with borrow checker?"](https://reddit.com/r/rust_gamedev/comments/xajcgd/ecs_fundamentally_at_odds_with_borrow_checker) + - ["Best Engine for Choice-Driven, Semi-Free-Roam, 2D Gamedev"](https://reddit.com/r/rust_gamedev/comments/xc0fes/best_engine_for_choicedriven_semifreeroam_2d) + - ["Turn-based game - architecture feedback/opinons"](https://reddit.com/r/rust_gamedev/comments/xe1d6p/turnbased_game_architecture_feedbackopinons) + ## Requests for Contribution <!-- Links to "good first issue"-labels or direct links to specific tasks --> -## Jobs - -<!-- An optional section for new jobs related to Rust gamedev --> +- ['Are We Game Yet?' wants to know about projects/games/resources that + aren't listed yet][awgy]. +- [Graphite is looking for contributors][graphite-contribute] to help build the + new node graph and 2D rendering systems. +- [winit's "difficulty: easy" issues][winit-issues]. +- [Backroll-rs, a new networking library][backroll-rs]. +- [Embark's open issues][embark-open-issues] ([embark.rs]). +- [wgpu's "help wanted" issues][wgpu-issues]. +- [luminance's "low hanging fruit" issues][luminance-fruits]. +- [ggez's "good first issue" issues][ggez-issues]. +- [Veloren's "beginner" issues][veloren-beginner]. +- [A/B Street's "good first issue" issues][abstreet-issues]. +- [Mun's "good first issue" issues][mun-issues]. +- [SIMple Mechanic's good first issues][simm-issues]. +- [Bevy's "good first issue" issues][bevy-issues]. + +[awgy]: https://github.com/rust-gamedev/arewegameyet#contribute +[graphite-contribute]: https://graphite.rs/contribute +[winit-issues]: https://github.com/rust-windowing/winit/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+easy%22 +[backroll-rs]: https://github.com/HouraiTeahouse/backroll-rs/issues +[embark.rs]: https://embark.rs +[embark-open-issues]: https://github.com/search?q=user:EmbarkStudios+state:open +[wgpu-issues]: https://github.com/gfx-rs/wgpu/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22 +[luminance-fruits]: https://github.com/phaazon/luminance-rs/issues?q=is%3Aissue+is%3Aopen+label%3A%22low+hanging+fruit%22 +[ggez-issues]: https://github.com/ggez/ggez/labels/%2AGOOD%20FIRST%20ISSUE%2A +[veloren-beginner]: https://gitlab.com/veloren/veloren/issues?label_name=beginner +[abstreet-issues]: https://github.com/a-b-street/abstreet/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 +[mun-issues]: https://github.com/mun-lang/mun/labels/good%20first%20issue +[simm-issues]: https://github.com/mkhan45/SIMple-Mechanics/labels/good%20first%20issue +[bevy-issues]: https://github.com/bevyengine/bevy/labels/E-Good-First-Issue ## Bonus <!-- Bonus section to make the newsletter more interesting and highlight events from the past. --> + + +[Ruffle] is an open-source Flash Player emulator, written in Rust. It aims to run +natively on all modern operating systems and web browsers, leveraging Rust's +memory safety guarentees to avoid the security pitfalls that Flash became +notorious for in its later years. + +Many of today's game developers got their start developing +in Flash, and Ruffle aims to help preserve this part of internet (and +gaming!) history for future generations to look back on. + +For a look back at the history of Flash gaming, and the influence it has has +on games today, check out [Flash Game History]. + +[Ruffle]: https://ruffle.rs/ +[Flash Game History]: https://www.flashgamehistory.com/ + ------ That's all news for today, thanks for reading! diff --git a/content/news/038/ruffle.svg b/content/news/038/ruffle.svg new file mode 100644 index 000000000..d15aca4f1 --- /dev/null +++ b/content/news/038/ruffle.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" width="328" height="108"><defs><g id="a"><path fill="#966214" d="M37.85 61.25q-.4 0-.8.05-.5-.25-.9-.5-.3-.1-.55-.3l-.6-.6-4.25-6.45-1.5 11.25h3.45q.75-.1 1.5-.35.85-.25 1.65-.75.55-.35 1.05-.8.5-.45.95-1 .5-.5.75-1.2-.05.05-.15.1-.1.15-.25.25l-.1.2q-.15.05-.25.1m58.3 0q-.9 0-1.45-.7-.3-.3-.55-.6l-.05-.05v-.05l-4.25-6.4-1.5 11.25h3.45q.75-.1 1.5-.35.85-.25 1.6-.75.75-.5 1.4-1.1.45-.35.75-.85.35-.5.65-1.05l-.45.55q-.5.15-1.1.1m19.7 3.25h3.45q.75-.1 1.5-.35.25-.05.45-.15.35-.15.65-.3l.5-.3q.25-.15.5-.35.45-.35.9-.75.45-.35.75-.85l.1-.1q.1-.2.2-.35.2-.3.35-.6l-.3.4-.15.15q-.5.15-1.1.1-.25 0-.4-.05-.5-.15-.8-.4-.15-.1-.25-.25-.3-.3-.55-.6l-.05-.05v-.05l-4.25-6.4-1.5 11.25m52.6.2q-3.1-.25-5.7-.75-5.6-1.05-8.9-3.1-.75-.5-1.4-1-3.15-2.55-3.5-6.4l-1.5 11.25h21m33.4-5.65q-2.3-2.35-2.6-5.6l-1.5 11.25h21q-11.25-.95-16-4.85-.5-.4-.9-.8m55.15 2.5q-2.55-.25-3.25-1.8l-4.2-6.3-1.5 11.25h3.45q.6-.1 1.2-.3.4-.1.75-.2.35-.15.65-.3.7-.35 1.35-.8.75-.55 1.3-1.25.1-.15.25-.3m23.95-8.05l-1.5 11.2h21q-.3-.05-.6-.05-10.8-1-15.4-4.8-3.15-2.55-3.5-6.35z"/><path fill="#FFAD33" d="M40.65 47.25H51.8L49.75 61.7h16.5l2.3-16.25h-.05l.8-5.7q.4-2.45-1-4.2-.35-.4-.75-.8-.25-.25-.55-.5-.2-.2-.45-.35-1.95-1.4-4.5-1.4H34.3q-1.35 0-2.6.45-1.65.55-3.15 1.8Q25.8 37 25.3 40l-1.65 12h.05v.3l5.85 1.15h-9.5q-.5.05-1 .15-.5.15-1 .35-.5.2-.95.45-.5.3-.95.7-.45.35-.85.8-.35.4-.65.85-.3.45-.5.9-.15.45-.3.95L8 100.2h16.25l5-35.5 1.5-11.25L35 59.9l.6.6q.25.2.55.3.4.25.9.5.4-.05.8-.05.1-.05.25-.1l.1-.2q.15-.1.25-.25.1-.05.15-.1l.3-1.05 1.75-12.3m86.8-2h-.05l.15-1.25h-.05l1.65-11.7H112.9l-2.65 19.5h.05v.2l-.05.1h.05l5.8 1.15h-9.45q-.5.05-1 .15-.5.15-1 .35-.15.05-.3.15-.3.1-.55.25-.05 0-.1.05-.5.3-1 .65-.4.35-.7.7-.55.7-.95 1.45-.35.65-.55 1.4-.15.7-.25 1.4v.05q-.15 1.05-.35 2.05l-1.2 8.75v.1l-2.1 14.7H85.35L87.6 69.9h.05l.7-5.2 1.5-11.25 4.25 6.4v.05l.05.05q.25.3.55.6.55.7 1.45.7.6.05 1.1-.1l.45-.55.3-1.05 1.3-9.05h-.05l.7-5.05h-.05l.15-1.25H100l1.65-11.7H85.4L82.75 52h.05l-.05.3 5.85 1.15h-9.45q-.5.05-1 .15-.5.15-1 .35-.5.2-.95.45-.5.3-1 .65-.4.4-.8.85-.25.3-.55.65-.05.1-.15.2-.25.45-.4.9-.2.45-.3.95-.1.65-.2 1.25-.2 1.15-.4 2.25l-4.3 30.6q-.25 3 1.75 5.25 1.6 1.8 4 2.15.6.1 1.25.1h27.35q3.25 0 6-2.25.35-.35.7-.55l.3-.2q2-2 2.25-4.5l1.65-11.6q.05-.05.1-.05l1.65-11.35h.05l.7-5.2 1.5-11.25 4.25 6.4v.05l.05.05q.25.3.55.6.1.15.25.25.3.25.8.4.15.05.4.05.6.05 1.1-.1l.15-.15.3-.4.3-1.05 1.3-9.05h-.05l.7-5.05m61.8-35Q187 8 183.75 8H156q-3 0-5.75 2.25-1.3.95-2.05 2.1-.45.6-.7 1.2-.2.5-.35 1-.1.45-.15.95l-4.15 29.95h-.05l-.7 5.2h-.05l-.2 1.35h.05l-.05.3 5.85 1.15h-9.45q-2.1.05-3.95 1.6-1.9 1.55-2.25 3.55l-.5 3.5h-.05l-5.3 38.1h16.25l5-35.5 1.5-11.25q.35 3.85 3.5 6.4.65.5 1.4 1 3.3 2.05 8.9 3.1 2.6.5 5.7.75l1.75-11.25H158l.4-2.95h-.05l.7-5.05H159q.1-.9.3-1.9.1-.75.2-1.6.85-5.9 2.15-14.9 0-.15.05-.25l.1-.9q.2-1.55.45-3.15h11.25l-3.1 20.8h16.5L191 15.5q.15-1.7-.4-3.15-.5-1.1-1.35-2.1m50.3 0Q237.3 8 234.05 8H206.3q-2.3 0-4.45 1.35-.65.35-1.3.9-1.3.95-2.05 2.1-.45.6-.7 1.2-.4.9-.5 1.95l-4.15 29.95h-.05l-.7 5.2h-.05l-.2 1.35h.05l-.05.3 5.85 1.15h-9.45q-2.1.05-3.95 1.6-1.9 1.55-2.25 3.55l-.5 3.5h-.05l-1.2 8.75v.1l-4.1 29.25h16.25l5-35.5 1.5-11.25q.3 3.25 2.6 5.6.4.4.9.8 4.75 3.9 16 4.85l1.75-11.25h-12.2l.4-2.95h-.05l.7-5.05h-.05q.15-.9.3-1.9.1-.75.25-1.6.15-1.25.35-2.65v-.05q.95-6.7 2.35-16.5h11.25l-3.1 20.8h16.5l4.1-28.05q.15-1.7-.4-3.15-.5-1.1-1.35-2.1M259.5 45.5v-.05L264.85 8H248.6l-6.15 44.3 5.85 1.15h-9.45q-.5.05-1 .15-.5.15-1 .35-.5.2-.95.45-.5.3-1 .65-.4.4-.8.85-.35.4-.7.85-.25.45-.45.9-.15.45-.3.95l-5.85 41.6h16.25l5-35.5 1.5-11.25 4.2 6.3q.7 1.55 3.25 1.8l.05-.1q.25-.4.35-.85l.3-1.05 1.8-14.05m25.6-15.75q-.65 0-1.3.1-2.5.35-4.7 2.15-2.75 2.25-3.25 5.25l-1.95 14.7V52l-.05.3 5.85 1.15h-9.45q-1.9.05-3.6 1.35-.2.1-.35.25-1.9 1.55-2.25 3.55l-4.85 34.1q-.25 3 1.75 5.25 1.25 1.4 3 1.95 1.05.3 2.25.3h27.75q3.25 0 6-2.25 2.75-2 3.25-5l2.75-18.5h-16.5l-1.75 11h-11.25l2.1-14.75h.05l.85-6 1.5-11.2q.35 3.8 3.5 6.35 4.6 3.8 15.4 4.8.3 0 .6.05h15.75l2.75-19.25h-.05l1.15-8.2q.5-3-1.75-5.25-1.25-1.25-3-1.75-1-.5-2.25-.5H285.1m5.95 15.7h-.1l.15-.95h11.45l-1.25 8.95H290l.4-2.95h-.05l.7-5.05z"/></g></defs><use xlink:href="#a"/></svg> \ No newline at end of file