<!-- markdownlint-disable MD041 MD013 no-inline-html ul-indent --> # Newsletter 23: June 2021 ###### tags: `newsletter` **Editors**: @AngelOnFira, @17cupsofcoffee, and @ozkriff Another month has gone by, so it's time to put together the Rust Gamedev newsletter for May! If you want to help writing the newsletter: - Read [CONTRIBUTING.md](https://github.com/rust-gamedev/rust-gamedev.github.io/blob/source/CONTRIBUTING.md). - Grab some of the "🆓 **free**" sections by leaving a comment like "I'd like to work on {section\_name\_1} and {section\_name\_2}". - The links in brackets (like "1, 2, 3") are suggestions of links to include in the section. Feel free to add more! - Mentions in brackets (like "🆓 **free** (@ozkriff?)") are just a suggestion of who could pick the work up - it's not an obligation, and other people are welcome to take those sections. - Extra sections not listed in the plan are welcomed - just leave a comment and open a PR! - Write a short overview: - Use provided links as a starting point. - Try to maintain a consistent style with the rest of the newsletter and run markdownlint (lint errors will fail the CI build). - Insert line breaks ([softbreak](https://spec.commonmark.org/0.29/#soft-line-breaks)) at 80 chars, please. - Leave a comment or DM me on Discord if you have any issues. - Send a PR *to the `source` branch* (example: #336) - Mention this issue in your PR's description to link it all together. ------ As with the last few newsletters, we're trying to delegate the writing workload where we can - to quote @AngelOnFira from a few months ago: > We're also going to be transitioning to having authors or volunteers write about their own content, rather than the editing team doing it all at the end 💯 This means if you want to see your work in the newsletter, you have to write it yourself! If you're not able to write about your work, feel free to comment and I can assign it 🆓 free. We're working on taking some of the load off the editing team where we can with this. Best to keep this sustainable! > > Also, we want to make sure contributing to the newsletter feels open to anyone who wants to write a section about their project. If you have anything you can write about, just add a comment to this issue and I'll add it to the todo list 😄 ------ ## Current Schedule The soft deadline for all section PRs is the **4th of July**. PRs will usually be accepted as long as they are ready before the newsletter's release, but the earlier the better :) <!-- Review and release is planned on the ~~5th~~ **6th of July**. --> ------ ⚠️ The most important formatting/style rules from [CONTRIBUTING.md](https://github.com/rust-gamedev/rust-gamedev.github.io/blob/source/CONTRIBUTING.md): - Only one image (<300kb) or GIF (<2.5mb) before the text, with an optional caption and mandatory alt text for accessibility. - All the rendered text should be under 1000 characters (including spaces and punctuation) and under 6 paragraphs (without any subsections, etc). - No bold/italic/etc formatting - only links and one plain list without nesting per section (multiple lists are allowed if your project consists of multiple parts that aren't independent enough for their own sections). - Third-person perspective. - 80 characters per line and no other markdownlint warnings on CI. Please use these templates as a starting point: **Games/apps/libraries:** ```md ### [Game name] ![alt text](img) _optional image label_ [Game name] ([GitHub], [Discord], [Twitter]) by [@nickname] is... {short project description in one sentence}. {An overview of the recent updates with links to more details}. _Discussions: [/r/rust_gamedev](link), [Twitter](link), [etc](link)_ [Game name]: http://example.com ``` **Articles/blog posts/videos/etc:** ```md ### [Article name] ![alt text](img) _optional image label_ [@nickname] published an [article] about... {overview what the resource is about}. _Discussions: [/r/rust_gamedev](link), [Twiter](link), [etc](link)_ [Article name]: http://example.com ``` ## Current Structure & Status Below is a list of our current planned structure for the newsletter, and the status of each PR (which we'll try to keep updated). This is **not** an exhastive list - if you have your own project that you want to write about, just make a comment on this issue and open a PR! - [x] Rust GameDev Meetup - ✔️ done by @AngelOnFira in #711 - [ ] Game Updates - [x] Veloren ([1](https://veloren.net/devblog-125/)) - ✔️ done by @AngelOnFira in #703 - [x] Not Snake ([1](https://ramirezmike2.itch.io/not-snake)) - ✔️ done by @ozkriff in #715 - [x] The Process ([1](https://twitter.com/PlayTheProcess)) - ✔️ done by @setzer22 in #712 - [x] Open Combat ([1](https://youtube.com/watch?v=pxVgjBKXlIw), [2](https://github.com/buxx/Opencombat), [3](https://reddit.com/r/rust_gamedev/comments/nwoh80/i_started_my_rust_free_open_source_game)) - ✔️ done by @buxx in #678 - [x] GMTK Jam - The Hat Chooses The Wizard ([1](https://lostimmortal.itch.io/the-hat-chooses-the-wizard), [2](https://github.com/corwinkuiper/joinedtogether/)) - ✔️ done by @corwinkuiper in #688 - [x] GMTK Jam - Hyper Farmer ([1](https://wilsk.itch.io/hyper-farmer), [2](https://github.com/will-hart/cloud-surfer)) - ✔️ done by @will-hart in #696 - [x] GMTK Jam - sokoban-sokoban ([1](https://trouv.itch.io/sokoban-sokoban), [2](https://github.com/Trouv/sokoban-sokoban)) - ✔️ done by @ozkriff in #715 - [x] GMTK Jam - Space:CAKES ([1](https://noxim.itch.io/spacecakes)) - ✔️ done by @ozkriff in #715 - [x] Projectris ([1](https://github.com/bonsairobo/projectris)) - ✔️ done by @bonsairobo in #693 - [x] Dango ([1](https://github.com/ErnWong/dango-tribute), [2]( https://ernestwong.nz/dango-tribute/server)) - ✔️ done by @ErnWong in #691 - [ ] Harvest Hero Origins ([1](https://www.youtube.com/watch?v=PpV2E3Qpslk&ab_channel=GemdropGames)) - 🚧 WIP by @Bombfuse - [x] taileater ([1](https://szunami.itch.io/taileater), [2](https://discord.com/channels/691052431525675048/692648638823923732/859159217503862824)) - ✔️ done by @szunami in #680 - [x] battleship-rs ([1](https://github.com/deepu105/battleship-rs), [2](https://reddit.com/r/rust/comments/o9gmeu/i_built_a_terminal_battleship_game_in_rust)) - ✔️ done by @deepu105 in #686 - [x] Fish Game ([1](https://reddit.com/r/rust/comments/o93779/fish_fight_is_a_continuation_of_the_demo_project)) - ✔️ done by @not-fl3 in #708 - [x] Egregoria ([1](https://reddit.com/r/rust_gamedev/comments/o441uy/egregoria_devblog_9_3d_update_architecture)) - ✔️ done by @Uriopass in #683 - [x] Themengi ([1](https://youtube.com/watch?v=gtIphiK7tMs), [2](https://vgel.me/themengi/)) - ✔️ done by @vgel in #689 - [x] Weegames Web 0.2 ([1](https://reddit.com/r/rust_gamedev/comments/nz1jwv/weegames_web_020)) - ✔️ done by @yeahross0 in #698 - [ ] Garden ([1](https://twitter.com/epcc10/status/1401689232322830341)) - 🆓 **free** (@logicsoup?) - [ ] Realtime Raytracing with Nannou ([1](https://twitter.com/themindtree/status/1403387445748580359)) - 🆓 **free** (@mitchmindtree?) - [x] Flash - ✔️ done by @Im-Oab in #701 - [x] Way of Rhea - ✔️ done by @MasonRemaley in #709 - [x] Learning Material Updates - [x] Writing Bevy Retro's Renderer ([1](https://katharostech.com/post/writing-bevy-retros-renderer)) - ✔️ done by @zicklag in #700 - [x] Game Development With Rust - Beta 7 ([1](https://twitter.com/herberticus/status/1403038363947618304), [2](https://medium.com/pragmatic-programmers/game-development-with-rust-31147f7b6096)) - ✔️ done @TheBracket in #713 - [x] Getting Started With ECS Using Planck ECS ([1](https://jojolepro.com/blog/2021-06-01_getting_started_with_ecs/), [2](https://reddit.com/r/rust/comments/nq56e4/getting_started_with_ecs_using_planck_ecs_and_rust)) - ✔️ done by @ozkriff in #716 - [x] A Trig-less LoS for 2D Games ([1](https://basstabs.github.io/2d-line-of-sight), [2](https://reddit.com/r/rust_gamedev/comments/nx79kq/a_trigless_line_of_sight_algorithm_for_2d_games)) - ✔️ done by @basstabs in #687 - [x] How to make plugins system with Rust and WASM ([1](https://devblog.arcana.rs/how-to-make-plugins-system-with-rust-and-webassembly), [2](https://twitter.com/zakarum4/status/1399844860132200448)) - ✔️ done by @zakarumych in #714 - [x] Blightmud ([1](https://github.com/Blightmud/Blightmud), [2](https://twitter.com/LiquidityC/status/1407048051336925184)) - ✔️ done by @LiquidityC in #684 - [x] When to Rewrite - ✔️ done by @MasonRemaley in #709 - [ ] Engine Updates - [ ] Minigene ([1](https://jojolepro.com/blog/2021-05-31_minigene_and_the_future)) - 🆓 **free** (@jojolepro?) - [ ] Code the Classics Rust Port ([1](https://github.com/saveriomiroddi/Code-the-Classics-rust-port)) - 🆓 **free** (@saveriomiroddi?) - [x] rg3d ([1](https://twitter.com/DmitryNStepanov), [2](https://reddit.com/r/rust/comments/nxlz5d/announcing_rg3d_020)) - ✔️ done by @mrDIMAS in #706 - [x] thRustEngine GL WIP Experiment ([1](https://reddit.com/r/rust_gamedev/comments/nucqhv/wip_rust_gl_engine_experiment), [2](https://reddit.com/r/rust_gamedev/comments/ny9ojx/rust_gl_experiment_bit_more_progresss), [3](https://reddit.com/r/rust_gamedev/comments/nzgkj0/another_update), [4](https://reddit.com/r/rust_gamedev/comments/o267ka/update_placeholder_for_enemies_sound), [5]([https://www.reddit.com/r/rust\_gamedev/comments/obj38y/rust\_shooter\_another\_little_update/](https://reddit.com/r/rust_gamedev/comments/obj38y/rust_shooter_another_little_update) )) - ✔️ done by @experiment9123 in #702 - [x] Tooling Updates - [x] texture_generator v0.5 ([1](https://github.com/Orchaldir/texture_generator), [2](https://github.com/Orchaldir/texture_generator/releases/tag/v0.5.0), [3](https://reddit.com/r/rust_gamedev/comments/nz5ban/i_switched_my_tilemap_editor_to_iced)) - ✔️ done by @ozkriff in #716 - [x] Rusty Slider ([1](https://github.com/ollej/rusty-slider)) - ✔️ done by @ollej in #699 - [x] Sugarcubes ([1](https://henryksloan.github.io/sugarcubes/), [2](https://github.com/henryksloan/sugarcubes)) - ✔️ done by @henryksloan in #694 - [x] Graphite - ✔️ done by @Keavon in #705 - [ ] Library Updates - [ ] mlua v0.6 ([1](https://reddit.com/r/rust/comments/o5o3c1/mlua_v06_released_high_level_lua_5154)) - 🆓 **free** (@khvzak?) - [x] backroll-rs ([1](https://github.com/HouraiTeahouse/backroll-rs), [2](https://reddit.com/r/rust/comments/npnl1p/help_wanted_with_backrollrs), [3](https://crates.io/crates/bevy_backroll)) - ✔️ done by @gschup in #685 - [x] GGRS 0.1.0 - Rollback Networking in Rust! ([1](https://github.com/gschup/ggrs), [2](https://reddit.com/r/rust_gamedev/comments/o0d7ht/ggrs_010_rollback_networking_in_rust/)) - ✔️ done by @gschup in #685 - [x] CrystalOrb ([1](https://github.com/ErnWong/crystalorb)) - ✔️ done by @ErnWong in #691 - [x] glutin 0.27.0 - ✔️ done by @maroider in #679 - [x] erupt ([1](https://gitlab.com/Friz64/erupt/-/blob/main/CHANGELOG.md#0190182-2021-06-21)) - ✔️ done by @Friz64 in #681 - [x] Rafx ([1](https://twitter.com/aclysma/status/1408918328026963972)) - ✔️ done by @aclysma in #695 - [x] wgpu - ✔️ done by @kvark in #692 - [x] egui v0.13 ([1](https://twitter.com/ernerfeldt/status/1408129586030907392), [2](https://reddit.com/r/rust/comments/o76y9x/announcing_egui_013_the_simple_gui_library), [3](https://github.com/emilk/egui/blob/master/CHANGELOG.md#0130---2021-06-24---better-panels-plots-and-new-visual-style)) - ✔️ done by @emilk in #710 - [x] egui-tetra ([1](https://github.com/tesselode/egui-tetra)) - ✔️ done by @tesselode in #690 - [x] smooth-bevy-cameras ([1](https://github.com/bonsairobo/smooth-bevy-cameras)) - ✔️ done by @bonsairobo in #693 - [x] assets-manager 0.5 ([1](https://crates.io/crates/assets_manager)) - ✔️ done by @a1phyr in #704 - [ ] bevy_asset_loader v0.4 ([1](https://github.com/NiklasEi/bevy_asset_loader), [2](https://discord.com/channels/691052431525675048/692648638823923732/858345180016279582)) - 🆓 **free** (@NiklasEi?) - [ ] bevy_pixel_camera ([1](https://crates.io/crates/bevy_pixel_camera), [2](https://discord.com/channels/691052431525675048/692648638823923732/857587521298497537)) - 🆓 **free** (@drakmaniso?) - [x] bevy_config_cam ([1](https://github.com/BlackPhlox/bevy_config_cam)) - ✔️ done by BlackPhlox in #697 - [x] bevy_midi ([1](https://github.com/BlackPhlox/bevy_midi), [2](https://discord.com/channels/691052431525675048/692648638823923732/857177113923682304)) - ✔️ done by @BlackPhlox in #697 - [ ] bevy_ambisonic ([1](https://github.com/neosam/bevy_ambisonic), [2](https://discord.com/channels/691052431525675048/692648638823923732/855943363508961280)) - 🆓 **free** (@neosam?) - [ ] bevy_networking_turbulence ([1](https://crates.io/crates/bevy_networking_turbulence), [2](https://discord.com/channels/691052431525675048/692648638823923732/858290984773091348)) - 🆓 **free** (@smokku?) Final steps: - [x] Final review - ✔️ done by everyone - [x] Publish - ✔️ done by @ozkriff - [x] Post on /r/rust, /r/rust\_gamedev, /r/gamedev, URLO, twitter.com/rust\_gamedev -✔️ done by @ozkriff - [x] Add comment links - ✔️ done by @ozkriff - [x] Add a draft of the 24th newsletter - ✔️ done by @17cupsofcoffee <!-- - https://reddit.com/r/rust_gamedev/comments/o8dy0r/when_to_rewrite - nice article, but not rusty enough. include if other WotR updates will be included - https://reddit.com/r/rust/comments/o39xr0/rust_vs_c_for_game_development - the article seems to be removed by the author - https://github.com/bevyengine/bevy/discussions/2364 - doesn't make much sense to post it this early - https://reddit.com/r/rust/comments/o5p267/rust_is_the_most_wanted_language_by_godot_engine - an interesting piece of info but I'm not sure it's worth a sections by itself - ? --> <!-- 🚧 WIP by @seratonik 🆓 **free** (@chinedufn?) ✔️ done by @ozkriff -->