diff --git a/content/news/041/clicker.png b/content/news/041/clicker.png new file mode 100644 index 000000000..64ac43c00 Binary files /dev/null and b/content/news/041/clicker.png differ diff --git a/content/news/041/cnc.png b/content/news/041/cnc.png new file mode 100644 index 000000000..7bce0fab5 Binary files /dev/null and b/content/news/041/cnc.png differ diff --git a/content/news/041/doome.gif b/content/news/041/doome.gif new file mode 100644 index 000000000..9d4ab2850 Binary files /dev/null and b/content/news/041/doome.gif differ diff --git a/content/news/041/egui.gif b/content/news/041/egui.gif new file mode 100644 index 000000000..65cbe8702 Binary files /dev/null and b/content/news/041/egui.gif differ diff --git a/content/news/041/google-forma.png b/content/news/041/google-forma.png new file mode 100644 index 000000000..a1d8f1703 Binary files /dev/null and b/content/news/041/google-forma.png differ diff --git a/content/news/041/index.md b/content/news/041/index.md index 01e56cad8..75a5b4849 100644 --- a/content/news/041/index.md +++ b/content/news/041/index.md @@ -1,8 +1,8 @@ +++ title = "This Month in Rust GameDev #41 - December 2022" transparent = true -date = 2023-01-04 -draft = true +date = 2023-01-28 +draft = false +++ <!-- no toc --> @@ -35,13 +35,9 @@ Feel free to send PRs about your own projects! - [Learning Material Updates](#learning-material-updates) - [Tooling Updates](#tooling-updates) - [Library Updates](#library-updates) -- [Popular Workgroup Issues in Github](#popular-workgroup-issues-in-github) - [Other News](#other-news) -- [Meeting Minutes](#meeting-minutes) - [Discussions](#discussions) - [Requests for Contribution](#requests-for-contribution) -- [Jobs](#jobs) -- [Bonus](#bonus) <!-- Ideal section structure is: @@ -102,7 +98,7 @@ Twitch][rust-gamedev-twitch]. If you would like to speak at the next meetup on January 14th, please [respond to the monthly GitHub issue][gamedev-meetup-speakers]. -[gamedev-meetup-video]: https://www.youtube.com/watch?v=Ck2R0yqTLcU +[gamedev-meetup-video]: https://youtube.com/watch?v=Ck2R0yqTLcU [gamedev-meetup-speakers]: https://github.com/rust-gamedev/meetup/issues/2 [rust-gamedev-discord]: https://discord.gg/yNtPTb2 [rust-gamedev-twitch]: https://twitch.tv/rustgamedev @@ -110,6 +106,32 @@ issue][gamedev-meetup-speakers]. [@GraphiteEditor]: https://twitter.com/GraphiteEditor [@kvark]: http://kvark.github.io +### [@rust_gamedev Mastodon Feed][masto] + + + +As you may know, we have [a @rust_gamedev Twitter account][twi] for +making announcements and collecting all the cool rust gamedev stuff there +into one feed. + +In the last couple of months a significant portion of rust game developers +has either migrated from Twitter to [Mastodon] or started cross-posting there, +so [we've decided][masto-issue] to create a similar "official" +[@rust_gamedev account on the mastodon.gamedev.place server][masto]. + +Please follow us there and post your own relevant updates on [Fediverse] +using either the #RustGameDev tag or #RustLang #GameDev combo. + +_Discussions: +[/r/rust_gamedev](https://reddit.com/r/rust_gamedev/comments/zplfyi/rust_gamedev_mastodon)_ + +[twi]: https://twitter.com/rust_gamedev +[masto]: https://mastodon.gamedev.place/@rust_gamedev +[Mastodon]: https://en.wikipedia.org/wiki/Mastodon_(social_network) +[masto-issue]: https://github.com/rust-gamedev/wg/issues/131 +[Fediverse]: https://en.wikipedia.org/wiki/Fediverse + ## Game Updates ### Digital Extinction @@ -146,19 +168,18 @@ A more detailed update summary is available [here][de-update-03]. ### [Open Combat][OpenCombat_website]  -_Game now include vehicle (T-26) and shelling FX_ +_Game now includes vehicle (T-26) and shelling FX_ Open Combat ([Website][OpenCombat_website], [GitHub][OpenCombat_github], -[Discord][OpenCombat_discord], -[Reddit](OpenCombat_reddit)) +[Discord][OpenCombat_discord]) by [bux][bux] is a real time tactical game which takes place during the 2nd world war. Since the last news about this game, the game engine has been rewritten to permit multiplayer. -Most of the basic game engine feature have been rewritten with +Most of the basic game engine features have been rewritten with the new engine (soldier moves, visibilities, map, etc.). Vehicle concept has been introduced to a T-26 tank. Basic fight features like gunfire and shelling have been introduced. @@ -170,14 +191,14 @@ Basic fight features like gunfire and shelling have been introduced. ### [Tiny Glade] - + [@anopara]'s and [@h3r2tic]'s tiny building game now finally has a name! It's [Tiny Glade]! Tiny Glade is a small relaxing game about doodling castles. Explore gridless building chemistry, and -watch the game carefully assemble every brick, pebble +watch the game carefully assemble every brick, pebble, and plank. There's no management, combat, or wrong answers - just kick back and turn forgotten meadows into lovable dioramas. Wishlist on [Steam][Tiny Glade]! @@ -204,7 +225,7 @@ It quickly started taking the shape of a game: - Which was later switched to a deterministic [A-start navmesh approach]. - Developed mechanics for the player controller including the first-person-camera. - Implemented weapon + projectiles systems. -- Finally [custom shaders for projectiles] were added as a finishing touch. +- Finally, [custom shaders for projectiles] were added as a finishing touch. An experiment that became the first game published by [@nilaysavant]. Play [Temple Knight] in your browser. @@ -213,7 +234,6 @@ Play [Temple Knight] in your browser. [tk-itch]: https://nilaysavant.itch.io/temple-knight [tk-twitter]: https://twitter.com/nilay_savant/status/1607789552621727744 [@nilaysavant]: https://github.com/nilaysavant -[Bevy]: https://bevyengine.org/ [scene running in the browser via WASM]: https://twitter.com/nilay_savant/status/1568307034390675456 [Rapier]: https://rapier.rs/ [basic physics]: https://twitter.com/nilay_savant/status/1569665425046384641 @@ -223,7 +243,7 @@ Play [Temple Knight] in your browser. ### [Cargo Space][cargospace] - + [Cargo Space][cargospace] ([Discord][cargospace_discord]) by [@johanhelsing][johanhelsing_mastodon] is a co-op 2d space game where you build a @@ -367,8 +387,6 @@ its active set of behaviors. You can follow [@carlosupina] on Twitter for regular updates about the game. [Thetawave]: https://github.com/thetawavegame/thetawave -[Bevy]: https://bevyengine.org/ -[Rapier]: https://rapier.rs/ [@carlosupina]: https://twitter.com/carlosupina ### [Jumpy] @@ -380,7 +398,7 @@ _Jumpy Items: Swords, Crates, Grenades, & Mines_ [Spicy Lobster][spicy_lobster] is a pixel-style, tactical 2D shooter with a fishy theme. -In the last month work started on a new architecture for the core Jumpy game loop. +In the last month, work started on a new architecture for the core Jumpy game loop. Determinism and snapshot/restore functionality has been a challenge for networking support in jumpy. To address this, Jumpy has started migrating the core @@ -402,7 +420,6 @@ As soon as the ECS migration is finished, the plan is to get the final game juic and polish done and to make a proper MVP release. [Jumpy]: https://github.com/fishfolks/jumpy -[Bevy]: https://bevyengine.org [jumpy_twitter]: https://twitter.com/spicylobsterfam [jumpy_discord]: https://discord.gg/4smxjcheE5 [spicy_lobster]: https://spicylobster.itch.io @@ -435,10 +452,90 @@ Stefano is also back on [Twitch][hgs_twitch] streaming coding sessions live. Hydrofoil Generation should be available on Steam in the first months of 2023. [Hydrofoil Generation]: https://hydrofoil-generation.com/ -[hgs_facebook]: https://www.facebook.com/HydrofoilGenerationSailing/ +[hgs_facebook]: https://facebook.com/HydrofoilGenerationSailing/ [hgs_discord]: https://discord.gg/DtKgt2duAy/ [hgs_steam]: https://store.steampowered.com/app/1448820/Hydrofoil_Generation/ -[hgs_twitch]: https://www.twitch.tv/kunosstefano +[hgs_twitch]: https://twitch.tv/kunosstefano + +### [Doomé][doome] + + + +[Doomé][doome] by [Patryk Wychowaniec] and [Jakub Trąd] +is a GameOff'22 FPS game: + +> <...> the topic was cliché and our game is Doom meets Portal meets +> The Stanley Parable, with real-time raytraced graphics +> (that work plenty fast even on a CPU) and a 10-minute storyline! + +The source code [is available on GitHub][doome-src]. +The game is written with a custom [rust-gpu]-based raytracer: +[strolle]. +[Watch a talk from a recent Rust Wrocław's meeting][doome-talk] +to learn more about the implementation details. + +You can play the game online and/or get binaries [at itch.io][doome]. + +_Discussions: [/r/rust](https://reddit.com/r/rust/comments/zbd8w2/doome)_ + +[doome]: https://dzejkop.itch.io/doome +[doome-src]: https://github.com/Patryk27/doome +[doome-talk]: https://youtu.be/S85Tw0dVtmw?t=5306 +[Patryk Wychowaniec]: https://pwy.io +[Jakub Trąd]: https://github.com/Dzejkop +[strolle]: https://reddit.com/r/rust/comments/zsrvss/strolle_raytracing + +### [Combine&Conquer][cnc-steam] + + + +[Combine&Conquer][cnc-steam] ([itch.io][cnc-itch], [devlog][cnc-logs], +[Discord][cnc-discord]) by [Martin Buck][@I3ck] +is a WIP relaxing multi-planetary 2D factory automation game. +This month's updates include: + +- [Early Access release on Steam][cnc-steam]. +- [A bunch of minor v0.3.* versions][cnc-logs] with loads of bugfixes + and small improvements in UX, rendering, etc. + +_Discussions: +[/r/rust_gamedev](https://reddit.com/r/rust_gamedev/comments/zd96f1/cnc_steam)_ + +[@I3ck]: https://github.com/I3ck +[cnc-itch]: https://martinbucksoftware.itch.io +[cnc-steam]: https://store.steampowered.com/app/2220850/Combine_And_Conquer +[cnc-logs]: https://buckmartin.de/combine-and-conquer.html +[cnc-discord]: https://discord.gg/peBD6Z5PvN + +### [triverse] + + + +[triverse] by [@cragwind] is a WIP smart-pause RTS with custom unit creation +on a triangle grid canvas. + +> In a distant star system, AI collectives vie for power. +> Assemble and control a self-replicating fleet to harvest resources, +> salvage wreckage, and defend your territory. +> Using modular parts, design ships to counter threats +> while balancing mobility, defense, and firepower. + +You can find [the detailed guide to playing here][triverse-guide] +and [play the web version on itch.io][triverse]. + +This month's [updates][triverse-logs] include: + +- [Salvaging parts][triverse-log-1] from wreckage using workers + for building your own units. +- [Torpedo launchers][triverse-log-2] for taking out large + or stationary targets. + +[@cragwind]: https://cragwind.com +[triverse]: https://cragwind.itch.io/triverse +[triverse-guide]: https://cragwind.com/triverse/ +[triverse-logs]: https://cragwind.itch.io/triverse/devlog +[triverse-log-1]: https://cragwind.itch.io/triverse/devlog/458561/salvaging-parts +[triverse-log-2]: https://cragwind.itch.io/triverse/devlog/464791/torpedo-launcher ## Engine Updates @@ -471,7 +568,7 @@ it got a lot of new functionality and improved existing: [Runty8][runty8-repo] is an experimental port of the [Pico8][pico8-site] fantasy console that supports writing games in Rust. -[Runty8][runty8-repo] has recently added support for WebAssembly, +Runty8 has recently added support for WebAssembly, which means that you can now run your games in the browser! Feel free to [follow their template][runty8-template] to start making your own games. @@ -488,6 +585,55 @@ or browse through the [open issues][runty8-open-issues]. ## Learning Material Updates +### [Rustacean Station: Presser with Gray Olson][rustacean-station-gray] + + + +The [Rustacean Station][rustacean-station] podcast +[interviewed Gray Olson][rustacean-station-gray], +the developer of [Presser][presser] - a library that aims to make +it easier to safely work with byte buffers. + +In this episode, [Gray][gray] talks about +art and graphic designing work for Embark Studio, +computer graphics and ray tracing, +memory allocation in Rust's virtual machine, +and Embark's vision of Rust gamedev. + +[rustacean-station-gray]: https://rustacean-station.org/episode/gray-olson +[rustacean-station]: https://rustacean-station.org +[presser]: https://gamedev.rs/news/039#presser +[gray]: https://grayolson.me + +### [GLTF Animations in wgpu][tut-gltf-wgpu] + + + +[@whoisryosuke] released [a blog post][tut-gltf-wgpu] on how to +parse GLTF files in Rust, render them using wgpu, +and play animations imported from Blender. + +[tut-gltf-wgpu]: https://whoisryosuke.com/blog/2022/importing-gltf-with-wgpu-and-rust +[@whoisryosuke]: https://mastodon.gamedev.place/@whoisryosuke + +### [Create a Clicker Game with Macroquad][clicker-tut-1] + + + +[@Paper010] released a short two-part tutorial +aimed at beginners who want to get started with game development +with Rust and [macroquad]: + +- [The first part][clicker-tut-1] covers the minimal version of a clicker game. +- [The second part][clicker-tut-2] explains how to play sounds and change colors. + +The final source code [is available on GitHub][clicker-src]. + +[clicker-tut-1]: https://dev.to/paper010/rust-create-a-clicker-game-with-macroquad-1820 +[clicker-tut-2]: https://dev.to/paper010/part-2-create-a-clicker-game-with-rust-4nne +[clicker-src]: https://github.com/Paper010/rust-clicker-game +[@Paper010]: https://github.com/Paper010 + ## Tooling Updates ### [Graphite][graphite-website] @@ -520,7 +666,7 @@ existing features into nodes. Open the [Graphite editor][graphite-editor] in your browser to give it a try and share your creations with #MadeWithGraphite on Twitter. -[graphite-vector-demo]: https://www.youtube.com/watch?v=JgJvAHQLnXA +[graphite-vector-demo]: https://youtube.com/watch?v=JgJvAHQLnXA "Graphite Vector Editing: \"Commander Basstronaut\" Artwork (25x Timelapse)" [graphite-website]: https://graphite.rs [graphite-repo]: https://github.com/GraphiteEditor/Graphite @@ -672,7 +818,7 @@ the main improvements are: ### [rust-gpu v0.4.0][rust-gpu-release] - + _Embark's [Creative Playground][embark-creative-playground], which uses rust-gpu and raytracing_ @@ -710,40 +856,237 @@ in the way to load assets. [assets_manager_crates]: https://crates.io/crates/assets_manager [ggez-assets_manager]: https://github.com/a1phyr/ggez-assets_manager -## Popular Workgroup Issues in Github - -<!-- Up to 10 links to interesting issues --> +### [egui v0.20][egui-twi] + + + +[egui] is an easy-to-use immediate mode GUI library in pure Rust. + +This month [egui v0.20][egui-twi] was released. Highlights: + +- Support for [AccessKit] vastly improves the accessibility of [eframe] apps + on Windows and Mac. +- Vastly improved tables (see above) for [rerun.io]'s needs. +- Improved wgpu renderer that now allows using egui-wgpu on the web, + with a WebGL backend. +- egui now expects integrations to do all color blending in gamma space. +- Interactive widgets can now be on top of other interactive widgets. + Great for putting floating widgets on top of 3D content, for instance. +- [ecolor] helper lib for all the color conversions needs. +- Helper functions for animating panels that collapse/expand. + +For full details see the [changelog][egui-changelog]. + +[egui]: https://egui.rs +[egui-twi]: https://twitter.com/ernerfeldt/status/1600869756491673600 +[egui-changelog]: https://github.com/emilk/egui/blob/master/CHANGELOG.md#0200---2022-12-08---accesskit-prettier-text-overlapping-widgets +[AccessKit]: https://github.com/AccessKit/accesskit +[eframe]: https://lib.rs/eframe +[rerun.io]: https://rerun.io +[ecolor]: https://docs.rs/ecolor + +### [google/forma][forma] + +[ +][forma-demo] + +[forma] by google is a (thoroughly) parallelized experimental +Rust vector-graphics renderer with both a software (CPU) and hardware (GPU) +back-end having the [goals][forma-goals] of portability, performance, simplicity, +and minimal size. +Forma relies on Rust's SIMD auto-vectorization/intrinsics and [Rayon] +to have good performance on the CPU, +while using [WebGPU] ([wgpu]) to take advantage of the GPU. + +A few implementation highlights that make the library stand out +from commonly used vector renderers: + +> - Curvature-aware flattening. +> All higher cubic Béziers are approximated by quadratic ones, then, +> in parallel, flattened to line segments according to their curvature. +> This [technique] was developed by Raph Levien. +> - Cheap translations and rotations. +> Translations and rotations can be rendered without having +> to re-flatten the curves, all the while maintaining full quality. +> - Parallel pixel grid intersection. +> Line segments are transformed into pixel segments by intersecting them +> with the pixel grid. We developed a simple method that performs this computation +> in O(1) and which is run in parallel. +> - Efficient sorting. +> We ported [crumsort] to Rust and parallelized it with Rayon, delivering +> improved performance over its pdqsort implementation for 64-bit random data. +> Scattering pixel segments with a sort was inspired from Allan MacKinnon's work +> on [Spinel]. +> - Update only the tiles that change (currently CPU-only). +> We implemented a fail-fast per-tile optimizer that tries to skip +> the painting step entirely. A similar approach could also be tested on the GPU. + +While Forma is a general-purpose library it can be an interesting building block +for vector-based games and engines (see the [spaceship demo][forma-demo] +from the above image). + +_Discussions: [/r/rust](https://reddit.com/r/rust/comments/znhus1/google_forma)_ + +[forma]: https://github.com/google/forma +[Rayon]: https://github.com/rayon-rs/rayon +[WebGPU]: https://github.com/gpuweb/gpuweb +[wgpu]: https://wgpu.rs/ +[forma-goals]: https://github.com/google/forma#readme +[technique]: https://raphlinus.github.io/graphics/curves/2019/12/23/flatten-quadbez.html +[crumsort]: https://github.com/google/crumsort-rs +[Spinel]: https://cs.opensource.google/fuchsia/fuchsia/+/main:src/graphics/lib/compute/spinel +[forma-demo]: https://github.com/google/forma/blob/681e8bfd3/demo/src/demos/spaceship.rs ## Other News <!-- One-liners for plan items that haven't got their own sections. --> -## Meeting Minutes - -<!-- Up to 10 most important notes + a link to the full details --> - -[See all meeting issues][label_meeting] including full text notes -or [join the next meeting][join]. - -[label_meeting]: https://github.com/rust-gamedev/wg/issues?q=label%3Ameeting +- Other game updates: + - [Ivy Sly renamed][yomi-rename] their online turn-based fighting game + (and superpowered fight scene simulator) Yomi Hustle + to "Your Only Move Is HUSTLE" due to a trademark infringement; + The game also [got a Steam page][yomi-steam] in preparation + for the upcoming release in February. + - Orlando Valverde published [a new version Pushin' Boxes][pushin-boxes] + that features a level editor. + - [Dustin Carlino shared][ab-street] a retrospective of 2022 + and 2023 plans for the A/B Street project. + - [Paddlepunks got a new parry variation][paddlepunks] to homura that "pauses" + the ball for a bit before reflecting it back harder than the regular parry + - [@ollej released a web playable version][bunner] of the macroquad port + of the Infinite Bunner game. + - [@kuviman released Flashdark][flashdark] - a small first-person horror game + where you see the dark world using your flashdark and solve puzzles + while avoiding the ghost. + - [Fish Folk: Punchy v0.2 was released][punchy]: + Big Bass Boss has a new bomb toss attack, + hitstop on damage application has changed, + the beginnings of support for multiple attacks per fighter and attack chains + are implemented, and players can now wear special hats. + - [Red Life][red-life] is a small game about an astronaut who is trying + to survive in the hostile environment of Mars. + - [@Tantan shared a vlog][tantan-vid] about a bug he had encountered + during adding multiplayer to his voxel game. + - [Life Code shared a vlog][life-code] about making a user interface + using egui with AI assistance. + - [@enigmanark shared a bunch of updates][retrosic2] + about the RetrosicII shmup game. +- Other engine updates: + - [square_wheel] is a pretty advanced FPS-oriented software renderer + for modern CPUs. + - [Anthony Utt] released new vlogs about the [Alkahest] engine progress: + [orthograthic cameras](https://youtube.com/watch?v=eCVLRpJFOTQ), + [transforms, textures, and scenes](https://youtube.com/watch?v=WMIfFA2m9TA), + and [2D render batching](https://youtube.com/watch?v=HEqvKx4ihRU). +- Other learning material updates: + - [Raph gave a talk](https://youtube.com/watch?v=zVUTZlNCb8U) + about the vision for high performance UI implemented in Rust, + and status of the current Xilem effort to build it. + Includes sections on the piet-gpu 2D rendering engine, + integration with AccessKit, and some details of the reactive architecture. + - [PhaestusFox](https://youtube.com/playlist?list=PL6uRoaCCw7GN_lJxpKS3j-KXuThRiSXc6) + has posted more episodes of their 'Bevy Basics' tutorial series. + - [Maciej Główka released a blog post][tut-bevy-load-toml] on nuances of + loading game data from TOML or JSON assets into Bevy-based games. + - Matthew Bryant released another [Bevy Intro Tutorials][bevy-intro-playlist] + YouTube video: ["Compute Shaders in Bevy"](https://youtube.com/watch?v=neyIpnII-WQ). +- Other tooling updates: + - [uCrowds shared a video][ucrowds-sim] of a Rusty crowd simulation engine + compiled to WASM and running a simulation of 150.000 agents in real-time + in a browser. +- Other library updates: + - [devices] is a cross-platform library for retrieving information about + connected devices, supports Linux and Windows. + - [quad-svg] is a small library for rendering + .svg files to [macroquad]'s Texture2D using [resvg]. + - [@MatanLurey] released [mythoji] - a minimal Rust crate that helps to + identify and display fantasy appropriate emojis. + - [durian] is a general purpose client/server networking library that + provides a "thin" abstraction layer on top of the QUIC protocol (using [quinn]) + to make writing netcode extremely simple, automatically taking care of + connection/streams management, byte details, + packet framing/fragmentation/reassembly, parallel sender/receivers, etc. + - [faer] is a collection of crates that implement a low-level API + for linear algebra routines that is somewhat similar to BLAS/Lapack, + but gives more control to users by allowing parallelism + to be specified on a per-call basis. + - [bevy_adventure] is a framework for building adventure games in Bevy + that features GLTF support, multuple scenes with dynamic objects, inventory, + and automatic camera animation. + +[yomi-rename]: https://twitter.com/ivy_sly_/status/1603289612574937092 +[yomi-steam]: https://store.steampowered.com/app/2212330/Your_Only_Move_Is_HUSTLE +[pushin-boxes]: https://twitter.com/septum___/status/1606176677540683776 +[ab-street]: https://a-b-street.github.io/docs/project/history/vision_and_validate +[paddlepunks]: https://twitter.com/sov_gott_games/status/1600958840220299266 +[bunner]: https://hachyderm.io/@ollej/109506591357987042 +[flashdark]: https://twitter.com/kuviman/status/1598410936460738560 +[punchy]: https://twitter.com/spicylobsterfam/status/1600122907572654080 +[red-life]: https://reddit.com/r/rust/comments/zgv101/red_life_surviving_on_mars +[tantan-vid]: https://youtube.com/watch?v=PnwhUeyrQ54 +[life-code]: https://youtube.com/watch?v=miUD9Ni7LnQ +[retrosic2]: https://twitter.com/hashtag/RetrosicII?f=live +[square_wheel]: https://reddit.com/r/rust/comments/zd31kv/squarewheel_software_renderer_video +[Anthony Utt]: https://twitter.com/alkimia_studios +[Alkahest]: https://github.com/AlkimiaStudios/alkahest-rs +[tut-bevy-load-toml]: https://maciejglowka.com/blog/text-based-json-toml-resources-in-bevy-engine +[bevy-intro-playlist]: https://youtube.com/playlist?list=PLT_D88-MTFOPPl75g4WshL1Gx2bnGTUkz +[ucrowds-sim]: https://reddit.com/r/rust_gamedev/comments/zvud5j/ucrowds_150k_agents +[devices]: https://github.com/hankjordan/devices +[quad-svg]: https://github.com/macnelly/quad-svg +[macroquad]: https://github.com/not-fl3/macroquad +[resvg]: https://github.com/RazrFalcon/resvg +[@MatanLurey]: https://twitter.com/MatanLurey +[mythoji]: https://github.com/matanlurey/mythoji +[durian]: https://github.com/spoorn/durian +[quinn]: https://github.com/quinn-rs/quinn +[faer]: https://github.com/sarah-ek/faer-rs +[bevy_adventure]: https://github.com/hankjordan/bevy_adventure ## Discussions <!-- Links to handpicked reddit/twitter/urlo/etc threads that provide useful information --> +- /r/rust_gamedev: + - ["Can a 2D game be made with rust without a game engine?"](https://reddit.com/r/rust_gamedev/comments/zrdsts/can_a_2d_game_be_made_with_rust_without_engine) + - ["DataFrames instead of ECS?"](https://reddit.com/r/rust_gamedev/comments/zoea0b/what_if_we_use_dataframes) + ## 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 --> - -## Bonus - -<!-- Bonus section to make the newsletter more interesting -and highlight events from the past. --> +- ['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/D-Good-First-Issue ------ diff --git a/content/news/041/mastodon.png b/content/news/041/mastodon.png new file mode 100644 index 000000000..46cc7e499 Binary files /dev/null and b/content/news/041/mastodon.png differ diff --git a/content/news/041/rustacean-station.jpeg b/content/news/041/rustacean-station.jpeg new file mode 100644 index 000000000..4900c38db Binary files /dev/null and b/content/news/041/rustacean-station.jpeg differ diff --git a/content/news/041/triverse.png b/content/news/041/triverse.png new file mode 100644 index 000000000..ba5070df7 Binary files /dev/null and b/content/news/041/triverse.png differ diff --git a/content/news/041/tut-gltf-anim-in-wgpu.jpg b/content/news/041/tut-gltf-anim-in-wgpu.jpg new file mode 100644 index 000000000..b22f32a75 Binary files /dev/null and b/content/news/041/tut-gltf-anim-in-wgpu.jpg differ