diff --git a/.github/newsletter-issue-template.md b/.github/newsletter-issue-template.md index aedc4a614..54b39bbc2 100644 --- a/.github/newsletter-issue-template.md +++ b/.github/newsletter-issue-template.md @@ -115,8 +115,10 @@ Please use these templates as a starting point: ```md ### [Game name] -![alt text](img) -_optional image label_ +{{ image_figure( + alt="alt text" + src="img" + caption="optional image label") }} [Game name] ([GitHub], [Discord], [Twitter]) by [@nickname] is... {short project description in one sentence}. @@ -133,8 +135,10 @@ _Discussions: [/r/rust_gamedev](link), [Twitter](link), [etc](link)_ ```md ### [Article name] -![alt text](img) -_optional image label_ +{{ image_figure( + alt="alt text" + src="img" + caption="optional image label") }} [@nickname] published an [article] about... {overview what the resource is about}. diff --git a/.github/newsletter-template.md b/.github/newsletter-template.md index c1095d486..2334fc568 100644 --- a/.github/newsletter-template.md +++ b/.github/newsletter-template.md @@ -50,8 +50,10 @@ Ideal section structure is: ``` ### [Title] -![image/GIF description](image link) -_image caption_ +{{ image_figure( + alt="image/GIF description" + src="image link" + caption="image caption") }} A paragraph or two with a summary and [useful links]. diff --git a/.markdownlint.json b/.markdownlint.json index f744ed8b9..2254eb4e0 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -11,6 +11,7 @@ "no-hard-tabs": false, "hr-style": false, "strong-style": false, + "no-bare-urls": false, "emphasis-style": false, "no-inline-html": { "allowed_elements": [ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 769186e3f..1c7adf748 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -53,8 +53,10 @@ your GitHub notifications for any further review comments from the editors. ```md ### [Game name] -![alt text](img) -_optional image label_ +{{ image_figure( + alt="alt text" + src="img" + caption="optional image label") }} [Game name] ([GitHub], [Discord], [Twitter]) by [@nickname] is... {short project description in one sentence}. @@ -71,8 +73,10 @@ _Discussions: [/r/rust_gamedev](link), [Twitter](link), [etc](link)_ ```md ### [Article name] -![alt text](img) -_optional image label_ +{{ image_figure( + alt="alt text" + src="img" + caption="optional image label") }} [@nickname] published an [article] about... {overview what the resource is about}. diff --git a/content/news/001/index.md b/content/news/001/index.md index 92b17a473..d4bc25734 100644 --- a/content/news/001/index.md +++ b/content/news/001/index.md @@ -115,8 +115,11 @@ Also, check out ### Way of Rhea [Trailer][rhea trailer] and [Steam Wishlist][rhea steam] Announced -[![Part of the trailer](way-of-rhea.gif)][rhea trailer] -_click on the GIF to see [the full trailer][rhea trailer]_ +{{ image_figure( + alt="Part of the trailer" + src="way-of-rhea.gif" + caption="click on the GIF to see [the full trailer](https://youtube.com/watch?v=VIzqlI-gbAY)", + link="https://youtube.com/watch?v=VIzqlI-gbAY") }} [A new trailer][rhea trailer] and the [Steam wishlist][rhea steam] were published for "Way of Rhea" by [Anthropic Studios]. @@ -520,8 +523,11 @@ by [Michael Fairley] was released: > Clear a path to get to the hole, eat some eggs along the way, > and make sure to press all the buttons. -[![Part of A snake's Tail's trailer](a-snakes-tail.gif)][snake trailer] -_click on the GIF to see [the full release trailer][snake trailer]_ +{{ image_figure( + alt="Part of A snake's Tail's trailer" + src="a-snakes-tail.gif" + caption="click on the GIF to see [the full release trailer](https://www.youtube.com/watch?v=23pQmEuueNw)", + link="https://www.youtube.com/watch?v=23pQmEuueNw") }} A few posts about the game and how it was developed: diff --git a/content/news/003/index.md b/content/news/003/index.md index 0e0cffeac..74851e5c5 100644 --- a/content/news/003/index.md +++ b/content/news/003/index.md @@ -523,8 +523,10 @@ Also, see this GameDev WG tracker/complaint issue: ### [RLSL][rlsl]: a Rust to SPIR-V Compiler -![RLSL code sample](rlsl-example.png) -_a simple fragment shader that renders a red circle (temporary syntax)_ +{{ image_figure( + alt="RLSL code sample" + src="rlsl-example.png" + caption="a simple fragment shader that renders a red circle (temporary syntax)") }} This month, [@MaikKlein_DEV] gave a talk at [The Khronos Group](https://www.khronos.org)'s meetup in Munich @@ -557,8 +559,10 @@ _Discussions: ### [gfx-rs v0.4][gfx-v0-4] -![sailor screenshot: vector terrain map and some basic UI](sailor.png) -_a screenshot from [Yatekii/sailor] - a wgpu-based sailing navigation application_ +{{ image_figure( + alt="sailor screenshot: vector terrain map and some basic UI" + src="sailor.png" + caption="a screenshot from [Yatekii/sailor](https://github.com/Yatekii/sailor) - a wgpu-based sailing navigation application") }} [gfx-rs v0.4 was released](https://reddit.com/r/rust/comments/dm89t2/gfxhal_version_04_release): major changes were described in [the last blog post](https://gfx-rs.github.io/2019/10/01/update.html), @@ -683,8 +687,11 @@ _Discussions: ### [cyclone-physics-rs] -[![cyclone physics demo](cyclone-physics-demo.gif)][cyclone-video-demo] -_a little demo of "particle" simulation_ +{{ image_figure( + alt="cyclone physics demo", + src="cyclone-physics-demo.gif", + caption='a little demo of "particle" simulation', + link="https://twitter.com/heyrutvik/status/1180072669250834432") }} [cyclone-physics-rs] by [@heyrutvik] a new WIP game physics engine based on the ["Game Physics Engine Development" book][cyclone-physics-book]. diff --git a/content/news/004/index.md b/content/news/004/index.md index d76f6a1b7..e97bf85aa 100644 --- a/content/news/004/index.md +++ b/content/news/004/index.md @@ -201,8 +201,11 @@ about the implementation of a drop table system to handle monster loot. ### [Recall Singularity: November Progress][recall-s-nov-text] -[![Demo of the basic ship collision](recall-sing.gif)][recall-s-nov-video] -_Demo of the basic ship collision._ +{{ image_figure( + alt="Demo of the basic ship collision" + src="recall-sing.gif" + caption="Demo of the basic ship collision.", + link="https://youtube.com/watch?v=AoPSAoqmTCk") }} [Tom Leys] is working on a "The Recall Singularity" game about designing autonomous factory ships and stations @@ -777,8 +780,11 @@ and highlight events from the past. --> Just an interesting Rust gamedev link from the past. :) -[![Pascal Penguin logo](penguin.png)][penguin-video] -_click to see the [release trailer][penguin-video]_ +{{ image_figure( + alt="Pascal Penguin logo" + src="penguin.png" + caption="click to see the [release trailer](https://youtube.com/watch?v=EgFr73AUwps)", + link="https://youtube.com/watch?v=EgFr73AUwps") }} ["Adventures of Pascal Penguin"][penguin-about] by [Matthew Michelotti](http://luduminis.com) diff --git a/content/news/005/index.md b/content/news/005/index.md index 334343f91..25e14d6d6 100644 --- a/content/news/005/index.md +++ b/content/news/005/index.md @@ -258,8 +258,11 @@ _Discussions: ### [Garden Devlog: December][garden-dec] -[![Playing with dirt](garden.gif)][garden-video] -_new smooth soil editing demo_ +{{ image_figure( + alt="Playing with dirt" + src="garden.gif" + caption="new smooth soil editing demo", + link="https://youtube.com/watch?v=xU93FGrk1d8") }} [Garden][garden] is an upcoming game centered around growing realistic plants. @@ -855,8 +858,11 @@ and highlight events from the past. --> Just an interesting Rust gamedev link from the past. :) -[![Modulator video](modulator_youtube.gif)][modulator-video] -_click to see [the tutorial video][modulator-video]_ +{{ image_figure( + alt="Modulator video" + src="modulator_youtube.gif" + caption="click to see [the tutorial video][modulator-video]", + link="modulator-video") }} In the November of 2018, [@AndreaPessino] (Founder/CTO of [Ready At Dawn] Studios) diff --git a/content/news/006/index.md b/content/news/006/index.md index 034502bc3..1c06e7994 100644 --- a/content/news/006/index.md +++ b/content/news/006/index.md @@ -838,8 +838,10 @@ Btw, [@resinten] continues working on a luminance-based game: ### [SPIR-Q][spir-q] v0.4.1 -![Example walking an entry point of a SPIR-V file](spir-q.png) -_Example walking an entry point of a SPIR-V file_ +{{ image_figure( + alt="Example walking an entry point of a SPIR-V file" + src="spir-q.png" + caption="Example walking an entry point of a SPIR-V file") }} [SPIR-Q][spir-q] is a lightweight [SPIR-V] query library. This month v0.2..v0.4.1 versions were released: diff --git a/content/news/007/index.md b/content/news/007/index.md index aa3722067..3d168d99a 100644 --- a/content/news/007/index.md +++ b/content/news/007/index.md @@ -177,8 +177,10 @@ This month an alpha version was published on itch: [check it out here][colony-it ### [Veloren][veloren] -![Rolling mountain landscape](veloren1.png) -_Rolling mountain landscape_ +{{ image_figure( + alt="Rolling mountain landscape" + src="veloren1.png" + caption="Rolling mountain landscape") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -214,8 +216,11 @@ Here is the February changelog: - Added music system ``` -[![veloren development](veloren3.gif)](https://youtube.com/watch?v=1ldHQfxCT24) -_1 year of Veloren development. Click for the full video!_ +{{ image_figure( + alt="veloren development" + src="veloren3.gif" + caption="1 year of Veloren development. Click for the full video!" + link="https://youtube.com/watch?v=1ldHQfxCT24") }} You can read more about some specific topics: @@ -243,8 +248,11 @@ February's full weekly devlogs: "This Week In Veloren...": ### [Oxidator][oxidator] -[![Gameplay demo: two giant tank armies clashing](oxidator-play.gif)][oxidator-video-play] -_gameplay demo (35000 units)_ +{{ image_figure( + alt="Gameplay demo: two giant tank armies clashing" + src="oxidator-play.gif" + caption="gameplay demo (35000 units)", + link="https://streamable.com/499j0") }} [Oxidator][oxidator] by [@Ruddle] is a real-time strategy game/engine written with Rust and WebGPU. @@ -270,11 +278,17 @@ Some of the current features: - Unit editor: basic editor with joint & mesh selection and parameter editing (speed, turn rate, health, etc); -[![Unit editor demo: move agent's parts](oxidator-unit-editor.gif)][oxidator-video-unit-editor] -_Demo of the unit editor_ +{{ image_figure( + alt="Unit editor demo: move agent's parts" + src="oxidator-unit-editor.gif" + caption="Demo of the unit editor", + link="https://streamable.com/ywr44") }} -[![Map editor demo: use pencil tool to instantly create a lake and mountains](oxidator-map-editor.gif)][oxidator-video-map-editor] -_Demo of the map editor_ +{{ image_figure( + alt="Map editor demo: use pencil tool to instantly create a lake and mountains" + src="oxidator-map-editor.gif" + caption="Demo of the map editor", + link="https://github.com/Ruddle/oxidator/blob/be4863e74/etc/map_editor.gif") }} [oxidator]: https://github.com/Ruddle/oxidator [@Ruddle]: https://github.com/Ruddle @@ -485,9 +499,11 @@ Tetra itself also received two small updates recently: ### [Akigi][akigi] -![High detail terrain chunk with PRR](akigi.png) -_Sampling a heightmap in the vertex shader and also computing the normal, -tangent and bitangent vectors in the vertex shader._ +{{ image_figure( + alt="High detail terrain chunk with PRR" + src="akigi.png" + caption="Sampling a heightmap in the vertex shader and also computing the normal, +tangent and bitangent vectors in the vertex shader.") }} [Akigi][akigi] is a multiplayer online world where most believe that humans are inferior. @@ -590,8 +606,10 @@ Check them out in the [latest winter devlog][grumpy_visitors]. ### [Make China Great Again][china-great] -![cities, planes and keys](china.png) -_Turn back planes to the port, by clicking right keys to the virus beat._ +{{ image_figure( + alt="cities, planes and keys" + src="china.png" + caption="Turn back planes to the port, by clicking right keys to the virus beat.") }} [Make China Great Again][china-great] ([source][china-great-src]) by [@PsichiX] is a GlobalGameJam game written using [Oxygengine]. @@ -633,8 +651,10 @@ dependency updates, bugfixes and performance optimizations. ### [Recall Singularity: February Progress][recall-s-feb] -![Harvesting and refining some Gold](recall-singularity.png) -_Harvesting and refining some Gold._ +{{ image_figure( + alt="Harvesting and refining some Gold" + src="recall-singularity.png" + caption="Harvesting and refining some Gold.") }} [Tom Leys] is working on a "The Recall Singularity" game about designing autonomous factory ships and stations. @@ -905,8 +925,10 @@ A showcase game is [being developed](https://github.com/lcnr/akari) with crow. ### miniquad: ["Rust 2D Engine 2020 Roadmap"][fedor-road] -![mainloop async/await experiment in macroquad](miniquad-sample.png) -_mainloop async/await experiment in macroquad_ +{{ image_figure( + alt="mainloop async/await experiment in macroquad" + src="miniquad-sample.png" + caption="mainloop async/await experiment in macroquad") }} [miniquad] by [@fedor_games] is a safe cross-platform rendering library focused on portability and low-end platforms support. diff --git a/content/news/008/index.md b/content/news/008/index.md index 29cd5402e..0af92e25e 100644 --- a/content/news/008/index.md +++ b/content/news/008/index.md @@ -334,8 +334,10 @@ Some of this month's updates: ### [Veloren][veloren] -![LoD](veloren1.png) -_Work on Level of Detail_ +{{ image_figure( + alt="LoD" + src="veloren1.png" + caption="Work on Level of Detail") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -433,8 +435,10 @@ Main updates: ### gfx-rs and wgpu news -![Deeper game](deeper.png) -_[deeper] uses wgpu for rendering_ +{{ image_figure( + alt="Deeper game" + src="deeper.png" + caption="[deeper](https://github.com/arnfaldur/deeper) uses wgpu for rendering") }} [gfx-hal-0.5](https://github.com/gfx-rs/gfx/) was released! Improvements done in March: @@ -517,8 +521,10 @@ Some of this month's updates: ### [Nannou v0.13][nannou-post] -![Daily Sketch 0114 by Mactuitui](nannou.png) -_Daily Sketch 0114 by Mactuitui_ +{{ image_figure( + alt="Daily Sketch 0114 by Mactuitui" + src="nannou.png" + caption="Daily Sketch 0114 by Mactuitui") }} [Nannou][nannou] is a creative coding framework that aims to make it easy for artists to express themselves with simple, fast, reliable code. diff --git a/content/news/009/index.md b/content/news/009/index.md index 8df6617c1..a3bb90147 100644 --- a/content/news/009/index.md +++ b/content/news/009/index.md @@ -247,8 +247,10 @@ Follow [@seratonik] on Twitter for updates. ### [Akigi][akigi] -![shadows demo](akigi-shadows.jpeg) -_new shadows_ +{{ image_figure( + alt="shadows demo" + src="akigi-shadows.jpeg" + caption="new shadows") }} > [Akigi][akigi] is a multiplayer online world where humans > aren't the only intelligent animals. @@ -479,8 +481,10 @@ Here's a roundup of some of them: ### [Veloren][veloren] -![Buildings](veloren1.png) -_Early procedural building generation_ +{{ image_figure( + alt="Buildings" + src="veloren1.png" + caption="Early procedural building generation") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -517,8 +521,10 @@ Here is the April changelog: - You can start the game by pressing "enter" from the character selection menu ``` -![Hanging out](veloren2.png) -_Early procedural building generation_ +{{ image_figure( + alt="Hanging out" + src="veloren2.png" + caption="Early procedural building generation") }} You can read more about some specific topics from April: @@ -632,9 +638,11 @@ explaining why they've chosen Rust for their project's backend. ### [Symmetric Matrices & Triangle Numbers][matrices-post] -![an example of a multi-layered game level](rhea-player-orb.jpeg) -_The pink orb should not collide with the player, -but it should collide with the ground._ +{{ image_figure( + alt="an example of a multi-layered game level" + src="rhea-player-orb.jpeg" + caption="The pink orb should not collide with the player, + but it should collide with the ground.") }} [Anthropic Studios][anthropic] has [shared a post][matrices-post] about implementing a layer system to ["Way of Rhea"'s][rhea] physics engine @@ -738,8 +746,10 @@ and additional information about contributing are available on the [github repos ### `gfx-rs` and `wgpu` News -![hectic screenshot: graveyard and vampires](hectic.png) -_[hectic-rs] - Rust/wgpu/specs re-write of hectic by [@expenses]_ +{{ image_figure( + alt="hectic screenshot: graveyard and vampires" + src="hectic.png" + caption="[hectic-rs](https://github.com/expenses/hectic-rs) - Rust/wgpu/specs re-write of hectic by [@expenses](https://github.com/expenses)") }} wgpu-0.5 release happened! See the [changelog][wgpu-0-5]. It's based on `gfx-hal-0.5` (which was covered in the [March newsletter][gfx-march]), @@ -883,8 +893,10 @@ in an eternally sprawling office complex. ### [miniquad] -![miniquad logo](miniquad_logo.png) -_`miniquad` project got a logo_ +{{ image_figure( + alt="miniquad logo" + src="miniquad_logo.png" + caption="`miniquad` project got a logo") }} [miniquad] is a safe and cross-platform rendering library focused on portability and low-end platforms support. @@ -1124,8 +1136,10 @@ and highlight events from the past. --> Just an interesting Rust gamedev link from the past. :) -![example](valora-example.jpeg) -_"dead end" by turnage, 2019_ +{{ image_figure( + alt="example" + src="valora-example.jpeg" + caption=""dead end" by turnage, 2019") }} A few months ago a generative art library ["valora"][valora-src] was released by [@turnage]. diff --git a/content/news/010/index.md b/content/news/010/index.md index d26b3b87d..241bfb18f 100644 --- a/content/news/010/index.md +++ b/content/news/010/index.md @@ -64,8 +64,10 @@ If needed, a section can be split into subsections with a "------" delimiter. ### [Veloren][veloren] -![Buildings](veloren1.png) -_The new repo banner_ +{{ image_figure( + alt="Buildings" + src="veloren1.png" + caption="The new repo banner") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -79,8 +81,11 @@ release as well. Veloren also now has an [Open Collective account][veloren-opencollective], and you can donate towards our infrastructure costs. GamingOnLinux [wrote an article][gamingonlinux] on Veloren's development. -[![0.6 release trailer](veloren_trailer.gif)](https://www.youtube.com/watch?v=kjDFVgWYMd4) -_0.6 release trailer. Click for the full video!_ +{{ image_figure( + alt="0.6 release trailer" + src="veloren_trailer.gif" + caption="0.6 release trailer. Click for the full video!" + link="https://www.youtube.com/watch?v=kjDFVgWYMd4") }} Here is the May changelog: @@ -113,8 +118,10 @@ of 0.7, and what they wanted to achieve: > clashing together. I want to be able to add people to my combat party and > interact with the game UI to do this. -![Welcome to Veloren](veloren2.png) -_Welcome to Veloren! From the 0.6 release party_ +{{ image_figure( + alt="Welcome to Veloren" + src="veloren2.png" + caption="Welcome to Veloren! From the 0.6 release party") }} You can read more about some specific topics from May: @@ -213,8 +220,11 @@ Some of the updates: ### [Sandbox] -[![Sandbox gameplay demo](sandbox.jpeg)](https://streamable.com/0bhbol#) -_click to see a gameplay demo_ +{{ image_figure( + alt="Sandbox gameplay demo" + src="sandbox.jpeg" + caption="click to see a gameplay demo" + link="https://streamable.com/0bhbol#") }} [Sandbox] is a falling sand game by JMS55 that provides a variety of fun particle types to place, and then you get to watch the resulting interactions! @@ -320,8 +330,11 @@ Follow [@seratonik] on Twitter for updates. ### [Crate Before Attack][cratebeforeattack-site] -[![screenshot: decision tree and goal distance map in the background](crate_before_attack.png)][cratebeforeattack-site] -_Decision tree and goal distance map in the background_ +{{ image_figure( + alt="screenshot: decision tree and goal distance map in the background" + src="crate_before_attack.png" + caption="Decision tree and goal distance map in the background", + link="https://cratebeforeattack.com") }} [Crate Before Attack][cratebeforeattack-site] by [koalefant (@CrateAttack)][@CrateAttack] is a realtime/turn-based multiplayer game where frogs combat their friends @@ -386,8 +399,10 @@ the first time. Be sure to check out the [GitHub repo][digescape-github]. ### [Akigi][akigi] -![cat model](akigi1.png) -_Completed cat model with rigging_ +{{ image_figure( + alt="cat model" + src="akigi1.png" + caption="Completed cat model with rigging") }} > [Akigi][akigi] is a magical multiplayer online world where humans aren't the > only intelligent animals. Akigi is a solo project, and the developer hopes to @@ -420,8 +435,10 @@ Full devlogs: ### Nox Futura: Rust Edition -![worldgen menu](nox-f.png) -_Worldgen menu_ +{{ image_figure( + alt="worldgen menu" + src="nox-f.png" + caption="Worldgen menu") }} [Herbert Wolverson][thebracket] (the author of [bracket-lib] and [the Rust Roguelike Tutorial][rl-book]) @@ -639,8 +656,11 @@ _Discussions: ### NodeFX -[![NodeFX](nodefx.png)][NodeFXTweet] -_Click the image to see the animated version_ +{{ image_figure( + alt="NodeFX" + src="nodefx.png" + caption="Click the image to see the animated version", + link="https://twitter.com/MrVallentin/status/1256805858022998016") }} Project "NodeFX" by [Christian Vallentin (@MrVallentin)][@MrVallentin] is an unnamed node-based tool for creating GLSL shaders in real-time, diff --git a/content/news/011/index.md b/content/news/011/index.md index 60d2148ec..7bb64bd71 100644 --- a/content/news/011/index.md +++ b/content/news/011/index.md @@ -93,8 +93,11 @@ Also, participants are encouraged to ### [Way of Rhea][rhea-site] -[![Way of Rhea Trailer](way-of-rhea.jpeg)][rhea-trailer] -_Click to see the latest version of the game's trailer_ +{{ image_figure( + alt="Way of Rhea Trailer" + src="way-of-rhea.jpeg" + caption="Click to see the latest version of the game's trailer", + link="https://youtube.com/watch?v=eVrbZss_B3g") }} [Way of Rhea][rhea-site] ([steam][rhea-steam]) is an upcoming puzzle platformer that takes place in a world @@ -129,8 +132,10 @@ or [subscribe to its newsletter][rhea-newsletter]. ### [A/B Street][abstreet] - Adjust Traffic Patterns in Real Cities -![Measuring the effects of changes](abstreet-evaluating-impacts.gif) -_Measuring the effects of some changes_ +{{ image_figure( + alt="Measuring the effects of changes" + src="abstreet-evaluating-impacts.gif" + caption="Measuring the effects of some changes") }} [A/B Street][abstreet] is a traffic simulation game exploring how small changes to roads affect cyclists, transit users, pedestrians, and drivers. @@ -160,8 +165,11 @@ A/B Street uses a [custom GUI library][ezgui], leveraging `glium`, `usvg`, and ### [Crate Before Attack][cba-site] -[![In-game visual scripting prototype](crate_before_attack.gif)][cba-youtube-scripting] -_In-game visual scripting prototype_ +{{ image_figure( + alt="In-game visual scripting prototype" + src="crate_before_attack.gif" + caption="In-game visual scripting prototype", + link="https://youtu.be/LLAc9_cOR9o") }} [Crate Before Attack][cba-site] by [koalefant (@CrateAttack)][@CrateAttack] is a skill-based grappling hook multiplayer game where frogs combat their friends @@ -211,8 +219,10 @@ Some of the updates from [the June devlog][garden-devlog]: ### [Veloren][veloren] -![Animation improvements](veloren-wolf.gif) -_Animation improvements_ +{{ image_figure( + alt="Animation improvements" + src="veloren-wolf.gif" + caption="Animation improvements") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -281,8 +291,10 @@ Also, check out [a talk about open source and Veloren][veloren-talk]: ### [Zero to Game][zerotoga.me] -![ships with greater thrust explode](zerotogame-destruction.gif) -_The initial destruction prototype applied across different thrust levels_ +{{ image_figure( + alt="ships with greater thrust explode" + src="zerotogame-destruction.gif" + caption="The initial destruction prototype applied across different thrust levels") }} [Zero to Game][zerotoga.me] is a project that documents the creation of an independent space game from zero. @@ -379,8 +391,10 @@ Web, Mac, Linux, Windows (untested) & possible even iOS & Android. ### [Animal Chess][AnimalChess] -![Part of the game map](animal-chess.jpeg) -_Part of the game map_ +{{ image_figure( + alt="Part of the game map" + src="animal-chess.jpeg" + caption="Part of the game map") }} [Animal Fight Chess][AnimalChess] (斗兽棋, "Doe Show Chee") by [@netcan] is a Rust implementation of a popular Chinese game. @@ -463,8 +477,11 @@ Two devlogs were released this month: ### [Weegames][weegames-itch] -[![Weegames](weegames.jpg)][weegames-video] -_Click to see [a demo video][weegames-video]_ +{{ image_figure( + alt="Weegames" + src="weegames.jpg" + caption="Click to see [a demo video](https://youtube.com/watch?v=A_GqhZ_7EIw)", + link="https://youtube.com/watch?v=A_GqhZ_7EIw") }} [Weegames][weegames-itch] is a fast-paced minigame collection. There are 23 odd games all made using free images and sounds. @@ -502,8 +519,11 @@ The demo's source code [could be found here][hypervis]. ### [Boids in Rust][rboids-post-1] -[![Boids demo](rboids-video.jpeg)][rboids-video] -_Click to watch [the video demo][rboids-video]_ +{{ image_figure( + alt="Boids demo" + src="rboids-video.jpeg" + caption="Click to watch [the video demo](https://drive.google.com/file/d/1ri4x-jCX8SA9oX8OqDIKtXhYIrEKlGjO/view)", + link="https://drive.google.com/file/d/1ri4x-jCX8SA9oX8OqDIKtXhYIrEKlGjO/view") }} [@twitu] has published a three-part blog series about simulating a group of virtual agents (boids) @@ -624,8 +644,10 @@ seemed like now is the time to address such issues in the API. ### [This Month in Mun][mun-june] -![Language Server Diagnostics in action](mun-languageserver.gif) -_Mun language server diagnostics in action_ +{{ image_figure( + alt="Language Server Diagnostics in action" + src="mun-languageserver.gif" + caption="Mun language server diagnostics in action") }} [Mun] is a scripting language for gamedev focused on quick iteration times that is written in Rust. diff --git a/content/news/012/index.md b/content/news/012/index.md index 6f23306dd..bd2b863b6 100644 --- a/content/news/012/index.md +++ b/content/news/012/index.md @@ -64,8 +64,11 @@ If needed, a section can be split into subsections with a "------" delimiter. ### [ochre][4k-post] - 4K Intro -[![Youtube preview: mountains & spheres](4k-into-youtube.jpeg)][4k-video] -_Click to [watch the demo on Youtube][4k-video]._ +{{ image_figure( + alt="Youtube preview: mountains & spheres" + src="4k-into-youtube.jpeg" + caption="Click to [watch the demo on Youtube](https://youtube.com/watch?v=SIkkYRQ07tU).", + link="https://youtube.com/watch?v=SIkkYRQ07tU") }} Jani Peltonen has recently released a [4K intro][4k-src] which is completely written in Rust and GLSL @@ -116,8 +119,11 @@ _Discussions: ### [Crate Before Attack][cba-site] -[![Golf Club in Crate Before Attack](crate-before-attack.gif)][cba-site] -_A new weapon: the Golf Club_ +{{ image_figure( + alt="Golf Club in Crate Before Attack" + src="crate-before-attack.gif" + caption="A new weapon: the Golf Club", + link="https://cratebeforeattack.com") }} [Crate Before Attack][cba-site] by [koalefant (@CrateAttack)][@CrateAttack] is a skill-based grappling hook multiplayer game where frogs combat their friends @@ -471,8 +477,11 @@ The game is in an early stage of development, ### [On FPS Game Progress \#2][on-fps-game-2] -[![fps-game-screenshot](fps-game-2.jpeg)][on-fps-game-2-youtube] -_Click to watch [footage from the game's current state][on-fps-game-2-youtube]._ +{{ image_figure( + alt="fps-game-screenshot" + src="fps-game-2.jpeg" + caption="Click to watch [footage from the game's current state](https://youtu.be/NIJNgr9zeXk).", + link="https://youtu.be/NIJNgr9zeXk") }} On this update, [@pingFromHeaven] talks about the lighting implementation that sets the tone for the game, how Rust is good at shortening the debugging @@ -509,8 +518,10 @@ Some of the recent updates: ### [Veloren][veloren] -![Sunrise](veloren-sunrise.gif) -_Sunrise_ +{{ image_figure( + alt="Sunrise" + src="veloren-sunrise.gif" + caption="Sunrise") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -524,8 +535,10 @@ fast quadruped movement. Particle systems are being implemented and optimized. A crafting GUI has been added. Translations have stabilized significantly, and there is a framework for translators to know what needs to be done. -![Fire particles](veloren-fire.gif) -_Progress on the particle system_ +{{ image_figure( + alt="Fire particles" + src="veloren-fire.gif" + caption="Progress on the particle system") }} You can read more about some specific topics from July: @@ -549,8 +562,10 @@ In August, 0.7 will be released. Work will continue on castle and cave generation. The inaugural episode of the Rust Game Dev podcast will be released, which features an interview by Veloren developers. -![Quadrupeds](veloren-quadrupeds.png) -_Quadruped overhaul_ +{{ image_figure( + alt="Quadrupeds" + src="veloren-quadrupeds.png" + caption="Quadruped overhaul") }} [veloren]: https://veloren.net @@ -599,8 +614,11 @@ read the book at [sokoban.iolivia.me][sokoban_book]. ### [Make Pong with Rust][tantan-video] -[![youtube preview](video-pong-tutorial.jpeg)][tantan-video] -_Click to [watch the tutorial][tantan-video]._ +{{ image_figure( + alt="youtube preview" + src="video-pong-tutorial.jpeg" + caption="Click to [watch the tutorial][tantan-video].", + link="tantan-video") }} [TanTan] released a [video tutorial][tantan-video] that guides you through all the step of making a pong game in Rust @@ -638,8 +656,11 @@ The full article is available [here][dod]. ### ["Rust'N'Games" Talk][rust-n-games] -[![youtube preview: a slide with Tower Rangers game](rust-n-games-youtube.jpeg)][rust-n-games] -_Click to [watch the talk][rust-n-games]._ +{{ image_figure( + alt="youtube preview: a slide with Tower Rangers game" + src="rust-n-games-youtube.jpeg" + caption="Click to [watch the talk](https://youtu.be/0Bj-5C2Zfqs?t=1404).", + link="https://youtu.be/0Bj-5C2Zfqs?t=1404") }} During the recent ["Rust and Tell"][rust-n-tell] online event [Stephan @extrawurst Dilly][@extrawurst] gave a ["Rust'N'Games" talk][rust-n-games] @@ -810,8 +831,10 @@ Linux, macOS and Windows! ### [wgpu][wgpu-site] -![procgen dynamic "grass field"](tuitui-grass-field.jpeg) -_[@MacTuitui]'s everyday [nannou] experiment #1274_ +{{ image_figure( + alt='procgen dynamic "grass field"' + src="tuitui-grass-field.jpeg" + caption="[@MacTuitui](https://twitter.com/MacTuitui)'s everyday [nannou](https://nannou.cc) experiment #1274") }} The work is ongoing to validate all the incoming commands and guarantee API safety. Special thanks to [@GabrielMajeri] for helping to convert assertions @@ -931,8 +954,11 @@ You can follow progress on [GitHub][graphene] or on [Twitter][apoorvaj]. ### Vulkan Renderer (Name TBD) -[![Vulkan renderer on iOS prototype](vulkan-renderer-prototype.jpeg)][vulkan-renderer-prototype-video] -_Click to watch [the video demo][vulkan-renderer-prototype-video] running on iOS._ +{{ image_figure( + alt="Vulkan renderer on iOS prototype" + src="vulkan-renderer-prototype.jpeg" + caption="Click to watch [the video demo][vulkan-renderer-prototype-video] running on iOS.", + link="vulkan-renderer-prototype-video") }} [@aclysma] published a [new vulkan-based renderer][renderer-prototype] that uses [atelier-assets] to load 3D scenes exported from blender. @@ -1089,8 +1115,11 @@ and highlight events from the past. --> Just an interesting Rust gamedev link from the past. :) -[![youtube preview](shar-youtube.jpeg)][shar-trailer] -_Click to watch [SHAR's Greenlight trailer][shar-trailer]_ +{{ image_figure( + alt="youtube preview" + src="shar-youtube.jpeg" + caption="Click to watch [SHAR's Greenlight trailer][shar-trailer]", + link="shar-trailer") }} [SHAR][shar-itch] (Russian "Шар" - ball) by [@fedor_games] (author of [miniquad]/[macroquad]) is a 3rd-person online action game that aims to create unique experience diff --git a/content/news/013/index.md b/content/news/013/index.md index 2ef42fbee..822545c21 100644 --- a/content/news/013/index.md +++ b/content/news/013/index.md @@ -113,8 +113,11 @@ for you to listen and subscribe: ### [Crate Before Attack][cba-site] -[![Camera debugging in Crate Before Attack](crate-before-attack.jpeg)][cba-site] -_Debugging camera motion: highlighted areas are points of interest_ +{{ image_figure( + alt="Camera debugging in Crate Before Attack" + src="crate-before-attack.jpeg" + caption="Debugging camera motion: highlighted areas are points of interest", + link="https://cratebeforeattack.com") }} [Crate Before Attack][cba-site] by [koalefant (@CrateAttack)][@CrateAttack] is a skill-based multiplayer game where frogs combat their friends @@ -144,8 +147,10 @@ More details are in [August DevLog-entry][cba-august-update]. ### [Veloren][veloren] -![Landscape](veloren-landscape1.jpeg) -_Landscape with new LoD and lighting_ +{{ image_figure( + alt="Landscape" + src="veloren-landscape1.jpeg" + caption="Landscape with new LoD and lighting") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -163,8 +168,10 @@ UX front. Animations for movement and combat were added and improved. Work continued on particle systems, which have been added to Veloren in places like campfires, fireworks, and weapons. -![Healing sceptre](veloren-sceptre.gif) -_Healing sceptre with the new particle system_ +{{ image_figure( + alt="Healing sceptre" + src="veloren-sceptre.gif" + caption="Healing sceptre with the new particle system") }} You can read more about some specific topics from August: @@ -262,8 +269,11 @@ It can be played in the browser or downloaded at [itch.io][Cary]. ### [Way of Rhea] -[![Anthropic's virtual booth at Play NYC](way-of-rhea-play-nyc.png)][Way of Rhea] -_Anthropic's virtual booth at [Play NYC]_ +{{ image_figure( + alt="Anthropic's virtual booth at Play NYC" + src="way-of-rhea-play-nyc.png" + caption="Anthropic's virtual booth at [Play NYC](https://www.play-nyc.com/)", + link="https://store.steampowered.com/app/1110620/Way_of_Rhea/") }} [Way of Rhea] is a puzzle platformer that takes place in a world where you can only interact with items that match your current color. @@ -351,8 +361,11 @@ Chillscapes is written using an early-in-development 2d engine, ### [Dwarf Seeks Fortune][dsf-github] -[![Dwarf Seeks Fortune](dwarf_seeks_fortune.png)][dsf-github] -_Collect all keys to unlock the door to the next level_ +{{ image_figure( + alt="Dwarf Seeks Fortune" + src="dwarf_seeks_fortune.png" + caption="Collect all keys to unlock the door to the next level", + link="https://github.com/amethyst/dwarf_seeks_fortune") }} [Dwarf Seeks Fortune][dsf-github] is a puzzle-platformer made with the Amethyst game engine. Its developer, Jazarro, has partnered with the Amethyst organization @@ -396,8 +409,11 @@ Full devlogs: ### [SIMple Physics][simple-physics-site] -[![SIMple Mechanics wave preset](simple-physics-wave.gif)][simple-physics-gifs] -_One of SIMple Mechanic's Lua presets, a colorful wave of bouncing circles_ +{{ image_figure( + alt="SIMple Mechanics wave preset" + src="simple-physics-wave.gif" + caption="One of SIMple Mechanic's Lua presets, a colorful wave of bouncing circles", + link="https://mkhan45.github.io/SIMple-Physics/posts/Gifs/") }} [SIMple Physics][simple-physics-site] by [@mkhan45] is a set of educational physics simulators meant to help students and teachers conduct labs without expensive equipment @@ -443,8 +459,11 @@ work with graphics in Rust using [SDL2][sdl2] library. ### [Beginning Game Development with Amethyst][rustconf-talk-video] -[![youtube preview](rustconf-amethyst-talk.png)][rustconf-talk-video] -_Click to [watch the talk][rustconf-talk-video]_ +{{ image_figure( + alt="youtube preview" + src="rustconf-amethyst-talk.png" + caption="Click to [watch the talk](https://www.youtube.com/watch?v=GFi_EdS_s_c)", + link="https://www.youtube.com/watch?v=GFi_EdS_s_c") }} Getting started with Rust + gamedev can be intimidating. At [RustConf 2020][rust-conf-2020], [Micah Tigley] gave a talk about their experience @@ -515,8 +534,10 @@ game development are planned. ### [ecs_bench_suite] -![Summary results table](ecs-bench.png) -_The full benchmark report is available [here][ecs_report]_ +{{ image_figure( + alt="Summary results table" + src="ecs-bench.png" + caption="The full benchmark report is available [here](https://rust-gamedev.github.io/ecs_bench_suite/target/criterion/report/index.html)") }} This month [@TomGillen] (author of the [Legion][legion] ECS) released [ecs_bench_suite] - a suite of benchmarks designed to test and compare @@ -759,8 +780,10 @@ also built. ### [gfx-rs][gfx-repo] and [wgpu][wgpu-site] -![wgpu-rs water](wgpu-water.gif) -_wgpu-rs's [water example][wgpu-water]_ +{{ image_figure( + alt="wgpu-rs water" + src="wgpu-water.gif" + caption="wgpu-rs's [water example](https://github.com/gfx-rs/wgpu-rs/tree/master/examples/water)") }} gfx-rs project and wgpu ecosystem have observed the release of 0.6 versions! 🎉 @@ -1171,8 +1194,11 @@ The collected profile data can be viewed ingame with [imgui-rs]. ### [Optick][optick] Profiler -[![A screenshot from the video](optick-video.jpg)][optic-video] -_Click to watch a [video tutorial / features overview][optic-video]_ +{{ image_figure( + alt="A screenshot from the video" + src="optick-video.jpg" + caption="Click to watch a [video tutorial / features overview](https://youtube.com/watch?v=p57TV5342fo)", + link="https://youtube.com/watch?v=p57TV5342fo") }} [Optick][optick] by [@bombomby] is a lightweight C++ profiler for games that provides access for all the necessary tools required for diff --git a/content/news/014/index.md b/content/news/014/index.md index a61603aa5..b34c86bba 100644 --- a/content/news/014/index.md +++ b/content/news/014/index.md @@ -62,8 +62,10 @@ If needed, a section can be split into subsections with a "------" delimiter. ### [Veloren][veloren] -![Landscape](veloren_river.png) -_Deer by the riverside_ +{{ image_figure( + alt="Landscape" + src="veloren_river.png" + caption="Deer by the riverside") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -100,8 +102,10 @@ September's full weekly devlogs: "This Week In Veloren...": [#86](https://veloren.net/devblog-86), [#87](https://veloren.net/devblog-87). -![Healing sceptre](veloren_night.png) -_A reprise from hunting at night_ +{{ image_figure( + alt="Healing sceptre" + src="veloren_night.png" + caption="A reprise from hunting at night") }} In October, Veloren will keep pushing towards more scalable infrastructure. Tests are happening to move towards a Kubernetes cluster to manage more @@ -205,8 +209,10 @@ hot-code reload of building rules in the running game. ### Recall Singularity -![Demo of the basic ship collision](recall_singularity.png) -_A ray-traced selection of modules_ +{{ image_figure( + alt="Demo of the basic ship collision" + src="recall_singularity.png" + caption="A ray-traced selection of modules") }} The Recall Singularity is a game about designing autonomous factory ships and stations created by [Tom Leys]. @@ -322,8 +328,10 @@ furnitures, collect coins, and fight lava/fire based enemies with your water gun ### [Zemeroth][zemeroth] -![Summoner imps throw a swordsman around](zemeroth_chain.gif) -_Be careful with chained reaction attacks!_ +{{ image_figure( + alt="Summoner imps throw a swordsman around" + src="zemeroth_chain.gif" + caption="Be careful with chained reaction attacks!") }} [Zemeroth][zemeroth] by [@ozkriff] is a minimalistic 2D turn-based tactical game. Some of the recent updates: @@ -368,8 +376,10 @@ Full devlogs: ### [BUGOUT] -![Play Go against AI and friends on the web](BUGOUT.jpg) -_Playing KataGo AI in 9x9_ +{{ image_figure( + alt="Play Go against AI and friends on the web" + src="BUGOUT.jpg" + caption="Playing KataGo AI in 9x9") }} [BUGOUT] is a web application which allows you to play Go/Baduk/Weiqi against a leading AI ([KataGo]). @@ -449,8 +459,10 @@ Both developers wrote about the work and their experiences developing space_shoo ### [So You Want to Live-Reload Rust][fasterthanlime-post] -![cool bear with glasses](cool-bear.png) -_Cool bear_ +{{ image_figure( + alt="cool bear with glasses" + src="cool-bear.png" + caption="Cool bear") }} [@fasterthanlime] published a giant blog post ["So you want to live-reload Rust"][fasterthanlime-post] @@ -490,8 +502,10 @@ Also, the whole tutorial [was upgraded to WGPU v0.6][learn-wgpu-upgrade]. ### [Is It Easy to Draw a Line?][Lines] -![hexagonal strategy map with region borders](lines_hexstrat.jpeg) -_Example of result chains._ +{{ image_figure( + alt="hexagonal strategy map with region borders" + src="lines_hexstrat.jpeg" + caption="Example of result chains.") }} A small note by [@VladZhukov0] about drawing lines and chains with signed distance fields. @@ -566,8 +580,11 @@ The source code [can be found here][bevy-flappy-src]. ### [Real-Time Global Illumination in WGPU][gi-post] -[![diff-gi-gif](diff-gi.gif)][gi-post] -_Infinite light bounces in Cornell Box_ +{{ image_figure( + alt="diff-gi-gif" + src="diff-gi.gif" + caption="Infinite light bounces in Cornell Box", + link="https://reddit.com/r/rust_gamedev/comments/ixocl2/real_time_diffuse_global_illumination") }} [DI2edd] shared his [real-time diffuse global illumination demo on /r/rust_gamedev][gi-post]. It's written in 100% Rust and uses WGPU for graphics, proving that the API @@ -864,8 +881,11 @@ The book should be going into early access/beta in time for the next newsletter. ### [macroquad] -[![quadgames](quadgames.gif)][sponsors] -_Games built with miniquad/macroquad._ +{{ image_figure( + alt="quadgames" + src="quadgames.gif" + caption="Games built with miniquad/macroquad.", + link="https://github.com/sponsors/not-fl3") }} [macroquad] by [@fedor_games] is a cross-platform (Windows/Linux/macOS/Android/iOS/WASM) @@ -991,8 +1011,11 @@ _Discussions: ### [rg3d][rg3d] -[![a scene with lightning and a hi-poly character model](rg3d.jpg)][rg3d_twitter] -_Click to watch a [video demo of one of the new examples][rg3d_twit]._ +{{ image_figure( + alt="a scene with lightning and a hi-poly character model" + src="rg3d.jpg" + caption="Click to watch a [video demo of one of the new examples](https://twitter.com/DmitryS36934349/status/1312836831390687232).", + link="https://twitter.com/DmitryS36934349") }} [rg3d] is a game engine that aims to be easy to use and provide large set of out-of-box features. Some of the recent updates: diff --git a/content/news/015/index.md b/content/news/015/index.md index 2158952de..36434fb8b 100644 --- a/content/news/015/index.md +++ b/content/news/015/index.md @@ -70,8 +70,10 @@ and where we should try to focus our collective efforts. ### [Veloren][veloren] -![Landscape](veloren_clouds.jpeg) -_Endless mountains to explore_ +{{ image_figure( + alt="Landscape" + src="veloren_clouds.jpeg" + caption="Endless mountains to explore") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -104,15 +106,20 @@ October's full weekly devlogs: "This Week In Veloren...": In November, Veloren will release 0.8. Veloren will also be speaking at MiniDebConf on November 22nd. -![Healing sceptre](veloren_wolves.jpeg) -_Team hunt_ +{{ image_figure( + alt="Healing sceptre" + src="veloren_wolves.jpeg" + caption="Team hunt") }} [veloren]: https://veloren.net ### [Crate Before Attack][cba-site] -[![Leaderboard Histogram](crate-before-attack.gif)][cba-site] -_Interactive Histogram with Race Results_ +{{ image_figure( + alt="Leaderboard Histogram" + src="crate-before-attack.gif" + caption="Interactive Histogram with Race Results", + link="https://cratebeforeattack.com") }} [Crate Before Attack][cba-site] by [koalefant (@CrateAttack)][@CrateAttack] is a skill-based multiplayer game where frogs fight and race using their sticky @@ -196,8 +203,10 @@ Some of this month's updates: ### Worship The Sun -![Worship The Sun](worship-sun.jpg) -_One of the many unique and confounding puzzles in the game_ +{{ image_figure( + alt="Worship The Sun" + src="worship-sun.jpg" + caption="One of the many unique and confounding puzzles in the game") }} Worship The Sun is a dark, mysterious 2D puzzle-platform game with computer science themes. It introduces the player to a rich language of puzzle elements @@ -225,8 +234,10 @@ For updates and possible playtesting opportunities, follow ### [Garden][garden] -![Garden](garden_scaled_1.png) -_A couple of trees growing and basking in the sun_ +{{ image_figure( + alt="Garden" + src="garden_scaled_1.png" + caption="A couple of trees growing and basking in the sun") }} [Garden][garden] is a procedural tree-growing, strategical ecosystem-restoration and biological simulation game with an infinite amount of plant species where @@ -457,8 +468,11 @@ an effective code refactor for a project using ECS, make sure to check out ### [Weegames][weegames-itch] -[![Jumping across walls minigame](weegames.png)][weegames-video] -_Click to see [a demo video][weegames-video]_ +{{ image_figure( + alt="Jumping across walls minigame" + src="weegames.png" + caption="Click to see [a demo video](https://youtu.be/sstqGppo7L4)", + link="https://youtu.be/sstqGppo7L4") }} [Weegames][weegames-itch] ([source code][weegames-repository]) is a fast-paced minigame collection. @@ -629,8 +643,10 @@ development for Entity-Component-Systems, Windowing and Event Loops, and WGPU. ### [Creating a Snake Clone in Bevy] -![Snake clone tutorial output](bevy_snake.gif) -_Gameplay of snake clone_ +{{ image_figure( + alt="Snake clone tutorial output" + src="bevy_snake.gif" + caption="Gameplay of snake clone") }} Bevy is a rapidly growing game engine written in Rust. This tutorial walks through creating a snake clone, introducing Bevy concepts on the way. The @@ -938,8 +954,10 @@ Join [Building Blocks's Discord server](https://discord.gg/CnTNjwb). ### [Rust GPU v0.1][rustgpu-v0.1] -![Rust GPU Sky](rustgpu.jpg) -_Sky example in Rust GPU_ +{{ image_figure( + alt="Rust GPU Sky" + src="rustgpu.jpg" + caption="Sky example in Rust GPU") }} [Rust GPU][rustgpu] is a project backed by [Embark Studios][embark] to make Rust a first-class language and ecosystem for building GPU code. @@ -1034,8 +1052,10 @@ available [here][ggez-release-checklist]. ### [miniquad] -![miniquad_wayland](miniquad_wayland.gif) -_Miniquad compiled from scratch and running on Wayland._ +{{ image_figure( + alt="miniquad_wayland" + src="miniquad_wayland.gif" + caption="Miniquad compiled from scratch and running on Wayland.") }} [miniquad] is cross-platform windowing and rendering library. @@ -1055,8 +1075,10 @@ This month two big PRs got into the final review stage: ### [macroquad] -![macroquad-gif](macroquad.gif) -_Macroquad-particles real-life example_ +{{ image_figure( + alt="macroquad-gif" + src="macroquad.gif" + caption="Macroquad-particles real-life example") }} [macroquad] is a cross-platform (Windows/Linux/macOS/Android/iOS/WASM) game framework built on top of [miniquad]. diff --git a/content/news/016/index.md b/content/news/016/index.md index 3ac91526f..0b7c57d10 100644 --- a/content/news/016/index.md +++ b/content/news/016/index.md @@ -111,8 +111,10 @@ Some of this month's updates: ### [Veloren][veloren] -![Landscape](veloren_fly.jpg) -_Endless mountains to explore_ +{{ image_figure( + alt="Landscape" + src="veloren_fly.jpg" + caption="Endless mountains to explore") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -127,8 +129,11 @@ freeze, many networking and combat bugs were fixed. The Veloren 0.8 release party took place on the 28th and saw a peak of 112 players online, doubling the previous record. -[![Youtube preview img](veloren-gameplay-video.gif)][veloren-0.8-gameplay] -_0.8 gameplay video_ +{{ image_figure( + alt="Youtube preview img" + src="veloren-gameplay-video.gif" + caption="0.8 gameplay video", + link="https://www.youtube.com/watch?v=TMYfrdiEJw4") }} You can read more about specific topics from November: @@ -156,8 +161,10 @@ In December, work will begin on 0.9. There are some discussions about larger refactors in the codebase. Many new developers have joined and are getting up to speed on contributing. Veloren will also reach its 100th blog post! -![Healing sceptre](veloren_adventure.jpg) -_The start of an adventure_ +{{ image_figure( + alt="Healing sceptre" + src="veloren_adventure.jpg" + caption="The start of an adventure") }} [veloren]: https://veloren.net [veloren-0.8-changelog]: https://gitlab.com/veloren/veloren/-/blob/master/CHANGELOG.md#080-2020-11-28 @@ -167,8 +174,10 @@ _The start of an adventure_ ### [FBSim] -![FBSim initial version](fbsim.png) -_FBSim running with default agents._ +{{ image_figure( + alt="FBSim initial version" + src="fbsim.png" + caption="FBSim running with default agents.") }} [FBSim] by [Ian Tayler] is a football/soccer game where you program the players using Rust and try to beat a team controlled by another AI. @@ -207,8 +216,10 @@ engine to support named zones on the map. ### [Akigi][akigi] -![Akiki butcher](akigi_butcher.jpg) -_Akigi butcher skill_ +{{ image_figure( + alt="Akiki butcher" + src="akigi_butcher.jpg" + caption="Akigi butcher skill") }} [Akigi][akigi] is a WIP online multiplayer game. @@ -252,8 +263,10 @@ Recent updates include: ### [Shotcaller] -![Shotcaller dual frontend](shotcaller-2guis.png) -_ASCII and sprites versions of Shotcaller interface._ +{{ image_figure( + alt="Shotcaller dual frontend" + src="shotcaller-2guis.png" + caption="ASCII and sprites versions of Shotcaller interface.") }} [Shotcaller] is a moddable RTS/MOBA game made with bracket-lib and specs. @@ -402,8 +415,11 @@ _Discussions: ### [How to Build a Multiplayer Game][talk-dns2utf8-video] -[![A screenshot from the talk](talk-multiplayer-game.jpg)][talk-dns2utf8-video] -_You can [watch the recording here][talk-dns2utf8-video]._ +{{ image_figure( + alt="A screenshot from the talk" + src="talk-multiplayer-game.jpg" + caption="You can [watch the recording here](https://youtube.com/watch?v=Yb-QR3Vm3sk).", + link="https://youtube.com/watch?v=Yb-QR3Vm3sk") }} This month, [@dns2utf8] gave a [talk][talk-dns2utf8-video] about how to build a multiplayer game with actix-web that people with @@ -440,8 +456,10 @@ examples. ### [Chess game in Rust using Bevy] -![Tutorial result](bevy_chess.gif) -_Chess gameplay_ +{{ image_figure( + alt="Tutorial result" + src="bevy_chess.gif" + caption="Chess gameplay") }} [@guimcaballero] published a tutorial on using Bevy 0.3 to make a Chess clone in 3d. Most of the concepts are explained along the way, from how to load meshes to @@ -478,8 +496,11 @@ You can learn more [on the Learn Wgpu news page][learn-wgpu-news]. ### [cargo-mobile] -[![Bevy's Breakout example running on an iPhone XR](cargo-mobile.jpg)][cargo-mobile] -_Bevy's Breakout example running on an iPhone XR_ +{{ image_figure( + alt="Bevy's Breakout example running on an iPhone XR" + src="cargo-mobile.jpg" + caption="Bevy's Breakout example running on an iPhone XR", + link="https://dev.brainiumstudios.com/2020/11/24/cargo-mobile.html") }} [cargo-mobile] is a tool created by [Brainium Studios] to simplify Rust mobile development. It generates Xcode and Android Studio projects, and provides handy @@ -571,8 +592,10 @@ Version 0.4.0 was released this month, bringing loads of improvements. ### [Terra Mach][terramach] -![Dashboard demo](terramach.gif) -_Terra Mach dashboard demo_ +{{ image_figure( + alt="Dashboard demo" + src="terramach.gif" + caption="Terra Mach dashboard demo") }} [Terra Mach][terramach] is a mapping frontend system to build graphical interfaces for devices. It focuses on experiences around statistical data (graphs, diagrams), @@ -765,8 +788,10 @@ most of the updated [WebGPU samples][wgpu-samples]. ### [Iced] v0.2 -![Iced - Game of Life example](iced-game-of-life.gif) -_The new [Game of Life example], made with Iced_ +{{ image_figure( + alt="Iced - Game of Life example" + src="iced-game-of-life.gif" + caption="The new [Game of Life example](https://github.com/hecrj/iced/tree/0.2/examples/game_of_life), made with Iced") }} Iced is an experimental cross-platform GUI library focused on simplicity and type-safety. Inspired by [Elm]. @@ -799,8 +824,10 @@ _Discussions: ### [KAS] v0.6 and [KAS-text] v0.2 -![KAS markdown](kas-markdown.png) -_Markdown parsing demo_ +{{ image_figure( + alt="KAS markdown" + src="kas-markdown.png" + caption="Markdown parsing demo") }} [KAS] by [@dhardy] is a general-purpose UI toolkit; its initial aim is "old school" desktop apps with good keyboard and touchscreen @@ -836,8 +863,10 @@ Also, [egui_web] v0.4.0 was released, with a simple fetch API \- ### [miniquad] -![miniquad_wayland](miniquad_kms.gif) -_Miniquad running on raspberry pi 4 with a SPI screen._ +{{ image_figure( + alt="miniquad_wayland" + src="miniquad_kms.gif" + caption="Miniquad running on raspberry pi 4 with a SPI screen.") }} [miniquad] is cross-platform windowing and rendering library. @@ -851,8 +880,10 @@ right on the Linux kernel with KMS. ### [macroquad] -![macroquad_particles](macroquad_particles.gif) -_Small editor footage._ +{{ image_figure( + alt="macroquad_particles" + src="macroquad_particles.gif" + caption="Small editor footage.") }} [macroquad] is a cross-platform (Windows/Linux/macOS/Android/iOS/WASM) game framework built on top of [miniquad]. @@ -865,8 +896,10 @@ style effects: [try it out online here][macroquad-particles]. ### [Dotrix] -![Animated low-poly character rendered by Dotrix](dotrix-rendering.png) -_A screenshot of running low-poly female model_ +{{ image_figure( + alt="Animated low-poly character rendered by Dotrix" + src="dotrix-rendering.png" + caption="A screenshot of running low-poly female model") }} The goal of [Dotrix] is to become a 3D engine for the new RPG project. The engine is free and open source, delivering a set of common high-level features @@ -936,8 +969,10 @@ has also been updated to show the new helpers in action. ### [ggez] -![lots of overlapping bunnies](ggez-bun.png) -_ggez bunnymark - 60,000 buns at 60 FPS_ +{{ image_figure( + alt="lots of overlapping bunnies" + src="ggez-bun.png" + caption="ggez bunnymark - 60,000 buns at 60 FPS") }} [ggez] is a 2D game framework inspired by Love2D. The project is chugging along getting everything prepared for a 0.6 release at the end of 2020, @@ -959,8 +994,11 @@ branch and give it a go! ### [rg3d] -[![a scene with lightning and multiple hi-poly character models](rg3d_instancing.jpg)][rg3d_twit] -_Geometry instancing demo._ +{{ image_figure( + alt="a scene with lightning and multiple hi-poly character models" + src="rg3d_instancing.jpg" + caption="Geometry instancing demo.", + link="https://twitter.com/DmitryS36934349/status/1328797761874046977") }} [rg3d] is a game engine that aims to be easy to use and provide large set of out-of-box features. Some of the recent updates: @@ -987,8 +1025,10 @@ or follow [Dmitry Stepanov on Twitter][rg3d_twitter]. ### [Another World Suite][another-world-suite] -![multiple windows with asm and sprites](aws.png) -_debugger and resource viewer_ +{{ image_figure( + alt="multiple windows with asm and sprites" + src="aws.png" + caption="debugger and resource viewer") }} [Another World Suite][another-world-suite] by [@c_botana] is a Rust implementation of the ["Another World"][another-world] ("Out of This World" in USA) @@ -1019,8 +1059,10 @@ _Discussions: ### [bevmnist][bevmnist-itch.io] -![demo of running inferences for all digits](bevmnist.gif) -_Running through all digits_ +{{ image_figure( + alt="demo of running inferences for all digits" + src="bevmnist.gif" + caption="Running through all digits") }} [bevmnist][bevmnist-itch.io] by [@FrancoisMockers] is a PoC for running inferences from a neural network in a game made with [bevy], that can run in diff --git a/content/news/017/index.md b/content/news/017/index.md index 3d9c3cc68..7d9240fe3 100644 --- a/content/news/017/index.md +++ b/content/news/017/index.md @@ -105,8 +105,10 @@ _Discussions: ### [Way of Rhea has a Discord!][wor-discord] -![New Way of Rhea assets](way-of-rhea.gif) -_Updated visuals for interactive items._ +{{ image_figure( + alt="New Way of Rhea assets" + src="way-of-rhea.gif" + caption="Updated visuals for interactive items.") }} [Way of Rhea][wor-website] is a puzzle platformer that takes place in a world where you can only interact with objects that match your current color. The game @@ -127,8 +129,10 @@ This month's updates: ### [Veloren][veloren] -![Landscape](veloren1.jpg) -_A village over the river_ +{{ image_figure( + alt="Landscape" + src="veloren1.jpg" + caption="A village over the river") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -168,8 +172,11 @@ December's full weekly devlogs: "This Week In Veloren...": [#99](https://veloren.net/devblog-99), [#100](https://veloren.net/devblog-100). -[![Youtube preview img](veloren-glider.gif)][veloren-0.8-gameplay] -_[New glider physics][veloren-glider] video_ +{{ image_figure( + alt="Youtube preview img" + src="veloren-glider.gif" + caption="[New glider physics](https://veloren.net/devblog-100#glider-physics-by-slipped) video", + link="https://youtube.com/watch?v=8WWVe1cIu7I") }} In January, work will continue on 0.9. Work will be done on economic simulation, world simulation, and combat systems. New developers are joining the project @@ -298,8 +305,11 @@ out the dev logs for more info. ### [A Zombie Shooter Game][zombie-shooter] -[![Demo](a-zombie-shooter-game-demo.gif)][zombie-shooter-youtube] -_Watch a [video demo on YouTube][zombie-shooter-youtube]_ +{{ image_figure( + alt="Demo" + src="a-zombie-shooter-game-demo.gif" + caption="Watch a [video demo on YouTube](https://youtu.be/9o6KjlwKyGo)", + link="https://youtu.be/9o6KjlwKyGo") }} [A Zombie Shooter Game][zombie-shooter] is a work-in-progress multiplayer top-down shooter. Actually, it's a Rust port of an old Java game with @@ -326,8 +336,10 @@ You can discuss the project at [its GitHub forum][zombie-shooter-forum]. is being developed by [@chinedufn] for the web and desktop using a custom Rust game engine. -![Moving while attacking](akigi.gif) -_Moving while attacking. Don't look at the shoulders._ +{{ image_figure( + alt="Moving while attacking" + src="akigi.gif" + caption="Moving while attacking. Don't look at the shoulders.") }} December updates include: @@ -350,8 +362,10 @@ Full December's devlogs: ### [Swoop][swoop-itch] -![Doing donuts while being overtaken](swoop.gif) -_Getting lapped by purple? - don't worry, it happens to everyone_ +{{ image_figure( + alt="Doing donuts while being overtaken" + src="swoop.gif" + caption="Getting lapped by purple? - don't worry, it happens to everyone") }} [Swoop][swoop-itch] by [@sdfgeoff] is a procedural racing web game written in Rust from scratch. @@ -382,8 +396,10 @@ that is based on raymarching giant caves. ### Harvest Hero -![Harvest Hero Gameplay](harvest_hero_snippet.gif) -_Harvest crops and whack those pesky Groobles!_ +{{ image_figure( + alt="Harvest Hero Gameplay" + src="harvest_hero_snippet.gif" + caption="Harvest crops and whack those pesky Groobles!") }} Harvest Hero by [@bombfuse_dev] is an arcade/roguelike game. This month in development: @@ -415,8 +431,10 @@ Some of [this month's changes][fn-changelog]: - The project's wiki now has a ["FreeNukum Screenshots" page][fn-screenshots]. - A [Matrix chat room][fn-matrix-chat] is now available. -![FreeNukum showing the hero making somersaults](freenukum-somersaults.gif) -_Somersaults!_ +{{ image_figure( + alt="FreeNukum showing the hero making somersaults" + src="freenukum-somersaults.gif" + caption="Somersaults!") }} [fn]: https://gitlab.com/silwol/freenukum [fn-reddit-announce]: https://reddit.com/r/rust_gamedev/comments/k9dw50/freenukum @@ -463,8 +481,10 @@ Sound was recently added to the demo using the quad-snd library. ### [Shotcaller] -![Shotcaller dual frontend](shotcaller-2guis.png) -_ASCII and sprites versions of Shotcaller interface._ +{{ image_figure( + alt="Shotcaller dual frontend" + src="shotcaller-2guis.png" + caption="ASCII and sprites versions of Shotcaller interface.") }} [Shotcaller] is a moddable RTS/MOBA game made with bracket-lib. @@ -484,8 +504,10 @@ Contributions welcome: [try add a new Leader][shotcaller-issue-leader]. ### [Cheese] -![A screenshot of some mice shooting other mice](cheese-screenshot.png) -_Pew pew!_ +{{ image_figure( + alt="A screenshot of some mice shooting other mice" + src="cheese-screenshot.png" + caption="Pew pew!") }} [Cheese] is a small Real Time Strategy game created for the [GitHub Game Off 2020]. It was written using a 'low-level gamedev stack' @@ -543,8 +565,11 @@ technical implementations: ### [How to Revive a Dead Rust Project][rustfest-talk] -[![RustFest Sketchnote](how-to-revive-a-dead-rust-project.jpg)][rustfest-talk] -_Drawing by [Carlo Gilmar][visual_partner]. Click to [watch the talk.][rustfest-talk]_ +{{ image_figure( + alt="RustFest Sketchnote" + src="how-to-revive-a-dead-rust-project.jpg" + caption="Drawing by [Carlo Gilmar](https://twitter.com/visual_partner). Click to [watch the talk.](https://www.youtube.com/watch?v=qoCryIy4bFE)", + link="https://www.youtube.com/watch?v=qoCryIy4bFE") }} At [RustFest Global 2020], [@micah_tigley] and [@carlosupina] talked about their experiences collaborating together to revive the [space_shooter_rs] project through @@ -569,8 +594,11 @@ game. Some updates include: ### [Building Pikachu Volleyball][pikachu-video] -[![YouTube Preview: Video thumbnail with a crab and text](pikachu0.png)][pikachu-video] -_Click to [watch the video on YouTube][pikachu-video]_ +{{ image_figure( + alt="YouTube Preview: Video thumbnail with a crab and text" + src="pikachu0.png" + caption="Click to [watch the video on YouTube](https://youtube.com/watch?v=Z1sxCC0CDts)", + link="https://youtube.com/watch?v=Z1sxCC0CDts") }} [Building Pikachu Volleyball][pikachu-video] by [@danlogs] is the latest episode of a video series inspired by Shing Lyu's book [Practical Rust Projects][amazon-book]. @@ -596,8 +624,11 @@ or follow [@danologue on Twitter][@danologue]. ### [Creative Coding in Rust: Re-creating Retro Screensaver][timclicks-session] -[![A screenshot from the coding sesion](retro_screensaver.jpg)][timclicks-session] -_You can [watch the recording here][timclicks-session]._ +{{ image_figure( + alt="A screenshot from the coding sesion" + src="retro_screensaver.jpg" + caption="You can [watch the recording here](https://youtube.com/watch?v=d9lsT4kJo44).", + link="https://youtube.com/watch?v=d9lsT4kJo44") }} [@timClicks] live streamed a coding session featuring [Nannou][timclicks-nannou], an open-source creative-coding framework, @@ -613,8 +644,10 @@ _Discussions: ### [Drawing Bezier curves with SDFs][bezier_article] -![Demo](beziers.gif) -_The demo is available [here][bezier_demo]_ +{{ image_figure( + alt="Demo" + src="beziers.gif" + caption="The demo is available [here](https://pum-purum-pum-pum.github.io/bezier)") }} A short note by [@VladZhukov0] about drawing Bezier curves (strokes) with signed distance fields. @@ -627,8 +660,11 @@ Continuation of a [previous note][hqlines] about drawing lines with SDF. ### [Nannou: Creative Coding with Rust][mactuitui-talk] -[![A screenshot from the talk](nannou_creative_coding.jpg)][mactuitui-talk] -_You can [watch the recording here][mactuitui-talk]._ +{{ image_figure( + alt="A screenshot from the talk" + src="nannou_creative_coding.jpg" + caption="You can [watch the recording here](https://www.youtube.com/watch?v=Ml6tpyTyXhM).", + link="https://www.youtube.com/watch?v=Ml6tpyTyXhM") }} [Alexis André][@mactuitui] gave a [talk][mactuitui-talk] at [GitHub Universe][mactuitui-github-universe] about working with Rust @@ -804,8 +840,10 @@ _Discussions: ### [polyhedron-ops] -![polyhedron render](polyhedron.jpg) -_Some brutalist polyhedron; rendered with 3Delight and post processed in Darktable._ +{{ image_figure( + alt="polyhedron render" + src="polyhedron.jpg" + caption="Some brutalist polyhedron; rendered with 3Delight and post processed in Darktable.") }} [polyhedron-ops] implements the [Conway Polyhedron Operators][polyhedron-wiki] and their extensions by George W. Hart and others. @@ -868,8 +906,10 @@ For more information, please refer to [the original post][spirq-reddit]. ### [rust-gpu] -![A collage of various shadertoy.com shaders built with rust-gpu.](rust-gpu-shaders.jpeg) -_Various shaders from shadertoy.com ported to Rust and built with rust-gpu._ +{{ image_figure( + alt="A collage of various shadertoy.com shaders built with rust-gpu." + src="rust-gpu-shaders.jpeg" + caption="Various shaders from shadertoy.com ported to Rust and built with rust-gpu.") }} [rust-gpu] is a new codegen backend by Embark Studios for Rust, aimed at making Rust a first class language for writing GPU shaders! This past month was the @@ -890,8 +930,10 @@ Some of the highlights include: ### [Egui] -![Egui emojis](egui.gif) -_Some of the supported emojis in the [online demo][demo]._ +{{ image_figure( + alt="Egui emojis" + src="egui.gif" + caption="Some of the supported emojis in the [online demo](https://emilk.github.io/egui).") }} [Egui] is an easy-to-use GUI in pure Rust. Egui can be integrated into a game engine, or used standalone with the help of [eframe]. @@ -932,8 +974,10 @@ a 0.6.0 release. ### [macroquad] -![macroquad_profiling](macroquad-profiling.gif) -_Macroquad-profiler footage._ +{{ image_figure( + alt="macroquad_profiling" + src="macroquad-profiling.gif" + caption="Macroquad-profiler footage.") }} [macroquad] is a cross-platform (Windows/Linux/macOS/Android/iOS/WASM) game framework built on top of [miniquad]. @@ -969,9 +1013,12 @@ This month's updates: ### [rg3d] -[![rusty-editor screenshot](rusty-editor.jpg)][rg3d_twit] -_A level made in [rusty-editor][rusty_editor] which is a native scene editor -for the rg3d game engine._ +{{ image_figure( + alt="rusty-editor screenshot" + src="rusty-editor.jpg" + caption="A level made in [rusty-editor](https://github.com/mrDIMAS/rusty-editor) which is a native scene editor +for the rg3d game engine.", + link="https://twitter.com/DmitryNStepanov/status/1336802725007396865") }} [rg3d] is a game engine that aims to be easy to use and provide large set of out-of-box features. Some of the recent updates: @@ -1131,8 +1178,10 @@ and follow [@BevyEngine on Twitter][bevy-twitter]. ### [rpt]: Rust Path Tracer -![demo renders](rpt-collage.jpg) -_Sample images rendered by path tracing._ +{{ image_figure( + alt="demo renders" + src="rpt-collage.jpg" + caption="Sample images rendered by path tracing.") }} [rpt] by [@ekzhang] and [@scanhex] is a physically based, CPU-only rendering engine written in Rust. It uses path tracing to generate realistic images of 3D diff --git a/content/news/018/index.md b/content/news/018/index.md index 05a67d74f..bb8243516 100644 --- a/content/news/018/index.md +++ b/content/news/018/index.md @@ -126,8 +126,10 @@ The project is still at a “very” early stage of development (Dec. 2020). ### [Fishgame][fishgame] -![Fishgame gameplay](fishgame.gif) -_Fish game gameplay footage._ +{{ image_figure( + alt="Fishgame gameplay" + src="fishgame.gif" + caption="Fish game gameplay footage.") }} [Fishgame][fishgame] is an online multiplayer game, created in a collaboration between [Nakama][nakama], an open-source scalable game @@ -145,8 +147,11 @@ This month the game got a public, multiplayer HTML5 build. [Play it online!][fis ### [Station Iapetus] -[![Station Iapetus Youtube](station-iapetus-youtube.JPG)][si-youtube] -_Check [gameplay video][si-youtube] on YouTube_ +{{ image_figure( + alt="Station Iapetus Youtube" + src="station-iapetus-youtube.JPG" + caption="Check [gameplay video](https://www.youtube.com/watch?v=JCH2U5JOMlU) on YouTube", + link="https://www.youtube.com/watch?v=JCH2U5JOMlU") }} [Station Iapetus][Station Iapetus] by [@mrDIMAS] is a 3rd person shooter on the space prison Iapetus near the Saturn. @@ -162,8 +167,10 @@ which will be released in Steam. ### [SeniorSKY] -![SeniorSKY](3.png) -_Over the mountains in Slovakia_ +{{ image_figure( + alt="SeniorSKY" + src="3.png" + caption="Over the mountains in Slovakia") }} [SeniorSKY] is a flight simulator which uses Vulkan API, developed by [@pmathia0]. @@ -190,8 +197,10 @@ flight dynamics is already in progress. ### [Oicana][oicana] -![oicana game play](oicana.png) -_Solving puzzles to build towers_ +{{ image_figure( + alt="oicana game play" + src="oicana.png" + caption="Solving puzzles to build towers") }} [Oicana][oicana] is a tower defense game with puzzle aspects submitted to Mini jam 71 [on itch][oicana-itch] by [M1nd0fRafa3l][rafael-itch] and @@ -216,9 +225,11 @@ changed to use [Kira][kira-sound] via an ### [Bounty Bros.][bounty-bros] -[![Bounty Bros. Video](bounty-bros.jpg)][bounty_bros_video] -_First pass character controller video_ - +{{ image_figure( + alt="Bounty Bros. Video" + src="bounty-bros.jpg" + caption="First pass character controller video", + link="https://katharostech.com/post/bounty-bros-prototype-game#video") }} [Bounty Bros.][bounty-bros] is a prototype dungeon crawler game in the spirit of "Legend of Zelda: Link to the Past". The game is being developed by [Katharos Technology] as a playground @@ -238,8 +249,10 @@ primarily by simply writing YAML configuration files and integrating with ### Flesh -![flesh preview](flesh.gif) -_Inside flesh_ +{{ image_figure( + alt="flesh preview" + src="flesh.gif" + caption="Inside flesh") }} Flesh by [@im_oab] is a 2D-horizontal shmup game with hand-drawn animation and implement using tetra. It still in the development stage but have @@ -297,8 +310,10 @@ tuned for more exciting updates in the next monthly newsletter! ### [Antorum] -![Some players hanging out next to the bank Vault in Belmart](antorum-2-1-2021.jpg) -_Hanging out by the vault_ +{{ image_figure( + alt="Some players hanging out next to the bank Vault in Belmart" + src="antorum-2-1-2021.jpg" + caption="Hanging out by the vault") }} [Antorum] is a micro-multiplayer online role-playing game by [@dooskington]. The game server is written in Rust, and the official client is being developed @@ -381,8 +396,11 @@ Twitter if you have a flash of inspiration! ### [Theta Wave] -[![Homing Missiles](theta_wave_homing_missiles.gif)][Theta Wave] -_Homing missiles pursue the closest player entity_ +{{ image_figure( + alt="Homing Missiles" + src="theta_wave_homing_missiles.gif" + caption="Homing missiles pursue the closest player entity", + link="https://github.com/amethyst/theta-wave") }} A real name was finally chosen for space_shooter_rs! [Theta Wave] is a space shooter game by developers [@micah_tigley] and [@carlosupina]. It is one of @@ -418,8 +436,10 @@ This month's major updates include: ### [Veloren][veloren] -![Veloren Snow](veloren-snow.gif) -_Let it snow!_ +{{ image_figure( + alt="Veloren Snow" + src="veloren-snow.gif" + caption="Let it snow!") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -444,8 +464,10 @@ January's full weekly devlogs: "This Week In Veloren...": ### [Shotcaller] -![Custom art assets for Shotcaller](shotcaller-full.png) -_An art mockup of some Shotcaller action._ +{{ image_figure( + alt="Custom art assets for Shotcaller" + src="shotcaller-full.png" + caption="An art mockup of some Shotcaller action.") }} [Shotcaller] ([Discord][shotcaller-Discord]) is a minimalistic MOBA that focuses strictly on macro-play with few actions-per-minute, @@ -480,8 +502,11 @@ Recent updates include: ### [Zemeroth][zemeroth] -[![Some generic gameplay demo](zemeroth.gif)][zemeroth-audio] -_Click to [watch a footage with sound][zemeroth-audio] 🔊_ +{{ image_figure( + alt="Some generic gameplay demo" + src="zemeroth.gif" + caption="Click to [watch a footage with sound](https://twitter.com/ozkriff/status/1341052260885942272) 🔊", + link="https://twitter.com/ozkriff/status/1341052260885942272") }} [Zemeroth][zemeroth] by [@ozkriff] is a minimalistic 2D turn-based tactical game. Some of the recent updates: @@ -546,8 +571,10 @@ Two extensive chapters were added this month: ### [Setting a Rust Executable's Icon in Windows][win-icon] -![Windows taskbar with Way of Rhea icon on the right](win-icons-task-bar.png) -_[Way of Rhea][wor-site]'s icon in the taskbar_ +{{ image_figure( + alt="Windows taskbar with Way of Rhea icon on the right" + src="win-icons-task-bar.png" + caption="[Way of Rhea](https://www.anthropicstudios.com/way-of-rhea)'s icon in the taskbar") }} [Anthropic Studios][anthropic] has [shared an article][win-icon] about manually using `rc.exe` and embedding the resulting `.res` into your app @@ -630,9 +657,11 @@ already find on [YouTube][lowenware-youtube]. ### [rg3d] -![rusty-editor screenshot](rusty-editor.jpg) -_A level made in [rusty-editor][rusty_editor] which is a native scene editor -for the rg3d game engine._ +{{ image_figure( + alt="rusty-editor screenshot" + src="rusty-editor.jpg" + caption="A level made in [rusty-editor](https://github.com/mrDIMAS/rusty-editor) which is a native scene editor +for the rg3d game engine.") }} [rg3d] ([Discord][rg3d_discord], [Twitter][rg3d_twitter]) is a game engine that aims to be easy to use and provide large set @@ -750,8 +779,10 @@ updates. ### [bevy_ldtk] -![LDtk Map Running in Bevy](./bevy_ldtk.jpg) -_Tileset from ["Cavernas"] by Adam Saltsman_ +{{ image_figure( + alt="LDtk Map Running in Bevy" + src="bevy_ldtk.jpg" + caption='Tileset from ["Cavernas"](https://adamatomic.itch.io/cavernas) by Adam Saltsman') }} [bevy_ldtk] is a Bevy plugin for loading [LDtk] tilemaps. @@ -821,8 +852,10 @@ and gfx-rs community is inviting Rust game/graphics developers to evaluate if ### [imgui-rs] -![imgui drag drop example](imgui-rs.gif) -_Drag and Drop and the new Drawing Api at Work in 0.7.0_ +{{ image_figure( + alt="imgui drag drop example" + src="imgui-rs.gif" + caption="Drag and Drop and the new Drawing Api at Work in 0.7.0") }} [imgui-rs] is the Rust bindings for the ubiquitous immediate mode GUI library, Dear ImGui. @@ -836,8 +869,10 @@ macro. ### [egui] -![egui widget gallery](egui_0.8.0.gif) -_Some of the supported widgets in the new grid layout._ +{{ image_figure( + alt="egui widget gallery" + src="egui_0.8.0.gif" + caption="Some of the supported widgets in the new grid layout.") }} [egui] is a simple, fast, and highly portable immediate mode GUI library. @@ -865,8 +900,10 @@ Try out the [online demo](https://mvlabat.github.io/bevy_egui_web_showcase/index ### [chess-engine] -![cli + web version](chess.png) -_Console and web clients for the chess-engine_ +{{ image_figure( + alt="cli + web version" + src="chess.png" + caption="Console and web clients for the chess-engine") }} [chess-engine] by [@adam-mcdaniel] is a pure Rust, no-std, dependency-free chess engine built to run anywhere. @@ -892,8 +929,10 @@ _Discussions: ### [dcli] -![plaintext tables](dcliah.png) -_Example of dcliah output_ +{{ image_figure( + alt="plaintext tables" + src="dcliah.png" + caption="Example of dcliah output") }} [dcli] by [Mike Chambers][@mikechambers] is a library and a collection of utilities&apps that provide a command line interface (CLI) for viewing diff --git a/content/news/019/index.md b/content/news/019/index.md index 77d21e282..687358873 100644 --- a/content/news/019/index.md +++ b/content/news/019/index.md @@ -82,8 +82,10 @@ working on, fill out [this form][gamedev-meetup-form]. ### Flesh -![flesh preview](flesh.gif) -_Title screen + gameplay_ +{{ image_figure( + alt="flesh preview" + src="flesh.gif" + caption="Title screen + gameplay") }} Flesh by [@im_oab] is a 2D-horizontal shmup game with hand-drawn animation and organic/fleshy theme. It is implemented using [tetra]. This month's updates @@ -98,8 +100,10 @@ include: ### [Fishgame][fishgame] -![Fishgame gui](fishgame.gif) -_Fish game UI._ +{{ image_figure( + alt="Fishgame gui" + src="fishgame.gif" + caption="Fish game UI.") }} [Fishgame][fishgame] [(web build)][fishgame-itch] is an online multiplayer game, created in a collaboration between [Nakama][nakama], an open-source scalable @@ -202,8 +206,11 @@ on the developer's private website. ### Stellary 2 -[![Stellary 2 Anti-Missile Laser](stellary2-anti-missile-laser.gif)][stellary2-aml-tweet] -_▶️ Click to [watch the full video][stellary2-aml-tweet]_ +{{ image_figure( + alt="Stellary 2 Anti-Missile Laser" + src="stellary2-anti-missile-laser.gif" + caption="▶️ Click to [watch the full video](https://twitter.com/CoffeJunkStudio/status/1360637714660548618)", + link="https://twitter.com/CoffeJunkStudio/status/1360637714660548618") }} Stellary 2 by [@CoffeJunkStudio][coffe-junk-studio] is a 3D real-time space shooter in which the player has to prevail against enemy space ships. @@ -223,8 +230,11 @@ The latest updates include: ### [Theta Wave] -[![Homing Missiles](theta_wave.gif)][Theta Wave] -_Homing missiles periodically spawn from missile launcher enemies_ +{{ image_figure( + alt="Homing Missiles" + src="theta_wave.gif" + caption="Homing missiles periodically spawn from missile launcher enemies", + link="https://github.com/amethyst/theta-wave") }} [Theta Wave] is a space shooter game by developers [@micah_tigley] and [@carlosupina]. It is one of the showcase games for the [Amethyst Engine]. In @@ -243,8 +253,10 @@ Notable changes: ### [SeniorSKY] -![SeniorSKY](senior_sky.png) -_Rising sun_ +{{ image_figure( + alt="SeniorSKY" + src="senior_sky.png" + caption="Rising sun") }} [SeniorSKY] is a flight simulator that uses the Vulkan API, developed by [@pmathia0]. As an aerospace engineering student, Peter has always been @@ -293,8 +305,11 @@ This month's major updates include: ### [Station Iapetus] -[![Station Iapetus Youtube](station-iapetus-youtube.JPG)][si-youtube] -_Check [gameplay video][si-youtube] on YouTube_ +{{ image_figure( + alt="Station Iapetus Youtube" + src="station-iapetus-youtube.JPG" + caption="Check [gameplay video](https://www.youtube.com/watch?v=cagT0GbiLxY) on YouTube", + link="https://www.youtube.com/watch?v=cagT0GbiLxY") }} [Station Iapetus][Station Iapetus] by [@mrDIMAS] is a 3rd person shooter on the space prison Iapetus near the Saturn. @@ -316,8 +331,10 @@ space prison Iapetus near the Saturn. ### [Veloren][veloren] -![Lush forest](veloren.jpg) -_A lush forest to explore_ +{{ image_figure( + alt="Lush forest" + src="veloren.jpg" + caption="A lush forest to explore") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -362,8 +379,10 @@ Those interested in participating in the alpha test should fill out this ### [Antorum Online] -![A player standing in front of a giant crab](antorum-2-21-2021.jpg) -_Challenging Kroob_ +{{ image_figure( + alt="A player standing in front of a giant crab" + src="antorum-2-21-2021.jpg" + caption="Challenging Kroob") }} [Antorum Online] is a micro-multiplayer online role-playing game by [@dooskington]. The game server is written in Rust, and the official client is @@ -382,8 +401,10 @@ world. They can also break down old or unwanted gear to recycle it. ### [Fullscreen Exclusive Is A Lie (...sort of)][fs-exclusive] -![Way of Rhea's video settings](wor-video-settings.jpg) -_[Way of Rhea][wor-site]'s video settings_ +{{ image_figure( + alt="Way of Rhea's video settings" + src="wor-video-settings.jpg" + caption="[Way of Rhea](https://store.steampowered.com/app/1110620/Way_of_Rhea/)'s video settings") }} [Anthropic Studios][anthropic] has [shared an article][fs-exclusive] walking through what they learned from implementing fullscreen exclusivity in their Rust @@ -399,8 +420,10 @@ _Discussions: ### [Rhythm game in Rust using Bevy] -![Rhythm game demo](bevy-rhythm-game.gif) -_Rhythm game demo_ +{{ image_figure( + alt="Rhythm game demo" + src="bevy-rhythm-game.gif" + caption="Rhythm game demo") }} [Rhythm game in Rust using Bevy] is an introductory tutorial for Bevy made by [@guimcaballero]. It guides through how to use Bevy to develop a Rhythm game, @@ -429,8 +452,10 @@ _Discussions: ### [macroquad] -![macroquad_gui](macroquad_skins.gif) -_Macroquad-UI runtime GUI skins configuration._ +{{ image_figure( + alt="macroquad_gui" + src="macroquad_skins.gif" + caption="Macroquad-UI runtime GUI skins configuration.") }} [macroquad] is a cross-platform (Windows/Linux/macOS/Android/iOS/WASM) game framework built on top of [miniquad]. @@ -456,8 +481,9 @@ Minor updates: ### [Tetra] -![Tetra's demo game](./tetra.png) -_Tetra's demo game_ +{{ image_figure( + alt="Tetra's demo game" + src="tetra.png") }} [Tetra] is a simple 2D game framework, inspired by XNA, Love2D, and Raylib. This month, version 0.6 was released, with some big changes and features: @@ -476,8 +502,11 @@ twitter thread][tetra-twitter] about the release. ### [rg3d] -[![rg3d Youtube](rg3d-youtube.JPG)][rg3d-youtube] -_Check [navmesh agent navigation][rg3d-youtube] on YouTube_ +{{ image_figure( + alt="rg3d Youtube" + src="rg3d-youtube.JPG" + caption="Check [navmesh agent navigation](https://www.youtube.com/watch?v=tqFdQ5OPB1I) on YouTube", + link="https://www.youtube.com/watch?v=tqFdQ5OPB1I") }} [rg3d] ([Discord][rg3d_discord], [Twitter][rg3d_twitter]) is a game engine that aims to be easy to use and provide a large set of out-of-box features. Some of @@ -504,8 +533,10 @@ the recent updates: ### [Dotrix] -![Dotrix Light Demo](dotrix-light-demo.png) -_Demo application demonstrating light rendering_ +{{ image_figure( + alt="Dotrix Light Demo" + src="dotrix-light-demo.png" + caption="Demo application demonstrating light rendering") }} [Dotrix] ([YouTube][lowenware_youtube], [Discord][lowenware_discord]) by [@lowenware] is an ECS based 3D game engine with renderer built around the @@ -602,8 +633,10 @@ include: ### [Graphite][graphite-repo] -![Graphite GUI](graphite.png) -_Progress on the GUI_ +{{ image_figure( + alt="Graphite GUI" + src="graphite.png" + caption="Progress on the GUI") }} [Graphite][graphite-repo] ([GitHub][graphite-repo], [Discord][graphite-discord], [Twitter](https://twitter.com/GraphiteEditor)) is an in-progress vector and diff --git a/content/news/020/index.md b/content/news/020/index.md index 84ea7b82b..4fcc925cf 100644 --- a/content/news/020/index.md +++ b/content/news/020/index.md @@ -162,8 +162,10 @@ Some of the recent updates: ### [Aladin Lite] -![Mars with a RdBu colormap](aladin_lite_mars_RdBu_cm.gif) -_Mars heightmap with a RdBu colormap rendered with Aladin Lite v3_ +{{ image_figure( + alt="Mars with a RdBu colormap" + src="aladin_lite_mars_RdBu_cm.gif" + caption="Mars heightmap with a RdBu colormap rendered with Aladin Lite v3") }} [Aladin Lite] is a spatial image survey visualizer developed by the [Astronomical Observatory of Strasbourg] in France. Since its first release in 2013, @@ -191,8 +193,10 @@ on the project's github. ### [Portal Explorer][portal-explorer] -!["Portal in portal" scene](portal-explorer.png) -_"Portal in portal" scene_ +{{ image_figure( + alt='"Portal in portal" scene' + src="portal-explorer.png" + caption='"Portal in portal" scene') }} [Portal Explorer][portal-explorer] by [@optozorax][optozorax-twitter] is a web visualizator of mind-blowing portals. @@ -213,8 +217,10 @@ interface is [egui][egui-git]. ### [Name Needed][name-needed] -![Wandering agents hauling items around and digging](name-needed.gif) -_Agents wandering around, hauling items and digging blocks_ +{{ image_figure( + alt="Wandering agents hauling items around and digging" + src="name-needed.gif" + caption="Agents wandering around, hauling items and digging blocks") }} [Name Needed][name-needed] by [@DomWilliams0][domwilliams-github] is a one man effort to produce an open source, intuitive and high performance Dwarf @@ -237,8 +243,10 @@ which so far include: ### [Orbital Decay][orbital-decay] -![Orbital Decay](orbital-decay.gif) -_Orbital Decay gameplay_ +{{ image_figure( + alt="Orbital Decay" + src="orbital-decay.gif" + caption="Orbital Decay gameplay") }} [Orbital Decay][orbital-decay] by [@stevebob] is an [open-source][orbital-decay-source] turn-based tactical roguelike with a focus @@ -309,8 +317,11 @@ at [Rust Meetup Linz on April 22][rust-linz]. ### [Bounty Bros.][bounty_bros] -[![bounty-bros-character-on-map](bounty_bros.png)][bounty_bros_webgame] -_Click the image to play the game in your browser!_ +{{ image_figure( + alt="bounty-bros-character-on-map" + src="bounty_bros.png" + caption="Click the image to play the game in your browser!", + link="https://skipngo.katharostech.com/?asset_url=https://bounty-bros.skipngo.katharostech.com/") }} [Bounty Bros.][bounty_bros] is a prototype game similar to the old Legend of Zelda® games developed by [Katharos Technology][katharostech] as a testing @@ -391,8 +402,11 @@ the project's internals. ### Stellary 2 -[![Stellary 2 Anti-Missile Laser](stellary2-centered-view.gif)][stellary2-ppcv-tweet] -_▶️ Click to [watch the full video][stellary2-ppcv-tweet]_ +{{ image_figure( + alt="Stellary 2 Anti-Missile Laser" + src="stellary2-centered-view.gif" + caption="▶️ Click to [watch the full video](https://twitter.com/CoffeJunkStudio/status/1378719827347509249)", + link="https://twitter.com/CoffeJunkStudio/status/1378719827347509249") }} Stellary 2 by [@CoffeJunkStudio][coffe-junk-studio] is a 3D real-time space shooter in which the player has to control his spaceship to colonize each planet @@ -473,8 +487,10 @@ of the 1990 [Gameboy platformer][gargoyle-wiki] built using [wgpu]. ### [Fishgame][fishgame] -![Fishgame](fishgame.gif) -_Game footage with the new weapon._ +{{ image_figure( + alt="Fishgame" + src="fishgame.gif" + caption="Game footage with the new weapon.") }} [Fishgame][fishgame] [(web build)][fishgame-itch] is an online multiplayer game, created in a collaboration between [Nakama][nakama], an open-source scalable @@ -493,8 +509,10 @@ This month: ### [Veloren][veloren] -![Airship](veloren.jpg) -_Waiting for the airship to land_ +{{ image_figure( + alt="Airship" + src="veloren.jpg" + caption="Waiting for the airship to land") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -527,8 +545,11 @@ March's full weekly devlogs: "This Week In Veloren...": ### [Theta Wave] -[![Enemy Formations](theta-wave.gif)][Theta Wave] -_Enemies can now be easily spawned in formations_ +{{ image_figure( + alt="Enemy Formations" + src="theta-wave.gif" + caption="Enemies can now be easily spawned in formations", + link="https://github.com/amethyst/theta-wave") }} [Theta Wave] is an open-source space shooter game by developers [@micah_tigley] and [@carlosupina]. It is one of the showcase games for the [Amethyst Engine]. In @@ -580,8 +601,11 @@ Updates: ### [Station Iapetus] -[![Station Iapetus Youtube](station-iapetus-youtube.png)][si-youtube] -_Click on the iamge to see the gameplay video on YouTube_ +{{ image_figure( + alt="Station Iapetus Youtube" + src="station-iapetus-youtube.png" + caption="Click on the iamge to see the gameplay video on YouTube", + link="https://youtube.com/watch?v=O_ETjSkVBME") }} [Station Iapetus][Station Iapetus] by [@mrDIMAS] is a 3rd person shooter on the prison Iapetus near the Saturn. @@ -749,8 +773,10 @@ the recent engine updates: ### [Oxygengine v0.16.0][oxygengine-git] -![Oxygengine + RAUI integration](oxygengine-raui-integration.gif) -_Integration of RAUI (UI/UX) crate with Oxygengine game engine_ +{{ image_figure( + alt="Oxygengine + RAUI integration", + src="oxygengine-raui-integration.gif", + caption="Integration of RAUI (UI/UX) crate with Oxygengine game engine") }} [Oxygengine][oxygengine-git] by [@PsichiX][psichix-twitter] is the hottest HTML5 + WASM game engine for games written in Rust with web-sys. @@ -776,8 +802,10 @@ one highly modular toolset. ### [Bevy v0.5][bevy-blog] -![PBR material example](bevy_pbr.png) -_Material grid with varying PBR properties_ +{{ image_figure( + alt="PBR material example" + src="bevy_pbr.png" + caption="Material grid with varying PBR properties") }} [Bevy][bevy] is a refreshingly simple data-driven game engine built in Rust. It is [free and open source][bevy-git] forever! @@ -861,8 +889,10 @@ The repository includes a GitHub workflow for Linux, MacOS, and Windows builds ### [Reverse-Engineering NES Tetris to Add Hard Drop][tetris-hard-drop] -![NES Tetris with Hard Drop and Ghost Piece](tetris-hard-drop.gif) -_NES Tetris with Hard Drop and Ghost Piece_ +{{ image_figure( + alt="NES Tetris with Hard Drop and Ghost Piece" + src="tetris-hard-drop.gif" + caption="NES Tetris with Hard Drop and Ghost Piece") }} A [blog post][tetris-hard-drop] describing the process of reverse-engineering the rendering and input-handling logic in the NES version of Tetris, and using @@ -1135,8 +1165,10 @@ SMAA S2x likely to be added depending on interest. ### [wgpu] -![voxel bunny on wgpu](wgpu-conservative-bunny.png) -_Voxel Bunny rendering with conservative rasterization_ +{{ image_figure( + alt="voxel bunny on wgpu" + src="wgpu-conservative-bunny.png" + caption="Voxel Bunny rendering with conservative rasterization") }} [wgpu] is a [WebGPU] implementation in Rust. It is safe, efficient, and portable: can target both native (Vulkan/D3D/Metal) and the Web. @@ -1168,9 +1200,11 @@ _Discussions: ### [rust-gpu v0.3][rust-gpu-v0-3] -![A Sci-Fi helmet model](grr-gltf.jpg) -_The Khronos Sci-Fi helmet model in a [glTF model viewer][grr-gltf] -created by [@msiglreith] using rust-gpu_ +{{ image_figure( + alt="A Sci-Fi helmet model" + src="grr-gltf.jpg" + caption="The Khronos Sci-Fi helmet model in a [glTF model viewer](https://github.com/msiglreith/grr-gltf) +created by [@msiglreith](https://github.com/msiglreith) using rust-gpu") }} [rust-gpu] is a new codegen backend by Embark Studios for Rust, aimed at making Rust a first class language for writing GPU shaders! @@ -1200,8 +1234,10 @@ _Discussions: ### [rafx] -![rafx tilemap rendering](rafx-tilemap-rendering.png) -_Rafx rendering an example tilemap from [LDTK level editor][rafx-ldtk]_ +{{ image_figure( + alt="rafx tilemap rendering" + src="rafx-tilemap-rendering.png" + caption="Rafx rendering an example tilemap from [LDTK level editor](https://ldtk.io)") }} Rafx is a multi-backend renderer that optionally integrates with the [distill][rafx-distill] asset pipeline. This month, a fourth layer @@ -1266,8 +1302,10 @@ can get glimpses of its development by following the author on [Twitter][h3r2tic ### [Bevy Retro][bevy_retro] -![pixel-perfect-collision-demo](bevy_retro.gif) -_Pixel-perfect collision [example][bevy_retro_collision_example]_ +{{ image_figure( + alt="pixel-perfect-collision-demo" + src="bevy_retro.gif" + caption="Pixel-perfect collision [example](https://github.com/katharostech/bevy_retro/tree/master/examples#collisions)") }} [Bevy Retro][bevy_retro] is a new [Bevy] plugin designed for making pixel-perfect games. @@ -1299,8 +1337,10 @@ Feel free to discuss the project and provide feedback ### [RAUI v0.28.1][raui-git] -![RAUI + Tetra TODO app](raui-tetra-todo-app-material-ui.gif) -_RAUI + Tetra TODO app demo_ +{{ image_figure( + alt="RAUI + Tetra TODO app" + src="raui-tetra-todo-app-material-ui.gif" + caption="RAUI + Tetra TODO app demo") }} [RAUI][raui-git] by [@PsichiX][psichix-twitter] is a Renderer Agnostic User Interface crate that is based on declarative mode UI composition similar to @@ -1324,8 +1364,10 @@ This month's updates: ### [egui-macroquad] -![Code example of usage of this library.](egui-macroquad.png) -_Code example of usage of this library._ +{{ image_figure( + alt="Code example of usage of this library." + src="egui-macroquad.png" + caption="Code example of usage of this library.") }} [egui-macroquad] is a small library to use [egui][egui-git] inside of [macroquad][macroquad-git]. It consists only of two functions. @@ -1385,8 +1427,10 @@ cleanup, tweaks, optimization, and finally packaging the GUI up. ### [Bitmapflow] -![Bitmapflow interpolating a walking mech animation](bitmapflow.gif) -_Bitmapflow interpolating a walking mech animation_ +{{ image_figure( + alt="Bitmapflow interpolating a walking mech animation" + src="bitmapflow.gif" + caption="Bitmapflow interpolating a walking mech animation") }} Bitmapflow ([GitHub][Bitmapflow-GitHub]) by [@bauxitedev] is a tool to help you generate [inbetweens] for animated sprites. In other words, it makes your @@ -1420,9 +1464,10 @@ _Discussions: [/r/rust_gamedev][Bitmapflow-Reddit]_ ### [Graphite][graphite-repo] -!["Graphite" drawn using the circles and rectangles of the new tool drawing system](graphite-tool-system-progress.png) -_"Graphite" drawn using the circles and rectangles of the new tool drawing -system_ +{{ image_figure( + alt='"Graphite" drawn using the circles and rectangles of the new tool drawing system' + src="graphite-tool-system-progress.png" + caption='"Graphite" drawn using the circles and rectangles of the new tool drawing system') }} Graphite ([GitHub][graphite-repo], [Discord][graphite-discord], [Twitter](https://twitter.com/GraphiteEditor)) is an in-progress vector and diff --git a/content/news/021/index.md b/content/news/021/index.md index 8ad32733e..84236eeb4 100644 --- a/content/news/021/index.md +++ b/content/news/021/index.md @@ -100,8 +100,11 @@ _Discussions: ### [LD48: Micronaut][micronaut-itch] -[![GIF showing Micronaut's primary level recursion mechanic](micronaut.gif)][micronaut-itch] -_Micronaut features a deep recursive level layout_ +{{ image_figure( + alt="GIF showing Micronaut's primary level recursion mechanic" + src="micronaut.gif" + caption="Micronaut features a deep recursive level layout", + link="https://healthire.itch.io/micronaut") }} Micronaut is a small puzzle platformer by [@Healthire] made in 48 hours for the Ludum Dare 48 Compo. Run and jump your way through a recursive level layout to @@ -216,8 +219,10 @@ if you want to try it out. ### [The Process] -![Animated image showcasing the test map in The Process](the_process.gif) -_The new test map in The Process_ +{{ image_figure( + alt="Animated image showcasing the test map in The Process" + src="the_process.gif" + caption="The new test map in The Process") }} [The Process] by @setzer22 is an upcoming game about factory building, process management and carrot production, built @@ -269,8 +274,11 @@ Recent updates include: ### [Taipo][taipo-itch] -[![Screenshot of Taipo showing a variety of towers and enemies](taipo.png)][taipo-itch] -_Click the image to play the game in your desktop browser!_ +{{ image_figure( + alt="Screenshot of Taipo showing a variety of towers and enemies" + src="taipo.png" + caption="Click the image to play the game in your desktop browser!", + link="https://euclidean-whale.itch.io/taipo") }} Taipo ([itch.io][taipo-itch], [GitHub][taipo-github]) by [@rparrett] is a Tower Defense game that's controlled solely by typing words and phrases. @@ -341,8 +349,10 @@ Rhea developments: ### [Veloren][veloren] -![Airship](veloren.jpg) -_A mist rolling over the land_ +{{ image_figure( + alt="Airship" + src="veloren.jpg" + caption="A mist rolling over the land") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -402,8 +412,11 @@ _Discussions: ### [Theta Wave] -[![Enemy Formations](theta-wave.gif)][Theta Wave] -_Mobs may now be spawned in predefined formations_ +{{ image_figure( + alt="Enemy Formations" + src="theta-wave.gif" + caption="Mobs may now be spawned in predefined formations", + link="https://github.com/amethyst/theta-wave") }} [Theta Wave] is an open-source space shooter game by developers [@micah_tigley] and [@carlosupina]. It is one of the showcase games for the [Amethyst Engine]. In @@ -482,8 +495,10 @@ framework - additions are welcomed! ### [Oxygengine v0.19.1][oxygengine-git] -![Oxygengine UI splash screen](oxygengine-ui-splash-screen.gif) -_Making splash screens in Oxygengine with RAUI_ +{{ image_figure( + alt="Oxygengine UI splash screen" + src="oxygengine-ui-splash-screen.gif" + caption="Making splash screens in Oxygengine with RAUI") }} [Oxygengine][oxygengine-git] by [@PsichiX][psichix-twitter] is the hottest HTML5 + WASM game engine for games written in Rust with web-sys. @@ -524,8 +539,10 @@ the recent engine updates: ### [Arcana] -![arcana](tanks.gif) -_A demo Arcana game_ +{{ image_figure( + alt="arcana" + src="tanks.gif" + caption="A demo Arcana game") }} [Arcana] is a new game engine built with focus on ease of use without compromising on level of control. @@ -610,8 +627,11 @@ The water & transition shader is open source and can be found ### [Rust Linz: Learning Rust with Game Development][rust-linz] -[![Rust Linz talk screenshot](rust-linz.png)][rust-linz] -_Click on the image to watch the talk_ +{{ image_figure( + alt="Rust Linz talk screenshot" + src="rust-linz.png" + caption="Click on the image to watch the talk", + link="https://www.youtube.com/watch?v=79GyLlXAk-0") }} As part of April's Rust Linz meetup, [Herbert Wolverson][rust-linz-hw] gave a talk about using game development as a means of learning @@ -627,8 +647,11 @@ posted on the [author's twitter][rust-linz-coupon]. ### [Rust LA Meetup: Happiness in Rust][rust-la] -[![Rust LA talk screenshot](rust-la.png)][rust-la] -_Click on the image to watch the talk_ +{{ image_figure( + alt="Rust LA talk screenshot" + src="rust-la.png" + caption="Click on the image to watch the talk", + link="https://www.youtube.com/watch?v=TJ3w-pZ7FMI") }} As part of April's Rust LA meetup, [Andrea Pessino][rad-andrea] from [Ready at Dawn][rad] gave a talk examining how to increase Rust adoption @@ -721,8 +744,10 @@ _Discussions: [/r/rust], [Twitter]_ ### [opensubdiv-petite] -![Low poly car model](opensubdiv-petite.jpg) -_Low poly car with three levels of Catmull-Clark subdivision applied._ +{{ image_figure( + alt="Low poly car model" + src="opensubdiv-petite.jpg" + caption="Low poly car with three levels of Catmull-Clark subdivision applied.") }} [Opensubdiv-petite] is a high level, selective, oxidized wrapper around Pixar’s [OpenSubdiv] [sudivison surface] meshing and evaluation library. OpenSubdiv allows @@ -864,9 +889,11 @@ It has never been easier to add an in-game flamegraph profiler to your game! ### [rafx] -[![Rafx WebGL 1.0 Demo](rafx-webgl1-demo.png)][rafx-webgl-demo] -_Rafx WebGL 1.0 support, [click for live demo][rafx-webgl-demo]!_ - +{{ image_figure( + alt="Rafx WebGL 1.0 Demo" + src="rafx-webgl1-demo.png" + caption="Rafx WebGL 1.0 support, [click for live demo](https://aclysma.github.io/rafx/demo-web/index.html)!", + link="[rafx-webgl-demo](https://aclysma.github.io/rafx/demo-web/index.html)") }} Rafx is a multi-backend renderer that optionally integrates with the [distill][rafx-distill] asset pipeline. This month, frustum culling and a new OpenGL ES 2.0/WebGL 1.0 backend were added. @@ -891,8 +918,10 @@ or browser ([~98% web coverage][rafx-webgl-caniuse].) ### [RAUI v0.34.0][raui-git] -![RAUI Scroll Box](raui-scroll-box.gif) -_RAUI Scroll Box_ +{{ image_figure( + alt="RAUI Scroll Box" + src="raui-scroll-box.gif" + caption="RAUI Scroll Box") }} [RAUI][raui-git] by [@PsichiX][psichix-twitter] is a Renderer Agnostic User Interface crate that is based on declarative mode UI composition similar to @@ -912,8 +941,10 @@ This month's changes include: ### [Graphite][graphite-repo] -![Ferris drawn in Graphite using the new drawing tools - Art credit: Uriopass](graphite-ferris.png) -_Ferris drawn in Graphite using the new drawing tools - Art credit: Uriopass_ +{{ image_figure( + alt="Ferris drawn in Graphite using the new drawing tools - Art credit: Uriopass" + src="graphite-ferris.png" + caption="Ferris drawn in Graphite using the new drawing tools - Art credit: Uriopass") }} Graphite ([GitHub][graphite-repo], [Discord][graphite-discord], [Twitter](https://twitter.com/GraphiteEditor)) is an in-progress vector and @@ -962,8 +993,10 @@ GUI. ### [chip-8-rs] -![Screenshot of Pong with debugger](chip-8-rs.jpg) -_Debugging Pong_ +{{ image_figure( + alt="Screenshot of Pong with debugger" + src="chip-8-rs.jpg" + caption="Debugging Pong") }} [Chip-8-rs][chip-8-rs] by @jonathanmurray is a CHIP-8 emulator with some basic debugging functionality. diff --git a/content/news/022/index.md b/content/news/022/index.md index b015d1b43..43dcab00e 100644 --- a/content/news/022/index.md +++ b/content/news/022/index.md @@ -70,8 +70,10 @@ working on in a future meetup, fill out [this form][gamedev-meetup-form]. ### Flesh -![flesh preview](flesh.gif) -_a new enemy_ +{{ image_figure( + alt="flesh preview" + src="flesh.gif" + caption="a new enemy") }} Flesh by [@im_oab] is a 2D-horizontal shmup game with hand-drawn animation and organic/fleshy theme. It is implemented using [Tetra]. This month's updates @@ -86,7 +88,10 @@ include: ### [Veloren][veloren] -![Airship](veloren.jpg) _The beginning of an exciting journey_ +{{ image_figure( + alt="Airship" + src="veloren.jpg" + caption="The beginning of an exciting journey") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -137,8 +142,10 @@ multiple turn lanes, U-turns, and stop signs much better. ### [The Process] -![Animated image showing a small factory in the middle of the game island](the_process.gif) -_This factory has never looked livelier!_ +{{ image_figure( + alt="Animated image showing a small factory in the middle of the game island" + src="the_process.gif" + caption="This factory has never looked livelier!") }} [The Process] by @setzer22 is an upcoming game about factory building, process management and carrot production, built with Rust using the Godot game engine! @@ -200,8 +207,11 @@ if you want to try it out. ### [Bounty Bros.][bounty_bros] -[![bounty-bros-title-screen](bounty-bros.png)][bounty_bros_webgame] -_Click the image to play the game in your browser!_ +{{ image_figure( + alt="bounty-bros-title-screen" + src="bounty-bros.png" + caption="Click the image to play the game in your browser!", + link="https://katharostech.github.io/skipngo_pre-releases/refs/tags/pre-release-1/?asset_url=https://katharostech.github.io/bounty-bros_pre-releases/1") }} [Bounty Bros.][bounty_bros] is a prototype game, similar to the old Legend of Zelda® games, developed by [Katharos Technology][katharostech] as a testing @@ -319,8 +329,11 @@ _Discussions: ### [Theta Wave] -[![Blast Repeller](theta-wave.gif)][Theta Wave] -_The Blast Repeller item pushes blasts away from the player_ +{{ image_figure( + alt="Blast Repeller" + src="theta-wave.gif" + caption="The Blast Repeller item pushes blasts away from the player", + link="https://github.com/amethyst/theta-wave") }} [Theta Wave] is an open-source space shooter game by developers [@micah_tigley] and [@carlosupina]. It is one of the showcase games for the [Amethyst Engine]. In @@ -525,8 +538,10 @@ _Discussion: [Twitter][2048-bevy-twitter]_ ### [Graphite][graphite-repo] -![Piet Mondrian's artwork replicated in Graphite using the new color picker](graphite-piet.png) -_Piet Mondrian's artwork replicated in Graphite using the new color picker_ +{{ image_figure( + alt="Piet Mondrian's artwork replicated in Graphite using the new color picker" + src="graphite-piet.png" + caption="Piet Mondrian's artwork replicated in Graphite using the new color picker") }} Graphite ([GitHub][graphite-repo], [Discord][graphite-discord], [Twitter](https://twitter.com/GraphiteEditor)) is an in-development vector and @@ -624,8 +639,10 @@ done by [naga], roughly 4x as fast as the C++ alternative ### [rafx] -![Rafx Wireframe Demo](rafx-wireframe-demo.jpg) -_Demo with wireframes enabled_ +{{ image_figure( + alt="Rafx Wireframe Demo" + src="rafx-wireframe-demo.jpg" + caption="Demo with wireframes enabled") }} Rafx is a multi-backend renderer that optionally integrates with the [distill][rafx-distill] asset pipeline. @@ -654,8 +671,10 @@ instead of imgui. ### [Bevy Retro][bevy_retro] -![ui-example](bevy-retro.gif) -_Bevy Retro UI example_ +{{ image_figure( + alt="ui-example" + src="bevy-retro.gif" + caption="Bevy Retro UI example") }} [Bevy Retro][bevy_retro] is a [Bevy] plugin designed for making pixel-perfect games as easily as possible. @@ -685,8 +704,10 @@ You can ask questions or give feedback for Bevy Retro ### [Texture Generator] -![A tilemap with procedural textures](texture-generator.png) -_A preview to version 0.5 with furniture_ +{{ image_figure( + alt="A tilemap with procedural textures" + src="texture-generator.png" + caption="A preview to version 0.5 with furniture") }} [Texture Generator] by [Orchaldir] is a library to generate textures, and a library to use those textures to render tilemaps. @@ -774,8 +795,10 @@ F-reps can also be sliced into polylines/vectors or bitmaps – e.g. for derivin ### [nvtx-rs] -![A screenshot of NVIDIA NSight Systems with only one sections measured](nvtx.png) -_Watching the profile in NVIDIA NSight Systems_ +{{ image_figure( + alt="A screenshot of NVIDIA NSight Systems with only one sections measured" + src="nvtx.png" + caption="Watching the profile in NVIDIA NSight Systems") }} NVIDIA® Tools Extension SDK (NVTX) is a C-based API for annotating events, code ranges, and resources in your applications. diff --git a/content/news/023/index.md b/content/news/023/index.md index d2e9217a6..075f3fee4 100644 --- a/content/news/023/index.md +++ b/content/news/023/index.md @@ -175,9 +175,11 @@ telnet protocols, and TLS connections to name a few. ### [The Hat Chooses the Wizard][hatchooseswizard] -![Level 1-4 of the game "The Hat Chooses the Wizard" running on a Game Boy -Advance](hatchooseswizard.jpg) -_Runs on real hardware!_ +{{ image_figure( + alt='Level 1-4 of the game "The Hat Chooses the Wizard" running on a Game Boy +Advance' + src="hatchooseswizard.jpg" + caption="Runs on real hardware!") }} The Hat Chooses the Wizard is a 2D platformer for the Game Boy Advance. @@ -202,10 +204,12 @@ feedback is welcome. ### [Themengi] -![User highlighting objects in the game world and parsing the phrase +{{ image_figure( + alt='User highlighting objects in the game world and parsing the phrase "dang puru rupuu kythengi" into the action "open", object "door", and mods -"red" and "left".](themengi.gif) -_Demonstration of natural language parser with temporary words and grammar._ +"red" and "left".' + src="themengi.gif" + caption="Demonstration of natural language parser with temporary words and grammar.") }} [Themengi] ([Discord][themengi-discord], [Twitter][themengi-twitter]) is a puzzle adventure game where you learn an alien language, @@ -225,8 +229,11 @@ outline shader in the Bevy render pipeline. ### [Dango] -[![Dango bouncing and jumping around](dango.gif)][Dango] -_Cute rice dumplings_ +{{ image_figure( + alt="Dango bouncing and jumping around" + src="dango.gif" + caption="Cute rice dumplings", + link="http://ernestwong.nz/dango-tribute/server/") }} [Dango] ([GitHub][dango-github]) is a little multiplayer blob physics sandbox made by [@ErnWong] as a tribute to the [Dango Daikazoku][dango-daikazoku] from @@ -321,8 +328,10 @@ downloadable Windows version. ### Flesh -![flesh preview](flesh.gif) -_demo build_ +{{ image_figure( + alt="flesh preview" + src="flesh.gif" + caption="demo build") }} Flesh by [@im_oab] is a 2D-horizontal shmup game with hand-drawn animation and organic/fleshy theme. It is implemented using [Tetra]. This month, an internal @@ -335,7 +344,10 @@ demo build was released, with a development journal available on ### [Veloren][veloren] -![Cave run](veloren.png) _Turns out the cave wasn't empty_ +{{ image_figure( + alt="Cave run" + src="veloren.png" + caption="Turns out the cave wasn't empty") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -387,8 +399,10 @@ scoreboard, increasing fall speed, game over, JUICE. ### [The Process] -![The new terrain editor in The Process](the_process.gif) -_Building the world, one voxel at a time_ +{{ image_figure( + alt="The new terrain editor in The Process" + src="the_process.gif" + caption="Building the world, one voxel at a time") }} [The Process] by @setzer22 is an upcoming game about factory building, process management, and carrot production, @@ -633,8 +647,10 @@ or the [source code on GitHub][Sugarcubes source]. ### [Rusty Slider] -![Rusty Slider code block example](rustyslider.png) -_Supports syntax highlighting of code blocks_ +{{ image_figure( + alt="Rusty Slider code block example" + src="rustyslider.png" + caption="Supports syntax highlighting of code blocks") }} [Rusty Slider] by [@ollej] is a markdown slideshow viewer written with macroquad. @@ -661,9 +677,11 @@ demo purposes, to show actual results of commands. ### [Graphite][graphite-repo] -![Geometric cherry tree](graphite-cherry-tree.png) -_Geometric cherry tree artwork by BillyDM, winner of last month's first -Graphite art contest_ +{{ image_figure( + alt="Geometric cherry tree" + src="graphite-cherry-tree.png" + caption="Geometric cherry tree artwork by BillyDM, winner of last month's first +Graphite art contest") }} Graphite ([GitHub][graphite-repo], [Discord][graphite-discord], [Twitter](https://twitter.com/GraphiteEditor)) is an in-development vector and @@ -694,8 +712,10 @@ code and how you can help! ### [texture_generator] v0.5 -![A black&white top-down image of some building](texture_generator.png) -_An depth image example_ +{{ image_figure( + alt="A black&white top-down image of some building" + src="texture_generator.png" + caption="An depth image example") }} [texture_generator] by [Orchaldir] is a library to generate textures, and a library to use those textures to render tilemaps. @@ -726,9 +746,11 @@ _Discussions: [GGRS]([crates.io](https://crates.io/crates/ggrs)) by [@g_schup] are pure Rust implementations of the [GGPO] rollback networking library. -![Evo Moment 37](rollback.jpg) -_[Evo Moment 37](https://www.youtube.com/watch?v=JzS96auqau0): -Only offline or with rollback!_ +{{ image_figure( + alt="Evo Moment 37" + src="rollback.jpg" + caption="[Evo Moment 37](https://www.youtube.com/watch?v=JzS96auqau0): +Only offline or with rollback!") }} Rollback networking is a peer-to-peer network technique designed to hide network latency in fast-paced games with precise inputs. Traditional techniques @@ -771,8 +793,11 @@ check out the [GGPO Developers Discord]! ### [CrystalOrb] -[![CrystalOrb demo animation](crystalorb.gif)][crystalorb-demo] -_Interactive [demo][crystalorb-demo] that uses the [Rapier] physics engine._ +{{ image_figure( + alt="CrystalOrb demo animation" + src="crystalorb.gif" + caption="Interactive [demo](https://ernestwong.nz/crystalorb/demo) that uses the [Rapier](https://rapier.rs) physics engine.", + link="https://ernestwong.nz/crystalorb/demo") }} [CrystalOrb] by [@ErnWong] is a new networking library that aims to help fast-paced client-server games synchronize their game state across multiple @@ -801,8 +826,10 @@ There is an [interactive demo][crystalorb-demo] of CrystalOrb that features the ### [glutin] (and [winit]) -![Animated image showing a window that is opened with a spinning cursor on top](winit-bug-1.gif) -_This cursor may be waiting [in vain], but your patience shall be rewarded._ +{{ image_figure( + alt="Animated image showing a window that is opened with a spinning cursor on top" + src="winit-bug-1.gif" + caption="This cursor may be waiting [in vain], but your patience shall be rewarded.") }} [glutin] is a low-level library for OpenGL context creation, written in pure Rust. [glutin] uses and re-exports [winit], which handles window creation and management, @@ -934,8 +961,11 @@ This includes automatic testing using software adapters on CI. ### [rafx] -[![Rafx Flythrough Demo](rafx-flythrough-demo.jpg)][rafx-youtube-video] -_A scene exported via blender with animated camera motion, [watch the demo on youtube][rafx-youtube-video]!_ +{{ image_figure( + alt="Rafx Flythrough Demo" + src="rafx-flythrough-demo.jpg" + caption="A scene exported via blender with animated camera motion, [watch the demo on youtube](https://www.youtube.com/watch?v=HlJsgbGyl0I)!", + link="https://www.youtube.com/watch?v=HlJsgbGyl0I") }} [Rafx][rafx] is a multi-backend renderer that optionally integrates with the [distill][rafx-distill] asset pipeline. diff --git a/content/news/024/index.md b/content/news/024/index.md index c5ae10139..fb22ab7d5 100644 --- a/content/news/024/index.md +++ b/content/news/024/index.md @@ -82,7 +82,10 @@ out [this form][gamedev-meetup-form]. ### [Veloren][veloren] -![Llama ride](veloren.png) _Out for a llama ride_ +{{ image_figure( + alt="Llama ride" + src="veloren.png" + caption="Out for a llama ride") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -147,8 +150,10 @@ if you'll be there! ### [Shroom Kingdom][shroom-kingdom] -![Shroom Kingdom Asset Extractor](shroom-kingdom.gif) -_Extracting the game assets_ +{{ image_figure( + alt="Shroom Kingdom Asset Extractor" + src="shroom-kingdom.gif" + caption="Extracting the game assets") }} Shroom Kingdom ([GitHub][shrm-github], [Discord][shrm-discord], [Twitter][shrm-twitter]) is an upcoming play-to-earn video game built with web technologies @@ -186,8 +191,10 @@ Next steps include developing a Proof of Concept. ### [Wicked Potions][wicked_potions] -![Screenshot of the game](wicked_potions.png) -_Match ingredients to brew wicked potions_ +{{ image_figure( + alt="Screenshot of the game" + src="wicked_potions.png" + caption="Match ingredients to brew wicked potions") }} [Wicked Potions][wicked_potions] is a match-three game developed by [@nikl_me] and [jennifervphan] for the [Bored Pixels Jam 8][bored-pixels-jam-8]. @@ -209,8 +216,10 @@ and story a bit more. ### [The Process] -![Showcase image for the new inventory UI in The Process](the_process.gif) -_The godot_egui backend powering a new inventory UI for The Process_ +{{ image_figure( + alt="Showcase image for the new inventory UI in The Process" + src="the_process.gif" + caption="The godot_egui backend powering a new inventory UI for The Process") }} [The Process] by @setzer22 is an upcoming game about factory building, process management, and carrot production, @@ -293,8 +302,11 @@ Changes and improvements from the last month: ### [Theta Wave] -[![Amethyst to Bevy](theta-wave.gif)][Bevy Theta Wave] -_Left: Theta Wave with Amethyst, Right: Theta Wave with Bevy (so far)_ +{{ image_figure( + alt="Amethyst to Bevy" + src="theta-wave.gif" + caption="Left: Theta Wave with Amethyst, Right: Theta Wave with Bevy (so far)", + link="https://github.com/thetawavegame/thetawave") }} [Theta Wave] is an open-source space shooter game by developers [@micah_tigley] and [@carlosupina]. It is one of the showcase games for the [Amethyst Engine]. In @@ -315,8 +327,11 @@ the port [here][Bevy Port Issue]. ### [Bounty Bros.][bounty_bros] -[![bounty-bros-title-screen](bounty-bros.jpg)][bounty_bros_webgame] -_Click the image to play the game in your browser!_ +{{ image_figure( + alt="bounty-bros-title-screen" + src="bounty-bros.jpg" + caption="Click the image to play the game in your browser!", + link="https://katharostech.github.io/skipngo_pre-releases/refs/tags/pre-release-2/?asset_url=https://katharostech.github.io/bounty-bros_pre-releases/2") }} [Bounty Bros.][bounty_bros] is a prototype, top-down adventure game, developed by [Katharos Technology][katharostech] as a testing ground for a future @@ -380,8 +395,10 @@ issue](https://github.com/ggez/ggez/issues/875). ### [Macroquad] -![Zemeroth running on Android](macroquad.jpg) -_A Macroquad game ([Zemeroth](#zemeroth)) running on Android!_ +{{ image_figure( + alt="Zemeroth running on Android" + src="macroquad.jpg" + caption="A Macroquad game ([Zemeroth](#zemeroth)) running on Android!") }} [Macroquad] is a cross-platform game framework, inspired heavily by Raylib. @@ -465,8 +482,11 @@ animated sprites. ### [Writing an RPG using rg3d][writing-an-rpg-using-rg3d] -[![rg3d RPG screenshot](rg3d.jpg)][rg3d-video] -_[Click here][rg3d-video] to see a video of the character controller in action!_ +{{ image_figure( + alt="rg3d RPG screenshot" + src="rg3d.jpg" + caption="[Click here](https://www.youtube.com/watch?v=l2ZbDpoIdqk) to see a video of the character controller in action!", + link="https://www.youtube.com/watch?v=l2ZbDpoIdqk") }} Dimitry Stepanov (aka @mrDIMAS) published a [tutorial series][writing-an-rpg-using-rg3d] about @@ -481,8 +501,10 @@ it's still a great way to learn the basics of rg3d and Rust gamedev in general! ### [Graphite][graphite-repo] -![Graphite logo](graphite_scream.png) -_A recreation of "The Scream" in Graphite by Norgate_ +{{ image_figure( + alt="Graphite logo" + src="graphite_scream.png" + caption="A recreation of "The Scream" in Graphite by Norgate") }} Graphite ([GitHub][graphite-repo], [Discord][graphite-discord], [Twitter](https://twitter.com/GraphiteEditor)) is an in-development vector and @@ -639,8 +661,10 @@ now features a [tutorial] and full game [examples] for every type of session. ### [Bevy Retrograde][bevy_retrograde] -![physics example](./bevy-retrograde.gif) -_Bevy Retrograde Physics Map example_ +{{ image_figure( + alt="physics example" + src="bevy-retrograde.gif" + caption="Bevy Retrograde Physics Map example") }} [Bevy Retrograde][bevy_retrograde] (formerly Bevy Retro) is a [Bevy] plugin designed for making pixel-perfect games as easily as possible. diff --git a/content/news/025/index.md b/content/news/025/index.md index 3b46a5cea..a6ca90674 100644 --- a/content/news/025/index.md +++ b/content/news/025/index.md @@ -105,10 +105,12 @@ out [this form][gamedev-meetup-form]. ### [Pixie Wrangler] -[![Screenshot of Pixie Wrangler showing pixies traveling along paths drawn by -the player.](pixie_wrangler.png)][pw-itch] -_Click the image to play the game in your desktop browser!_ - +{{ image_figure( + alt="Screenshot of Pixie Wrangler showing pixies traveling along paths drawn by +the player." + src="pixie_wrangler.png" + caption="Click the image to play the game in your desktop browser!", + link="https://euclidean-whale.itch.io/pixie-wrangler") }} Pixie Wrangler ([itch.io][pw-itch], [GitHub][pw-github]) by [@rparrett] is a puzzle game reminiscent of old school printed circuit board design software. @@ -132,8 +134,10 @@ projects: [bevy_webgl2], [bevy_prototype_lyon], [bevy_asset_ron], ### [vange-rs] -![Vange-rs on wgpu-0.10](vangers-wgpu0.10.png) -_vange-rs on wgpu-0.10_ +{{ image_figure( + alt="Vange-rs on wgpu-0.10" + src="vangers-wgpu0.10.png" + caption="vange-rs on wgpu-0.10") }} Vange-rs is a rewrite of the iconic Vangers game from 1998 in Rust, heavily utilizing GPU for rendering. @@ -154,8 +158,11 @@ new working title) was published on Itch.io. ### [RecWars] -[![RecWars screenshot](rec-wars.png)][rec-wars-web] _Click the image to play in -your browser_ +{{ image_figure( + alt="RecWars screenshot" + src="rec-wars.png" + caption="Click the image to play in your browser" + link="https://martin-t.gitlab.io/gitlab-pages/rec-wars/macroquad.html") }} [RecWars] by @martin-t is a free and open source Rust clone of [RecWar], a top down vehicle shooter. @@ -174,9 +181,10 @@ as [in the browser][rec-wars-web]. ### [Vehicle Evolver Deluxe] -![Vehicle Evolver Deluxe in action, showing multiple vehicles attempting to -complete an obstacle course](vehicle_evolver_deluxe.gif) -_Vehicle Evolver Deluxe in action!_ +{{ image_figure( + alt="Vehicle Evolver Deluxe in action, showing multiple vehicles attempting to complete an obstacle course" + src="vehicle_evolver_deluxe.gif" + caption="Vehicle Evolver Deluxe in action!") }} [Vehicle Evolver Deluxe] ([GitHub](https://github.com/Bauxitedev/vehicle_evolver_deluxe), @@ -208,10 +216,13 @@ https://twitter.com/bauxitedev ### Liminal Lab 000 -[![Screenshot of Liminal Lab 000 showing a white-walled laboratory test chamber -with buttons on the floor, lights on the wall, and a dark cube levitating -overhead.](liminal_lab_000.png)][ll000-live] _Click the image to play the game -in your desktop browser!_ +{{ image_figure( + alt="Screenshot of Liminal Lab 000 showing a white-walled laboratory test chamber + with buttons on the floor, lights on the wall, and a dark cube levitating + overhead." + src="liminal_lab_000.png" + caption="Click the image to play the game in your desktop browser!", + link="https://pebazium.web.app/") }} Liminal Lab 000 ([live version][ll000-live]) by [@pebaz] is a tiny, minimalistic puzzle game with 1 puzzle designed around the concept of [Liminal @@ -260,8 +271,10 @@ _Discussions: ### [A Day at the Movies][dayatmovies] -![Screenshot of "A Day at the Movies"](adayatthemovies.png) -_The kids getting ready to sneak into a movie_ +{{ image_figure( + alt='Screenshot of "A Day at the Movies"' + src="adayatthemovies.png" + caption="The kids getting ready to sneak into a movie") }} "A Day at the Movies" ([GitHub][dayatmoviesgit], [Itch][dayatmovies]) by [Michael Ramirez] is a short game about stealth, movies, and friendship. @@ -334,8 +347,10 @@ Read the [dev blog][triplehex-blog] for more info, follow ### [The Process] -![An animated gif showing a machine setup to smelt iron ore](the_process.gif) _A -smelter factory setup in The Process_ +{{ image_figure( + alt="An animated gif showing a machine setup to smelt iron ore" + src="the_process.gif" + caption="A smelter factory setup in The Process") }} [The Process] by @setzer22 is an upcoming game about factory building, process management, and carrot production, built with Rust using the Godot game engine! @@ -434,8 +449,11 @@ _Discussions: ### [Theta Wave] -[![Theta Wave Mobs](theta-wave.gif)][Theta Wave] -_All mobs ported to Bevy Theta Wave_ +{{ image_figure( + alt="Theta Wave Mobs" + src="theta-wave.gif" + caption="All mobs ported to Bevy Theta Wave", + link="https://github.com/thetawavegame/thetawave") }} [Theta Wave] is an open-source space shooter game by developers [@micah_tigley] and [@carlosupina]. In the past month, they have been working towards porting @@ -455,8 +473,10 @@ _Discussions: ### [Shroom Kingdom][shroom-kingdom] -![SHRM token distribution](shroom-kingdom.png) -_SHRM token distribution_ +{{ image_figure( + alt="SHRM token distribution" + src="shroom-kingdom.png" + caption="SHRM token distribution") }} Shroom Kingdom ([GitHub][shrm-github], [Discord][shrm-discord], [Twitter][shrm-twitter]) is an upcoming play-to-earn video game built with web @@ -535,7 +555,10 @@ and/or get the source code at [GitLab][tbd-gitlab]. ### [Veloren][veloren] -![Exploring dungeons](veloren.jpg) _Exploring the caves_ +{{ image_figure( + alt="Exploring dungeons" + src="veloren.jpg" + caption="Exploring the caves") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -670,8 +693,10 @@ _Discussions: ### [Graphite][graphite-repo] -![Graphite alpha teaser](graphite_alpha.png) -_Graphite Alpha - Coming very soon_ +{{ image_figure( + alt="Graphite alpha teaser" + src="graphite_alpha.png" + caption="Graphite Alpha - Coming very soon") }} Graphite ([GitHub][graphite-repo], [Discord][graphite-discord], [Twitter](https://twitter.com/GraphiteEditor)) is an in-development vector and @@ -756,8 +781,10 @@ If you are interested in developing with GGRS, check the following resources: ### [wgpu]-0.10 -![Rend3 on wgpu-0.10](./rend3-wgpu0.10.jpg) -_unannounced engine on wgpu-0.10_ +{{ image_figure( + alt="Rend3 on wgpu-0.10" + src="rend3-wgpu0.10.jpg" + caption="unannounced engine on wgpu-0.10") }} The team has released wgpu-0.10 with a fully rewritten graphics abstraction ("wgpu-hal" instead of "gfx-hal"), as well as [naga] version 0.6. Read more in @@ -786,8 +813,10 @@ more work ahead to make it solid, and to support WebGL2 properly. ### [godot-egui]-0.1.8 -![An animation showing godot-egui running as a plugin inside the editor](godot_egui.gif) -_You can now use egui to make Godot editor extensions!_ +{{ image_figure( + alt="An animation showing godot-egui running as a plugin inside the editor" + src="godot_egui.gif" + caption="You can now use egui to make Godot editor extensions!") }} The [egui](https://github.com/emilk/egui) backend for [godot-rust](https://github.com/godot-rust/godot-rust) is improving fast. Some diff --git a/content/news/026/index.md b/content/news/026/index.md index 88eee0cf2..6d2d73dca 100644 --- a/content/news/026/index.md +++ b/content/news/026/index.md @@ -173,7 +173,10 @@ Development for the web version has moved to the ### [Veloren][veloren] -![An odd structure in the woods](veloren.jpg) _An odd structure in the woods_ +{{ image_figure( + alt="An odd structure in the woods" + src="veloren.jpg" + caption="An odd structure in the woods") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -211,8 +214,10 @@ September's full weekly devlogs: "This Week In Veloren...": ### [Harvest Hero Origins][hho] @ PAX West 2021 -![hho @ pax](hho_pax.jpg) -_Gemdrop Games booth at PAX West 2021_ +{{ image_figure( + alt="hho @ pax" + src="hho_pax.jpg" + caption="Gemdrop Games booth at PAX West 2021") }} [Harvest Hero Origins][hho] ([Discord](https://discord.gg/CJRbxQn3d9), @@ -323,8 +328,10 @@ at [Idu's Discord server's #demo-download channel][idu-discord]! ### [Antorum Online] -![Some players fishing at the beach](antorum.jpg) -_It's a good day for fishing..._ +{{ image_figure( + alt="Some players fishing at the beach" + src="antorum.jpg" + caption="It's a good day for fishing...") }} [Antorum Online] is a micro-multiplayer online role-playing game by [@dooskington]. The game server is written in Rust, and the official client is being developed @@ -433,8 +440,10 @@ As the godot-rust community keeps growing, the project can now be found ### [Emerald] -![hotreload](emd_texture_hotreload.gif) -_Built in texture hot reloading, just call `emd.loader().hotreload()`_ +{{ image_figure( + alt="hotreload" + src="emd_texture_hotreload.gif" + caption="Built in texture hot reloading, just call `emd.loader().hotreload()`") }} [Emerald] by [@bombfuse][bombfuse_twi] is a 2D game engine focused on being super portable and easy-to-use. @@ -462,8 +471,10 @@ fork and PR! ### [Starframe] -![physically-connected groups of primitives are framed with rectangles](starframe-islands.jpeg) -_Grouping bodies into disjoint "islands"_ +{{ image_figure( + alt="physically-connected groups of primitives are framed with rectangles" + src="starframe-islands.jpeg" + caption='Grouping bodies into disjoint "islands"') }} [Starframe] by [@molentum] is a work-in-progress game engine for physics-y sidescrolling 2D games. @@ -486,9 +497,11 @@ More details to be shown soonish! ### [Arcana] -![two synchronized views on tanks players-controlled tanks shooting each other -](arcana-tanks-multiplayer.gif) -_Two clients connected to the same server_ +{{ image_figure( + alt="two synchronized views on tanks players-controlled tanks shooting each other +" + src="arcana-tanks-multiplayer.gif" + caption="Two clients connected to the same server") }} [Arcana] is ECS based game engine focused on simplicity and performance. @@ -515,8 +528,11 @@ out-of-the-box atm, but stability improvements are expected next month. ### [rg3d] v0.23 -[![rg3d 0.23 feature highlights video](rg3d_video.jpg)][rg3d_0_23_video] -_A feature highlights [video][rg3d_0_23_video]_ +{{ image_figure( + alt="rg3d 0.23 feature highlights video" + src="rg3d_video.jpg" + caption="A feature highlights [video](https://youtube.com/watch?v=3tOdwmRWLKw)", + link="https://youtube.com/watch?v=3tOdwmRWLKw") }} [rg3d] ([Discord][rg3d_discord], [Twitter][rg3d_twitter], [Patreon][rg3d_patreon]) is a game engine that aims to be easy to use and provide a large @@ -545,8 +561,10 @@ _Discussions: [/r/rust](https://reddit.com/r/rust/comments/pnhbe4/media_rg3d_023 ### [Rust RPG Toolkit][rpg_rk] -![A dialogue window](capstone.png) -_[Capstone] - a WIP game that uses Rust RPG Toolkit_ +{{ image_figure( + alt="A dialogue window" + src="capstone.png" + caption="[Capstone](https://www.reddit.com/r/rust_gamedev/comments/paz35s/capstone) - a WIP game that uses Rust RPG Toolkit") }} [Rust RPG Toolkit][rpg_rk] by [@olefasting] is an engine for creating highly customizable and user modable action 2D action RPG's using Rust amd JSON. @@ -625,8 +643,10 @@ It supports modifying PC saves as well as decrypted PS4 saves ### [wgpu] -![Deno with wgpu crown](deno-wgpu.png) -_deno-wgpu_ +{{ image_figure( + alt="Deno with wgpu crown" + src="deno-wgpu.png" + caption="deno-wgpu") }} [wgpu] is a cross-platform, safe, pure-rust graphics API that runs natively on Vulkan, Metal, D3D12, D3D11, and OpenGLES; and on top of WebGPU on wasm. @@ -760,8 +780,10 @@ ktx2 writing support will come a future release. ### [rend3][rend3-github] -![rend3 sci-fi base scene](rend3-scifi.jpg) -_rend3 rendering a complex scene_ +{{ image_figure( + alt="rend3 sci-fi base scene" + src="rend3-scifi.jpg" + caption="rend3 rendering a complex scene") }} rend3 is a new 3D rendering library that focuses on having an easy to user interface without sacrificing performance or customizability. @@ -798,8 +820,10 @@ the new APIs, including the new Tables API. ### [Emergent AI][emergent-git] -![Utility AI](emergent-ai.gif) -_Example of game behavior using Utility AI_ +{{ image_figure( + alt="Utility AI" + src="emergent-ai.gif" + caption="Example of game behavior using Utility AI") }} [Emergent AI][emergent-git] by [@PsichiX][psichix-twitter] is a new crate designed to provide modern AI solutions for games written in Rust. Its highly modularized @@ -869,8 +893,10 @@ _Discussions: ### [KAS] GUI v0.10 -![a window with many widgets and tabs](kas-demo.gif) -_Widget gallery demo_ +{{ image_figure( + alt="a window with many widgets and tabs" + src="kas-demo.gif" + caption="Widget gallery demo") }} [KAS] by [@dhardy] is a general-purpose retained UI toolkit. This month v0.10 was released: diff --git a/content/news/027/index.md b/content/news/027/index.md index a3769c6b5..cc6efb8a0 100644 --- a/content/news/027/index.md +++ b/content/news/027/index.md @@ -107,8 +107,10 @@ Early Access release on Steam is expected in mid 2022. ### [The Process] -![An animated gif showing an engineer shooting rockets](the_process.gif) -_Firing Carrockets™!_ +{{ image_figure( + alt="An animated gif showing an engineer shooting rockets" + src="the_process.gif" + caption="Firing Carrockets™!") }} [The Process] by @setzer22 is an upcoming game about factory building, process management, and carrot production, built with Rust using the Godot game engine! @@ -172,8 +174,10 @@ is available [here][chaos-theory-src] and ### [Me And My Unicycle] -![Me And My Unicycle screenshot](me_and_my_unicycle_cover.png) -_Can you handle this unstable ride?_ +{{ image_figure( + alt="Me And My Unicycle screenshot" + src="me_and_my_unicycle_cover.png" + caption="Can you handle this unstable ride?") }} [Me And My Unicycle] is a 2D physics game by [@nikl_me] submitted to Ludum Dare 49. It is build with [Bevy] and [the code can be found on GitHub][mamu-source]. @@ -273,8 +277,10 @@ The developer have also written a blog post: ### [Graph Game] -![image/gameplay of the game: circle and triangles](graph_game.gif) -_Navigating the graph map can be stressful_ +{{ image_figure( + alt="image/gameplay of the game: circle and triangles" + src="graph_game.gif" + caption="Navigating the graph map can be stressful") }} [Graph Game] ([GitHub][graph-game-github]) uses [Bevy](https://bevyengine.org/) as its engine. You can play it from your @@ -323,8 +329,10 @@ You can stay up to date on the latest developments of Way of Rhea by ### [PaddlePunks][paddlepunks-itch] -![Animated gameplay that looks like pong mixed with an anime fighting game](paddlepunks-gameplay.gif) -_A round between a player and the AI set to Hard_ +{{ image_figure( + alt="Animated gameplay that looks like pong mixed with an anime fighting game" + src="paddlepunks-gameplay.gif" + caption="A round between a player and the AI set to Hard") }} PaddlePunks is a versus tennis game by [Felix Windström][paddlepunks-twitter] with a diverse cast of characters and playstyles and online play with rollback @@ -342,8 +350,10 @@ players. Updates are also posted to [Twitter][paddlepunks-twitter]. ### [Veloren][veloren] -![An early-morning sunrise](veloren.jpg) -_An early-morning sunrise_ +{{ image_figure( + alt="An early-morning sunrise" + src="veloren.jpg" + caption="An early-morning sunrise") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -441,8 +451,11 @@ For more details, see the [changelog][tetra-changelog]. ### [GameDev Mini Symposium][gms-talk] -[![An early-morning sunrise](gms-talk.png)][gms-talk] -_Click the image to watch the talk_ +{{ image_figure( + alt="An early-morning sunrise" + src="gms-talk.png" + caption="Click the image to watch the talk", + link="https://www.youtube.com/watch?v=OzUsPi4kHes") }} Back in September, the University of Glasgow's GameLab held a 'GameDev Mini Symposium' online. One of the featured speakers was @@ -487,8 +500,10 @@ or [GitHub][spv]. ### [wgpu]-0.11 release -![bevy webgl2 via wgpu](bevy-webgl2.png) -_experimental Bevy branch running on WebGL2 via wgpu_ +{{ image_figure( + alt="bevy webgl2 via wgpu" + src="bevy-webgl2.png" + caption="experimental Bevy branch running on WebGL2 via wgpu") }} The team is happy to announce the release of wgpu-0.11 and naga-0.7. Details can be found on the [gfx-rs blog]. The most exciting feature @@ -506,8 +521,10 @@ and the history of processing shaders with Rust. ### [rend3]-0.2 Release -![rend3-scifi](rend3-scifi.jpg) -_Improved shadows and rendering with rend3 0.2_ +{{ image_figure( + alt="rend3-scifi" + src="rend3-scifi.jpg" + caption="Improved shadows and rendering with rend3 0.2") }} rend3 is a 3D rendering library that focuses on having an easy to use interface without sacrificing performance or customizability. diff --git a/content/news/028/index.md b/content/news/028/index.md index 425ede7a6..f7ad574d6 100644 --- a/content/news/028/index.md +++ b/content/news/028/index.md @@ -79,8 +79,10 @@ working on at the next meetup on [December 11th][rust-meetup-dec-time], fill out ### Flesh -![flesh preview](flesh.gif) -_The melee weapon in action_ +{{ image_figure( + alt="flesh preview" + src="flesh.gif" + caption="The melee weapon in action") }} [Flesh] by [@im_oab] is a 2D-horizontal shmup game with hand-drawn animation and an organic/fleshy theme. It is implemented using [Tetra]. This month's updates @@ -95,8 +97,10 @@ include: ### [One-Click Ninja] -![Screenshot of One-Click Ninja](one-click-ninja.png) -_Screenshot of One-Click Ninja_ +{{ image_figure( + alt="Screenshot of One-Click Ninja" + src="one-click-ninja.png" + caption="Screenshot of One-Click Ninja") }} One-Click Ninja is a rhythm game made in 10 days for [1-Button Jam 2021], written in Rust using the [Bevy] engine. @@ -148,8 +152,10 @@ tunnel full of spiders and other enemies! They also worked on a ### [Halloween Mahjong Solitaire][mahjong-github] -![Halloween Mahjong Solitaire screenshot](mahjong-screenshot.png) -_Screenshot of Halloween Mahjong Solitaire_ +{{ image_figure( + alt="Halloween Mahjong Solitaire screenshot" + src="mahjong-screenshot.png" + caption="Screenshot of Halloween Mahjong Solitaire") }} Halloween Mahjong Solitaire ([GitHub][mahjong-github]) by [@Syn-Nine][synnine-twitter] is a game created for the [Game Developers @@ -193,8 +199,10 @@ You can follow the development of Country Slice on ### [Veloren][veloren] -![Travelling merchant](veloren.jpg) -_A merchant paused in their travels_ +{{ image_figure( + alt="Travelling merchant" + src="veloren.jpg" + caption="A merchant paused in their travels") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -234,8 +242,11 @@ November's full weekly devlogs: "This Week In Veloren...": ### [BENDYWORM] -![An animation of a platformer where the entire world bends around -you](bendyworm.gif) _Watch out! The entire world bends around you!_ +{{ image_figure( + alt="An animation of a platformer where the entire world bends around +you" + src="bendyworm.gif" + caption="Watch out! The entire world bends around you!") }} BENDYWORM ([GitHub][BENDYWORM-github], [Twitter][BENDYWORM-twitter]) by [@bauxitedev][BENDYWORM-bauxitedev] is a platformer with a twist: the entire @@ -347,10 +358,13 @@ _Discussions: ### [PaddlePunks][paddlepunks-itch] -![Pong, but one of the characters rewinds time to figure out which of the other -player's ballusions is actually real](paddlepunks-rewind.gif) _One of the -characters can spend super meter to rewind time, this is strong but pretty -situational._ +{{ image_figure( + alt="Pong, but one of the characters rewinds time to figure out which of the other + player's ballusions is actually real" + src="paddlepunks-rewind.gif" + caption="One of the + characters can spend super meter to rewind time, this is strong but pretty + situational.") }} PaddlePunks is a versus tennis game by [Felix Windström][paddlepunks-twitter] with a diverse cast of characters and playstyles and online play with rollback @@ -524,8 +538,10 @@ to write compute shaders in a "real language". ### [Rust Roguelike Tutorial][rl-tut] -![ascii map and ui](rl-tut.jpg) -_A nasty demon monster at the exit to Abyss_ +{{ image_figure( + alt="ascii map and ui" + src="rl-tut.jpg" + caption="A nasty demon monster at the exit to Abyss") }} [The Roguelike Tutorial][rl-tut] by [@herberticus] got a [new 75th (!) chapter][rl-tut-new] that shows how to generate a chaotic Voronoi-based city @@ -543,8 +559,10 @@ portal. ### [Hands-on Rust][hor] -![A screenshot of a game in a browser](hor-bonus.jpg) -_A Dungeon Crawler running in a browser_ +{{ image_figure( + alt="A screenshot of a game in a browser" + src="hor-bonus.jpg" + caption="A Dungeon Crawler running in a browser") }} Another update from [@herberticus] is a bonus article for the [Hands-on Rust][hor] book: ["Run Your Rust Games in a Browser"][hor-bonus] that guides the @@ -636,8 +654,11 @@ Discord][graphite-discord] and get involved! ### [Solid Editor][solid] -[![youtube preview: modelling tree's branches using ball as a cursor](solid-editor.jpg)][solid-video] -_A [demo video][solid-video] of using the editor_ +{{ image_figure( + alt="youtube preview: modelling tree's branches using ball as a cursor" + src="solid-editor.jpg" + caption="A [demo video][solid-video] of using the editor", + link="https://youtube.com/watch?v=GuVM3W9Pfdg") }} [Solid Editor][solid] is [Solid Engine][solid-engine]'s custom-built voxel graphics editor. It is designed to be a key part of the engine's asset pipeline, diff --git a/content/news/029/index.md b/content/news/029/index.md index a7d72a992..23e9dd691 100644 --- a/content/news/029/index.md +++ b/content/news/029/index.md @@ -80,8 +80,10 @@ Twitch][rust-gamedev-twitch]. ### [Tet-Rust][tetrust-github] -![Tet-Rust screenshot](tet-rust-1-sm.gif) -_Screenshot of Tet-Rust_ +{{ image_figure( + alt="Tet-Rust screenshot" + src="tet-rust-1-sm.gif" + caption="Screenshot of Tet-Rust") }} Tet-Rust ([GitHub][tetrust-github]) by [@Syn-Nine][synnine-twitter] is a mini game based on the famous falling puzzle @@ -98,8 +100,10 @@ that use this framework. ### The Beast of Monte Carlo -![The Beast of Monte Carlo Screenshot](bomc-shots.png) -_Screenshot of The Beast of Monte Carlo_ +{{ image_figure( + alt="The Beast of Monte Carlo Screenshot" + src="bomc-shots.png" + caption="Screenshot of The Beast of Monte Carlo") }} The Beast of Monte Carlo by [@Syn-Nine][synnine-twitter] is a mini role-playing game in development to help work out new features for Syn9's @@ -163,8 +167,10 @@ it gives us a glimpse into 3 different bioms, bosses, enemies and more. ### [Veloren][veloren] -![Winter in a town](veloren.jpg) -_A peaceful winter night_ +{{ image_figure( + alt="Winter in a town" + src="veloren.jpg" + caption="A peaceful winter night") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -342,8 +348,10 @@ Main highlights of the latest [@dooskington's devlog][antorum-post]: ### [Rusty Engine 3.0] -![An example Rusty Engine game](rusty_engine3.png) -_The "Road Race" game prototype running under Rusty Engine 3.0_ +{{ image_figure( + alt="An example Rusty Engine game" + src="rusty_engine3.png" + caption="The "Road Race" game prototype running under Rusty Engine 3.0") }} [Rusty Engine] by [Nathan Stocks] is a game engine built on top of Bevy for people who are learning Rust. @@ -553,8 +561,10 @@ use of assets_manager with ggez engine! ### [wgpu]-0.12 release -![albedo pathtracer](wgpu-pathtracer.png) -_experimental pathtracer on wgpu from @llamajestic_ +{{ image_figure( + alt="albedo pathtracer" + src="wgpu-pathtracer.png" + caption="experimental pathtracer on wgpu from @llamajestic") }} The team concluded 2021 with the release of wgpu-0.12 and naga-0.8. Details can be found on the [gfx-rs blog] and [wgpu reddit discussion]. diff --git a/content/news/030/index.md b/content/news/030/index.md index c1c85fc04..653eefaa5 100644 --- a/content/news/030/index.md +++ b/content/news/030/index.md @@ -83,8 +83,10 @@ Twitch][rust-gamedev-twitch]. ### Flesh -![flesh preview](flesh.gif) -_the second level's background + new enemy_ +{{ image_figure( + alt="flesh preview" + src="flesh.gif" + caption="the second level's background + new enemy") }} [Flesh] by [@im_oab] is a 2D-horizontal shmup game with hand-drawn animation and an organic/fleshy theme. It is implemented using [Tetra]. This month's updates @@ -99,8 +101,10 @@ include: ### [Rusty Vangers] -![Rust engine powering original game](vangers-integrated.jpg) -_Rusty Vangers engine in action within the original game_ +{{ image_figure( + alt="Rust engine powering original game" + src="vangers-integrated.jpg" + caption="Rusty Vangers engine in action within the original game") }} [Rusty Vangers] by [@kvark] is a modern re-implementation of the original [Vangers] game from the last century. @@ -158,8 +162,10 @@ or joining [their Discord][wor-discord]. ### [Garden of the Centaur][centaur-github] -![Garden of the Centaur screenshot](centaur-screenshot.png) -_Screenshot of Garden of the Centaur_ +{{ image_figure( + alt="Garden of the Centaur screenshot" + src="centaur-screenshot.png" + caption="Screenshot of Garden of the Centaur") }} Garden of the Centaur ([GitHub][centaur-github]) by [@Syn-Nine][synnine-twitter] is an action-puzzle mini game where you navigate a @@ -197,8 +203,10 @@ The latest version includes: ### [Veloren][veloren] -![Bright lantern](veloren.jpg) -_A light to keep the night away_ +{{ image_figure( + alt="Bright lantern" + src="veloren.jpg" + caption="A light to keep the night away") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -392,8 +400,10 @@ a sizable list! ([#845][gd-845]) ### [Rusty Engine 4.0] -![An example Rusty Engine game](rusty_engine4.png) -_The updated collider visualization (white outlines) in Rusty Engine 4.0_ +{{ image_figure( + alt="An example Rusty Engine game" + src="rusty_engine4.png" + caption="The updated collider visualization (white outlines) in Rusty Engine 4.0") }} [Rusty Engine] by [Nathan Stocks] is a game engine built on top of Bevy for people who are learning Rust. @@ -416,8 +426,10 @@ _Discussions: ### [Bevy v0.6][bevy-blog] -![bevy bistro night](bevy_bistro_night.jpg) -_The Lumberyard Bistro scene rendered in the new Bevy Renderer._ +{{ image_figure( + alt="bevy bistro night" + src="bevy_bistro_night.jpg" + caption="The Lumberyard Bistro scene rendered in the new Bevy Renderer.") }} [Bevy][bevy] is a refreshingly simple data-driven game engine built in Rust. It is [free and open source][bevy-git] forever! @@ -457,8 +469,10 @@ _Discussions: ### [`three-d` 0.10][three-d] -![three-d example of environment lighting](three-d.jpg) -_Environment lighting example_ +{{ image_figure( + alt="three-d example of environment lighting" + src="three-d.jpg" + caption="Environment lighting example") }} [`three-d`][three-d] is a 2D/3D renderer targeting both desktop and web @@ -680,8 +694,11 @@ and handles chords! ### [rafx] -[![Rafx Screenshot](rafx-screenshot.jpg)][rafx-youtube-video] -_Sci-fi base demo scene, [watch TAA demo on youtube][rafx-youtube-video]!_ +{{ image_figure( + alt="Rafx Screenshot" + src="rafx-screenshot.jpg" + caption="Sci-fi base demo scene, [watch TAA demo on youtube](https://www.youtube.com/watch?v=iWYpX7RGUSA)!", + link="https://www.youtube.com/watch?v=iWYpX7RGUSA") }} [Rafx][rafx] is a multi-backend renderer that optionally integrates with the [distill][rafx-distill] asset pipeline. @@ -790,8 +807,10 @@ _Discussions: ### [Bevy Smud][bevy-smud] -![Bevy Smud screenshot](bevy-smud.png) -_A bevy drawn with Bevy Smud_ +{{ image_figure( + alt="Bevy Smud screenshot" + src="bevy-smud.png" + caption="A bevy drawn with Bevy Smud") }} [Bevy Smud][bevy-smud] is a new [Bevy][bevy-smud-bevy] plugin for drawing 2D shapes using signed distance fields. diff --git a/content/news/031/index.md b/content/news/031/index.md index 931d771ea..02eb8744d 100644 --- a/content/news/031/index.md +++ b/content/news/031/index.md @@ -116,10 +116,11 @@ see your game in there! ### [Name Needed][name-needed] -![The player orders a selection of blocks to be broken, and a brick wall to be -built.](name-needed.gif) -_The player orders a selection of blocks to be broken, and a brick wall to be -built._ +{{ image_figure( + alt="The player orders a selection of blocks to be broken, and a brick wall to be built." + src="name-needed.gif" + caption="The player orders a selection of blocks to be broken, and a brick wall to be built.") }} + [Name Needed][name-needed] by [@DomWilliams0][domwilliams-github] is a one-man effort to produce an open source, intuitive, and high-performance Dwarf @@ -141,8 +142,10 @@ superb `async`/`await` support, which is documented in the most recent devlog. ### [This is Fine Sokoban][sokoban-github] -![This is Fine Sokoban screenshot](sokoban_screenshot.gif) -_Screenshot of This is Fine Sokoban_ +{{ image_figure( + alt="This is Fine Sokoban screenshot" + src="sokoban_screenshot.gif" + caption="Screenshot of This is Fine Sokoban") }} This is Fine Sokoban ([GitHub][sokoban-github]) by [@Syn-Nine][synnine-twitter] is a Sokoban game inspired by the This is Fine @@ -236,8 +239,10 @@ check out its gameplay on [youtube][youtube-molecoole], or on the Steam page. ### [Veloren][veloren] -![Gnarling looking out over a fort](veloren.jpg) -_Looking out over the Gnarling fort_ +{{ image_figure( + alt="Gnarling looking out over a fort" + src="veloren.jpg" + caption="Looking out over the Gnarling fort") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -303,8 +308,10 @@ _Discussions: [Reddit][DIMS-reddit-discussion], [Twitter][DIMS-twitter-discussio ### [Bevy Minesweeper] -![screenshot](bevy_minesweeper.png) -_Demo Screenshot_ +{{ image_figure( + alt="screenshot" + src="bevy_minesweeper.png" + caption="Demo Screenshot") }} [@ManevilleF] published a 12 step [course][Bevy Minesweeper] on how to make a simple 2D Minesweeper using [bevy][bevy] 0.6. @@ -356,8 +363,10 @@ to be refactored to be more modular and cleaner. ### [Godot-Rust to Android without Android Studio][godot-rust-to-android] -![working godot-rust on an android phone](godot-rust-android-via-windows.jpg) -_Proof of concept Godot app running on Android_ +{{ image_figure( + alt="working godot-rust on an android phone" + src="godot-rust-android-via-windows.jpg" + caption="Proof of concept Godot app running on Android") }} [@coffeecodechem] published a [blog post][godot-rust-to-android] on how to export godot-rust as an Android APK on Windows without using Android Studio. It diff --git a/content/news/032/index.md b/content/news/032/index.md index d4e275326..8c9396c8e 100644 --- a/content/news/032/index.md +++ b/content/news/032/index.md @@ -225,8 +225,10 @@ The source for this game is available on [GitHub][cnw-source]. ### [V-Racer][vracer-github] -![VRacer screenshot](vracer_screenshot.gif) -_Screenshot of V-Racer_ +{{ image_figure( + alt="VRacer screenshot" + src="vracer_screenshot.gif" + caption="Screenshot of V-Racer") }} V-Racer ([GitHub][vracer-github]) by [@Syn-Nine][synnine-twitter] is a retro @@ -266,8 +268,10 @@ in the new [Spring Fever expansion][spring-fever]! ### [Veloren][veloren] -![Veloren on the Steam Deck](veloren-steamdeck.jpg) -_Veloren on the Steam Deck!_ +{{ image_figure( + alt="Veloren on the Steam Deck" + src="veloren-steamdeck.jpg" + caption="Veloren on the Steam Deck!") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. diff --git a/content/news/033/index.md b/content/news/033/index.md index 735d26e46..8beb70774 100644 --- a/content/news/033/index.md +++ b/content/news/033/index.md @@ -149,8 +149,10 @@ joining [their Discord][wor-discord]. ### BITGUN -![BITGUN gameplay](bitgun-release-optimized.gif) -_BITGUN gameplay_ +{{ image_figure( + alt="BITGUN gameplay" + src="bitgun-release-optimized.gif" + caption="BITGUN gameplay") }} [BITGUN] ([Discord], [Twitter]) by [@darth] and [@shosanna] is an action roguelite zombie shooter with difficult and satisfying combat you can learn and @@ -181,8 +183,10 @@ _Discussion: [/r/rust](https://www.reddit.com/r/rust/comments/uepde7/after_worki ### [Veloren][veloren] -![Riding at night](veloren.jpg) -_Out for a ride at night_ +{{ image_figure( + alt="Riding at night" + src="veloren.jpg" + caption="Out for a ride at night") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -278,8 +282,10 @@ _Discussions: [/r/rust_gamedev][ees-reddit]_ ### [Bevy v0.7][bevy-blog] -![bevy mushroom](bevy_mushroom.jpg) -_Creative Commons 'Stylized mushrooms' scene by QumoDone rendered in Bevy._ +{{ image_figure( + alt="bevy mushroom" + src="bevy_mushroom.jpg" + caption="Creative Commons 'Stylized mushrooms' scene by QumoDone rendered in Bevy.") }} [Bevy][bevy] is a refreshingly simple data-driven game engine built in Rust. It is [free and open source][bevy-git] forever! @@ -331,8 +337,10 @@ _Discussions: ### Dims -![dims foliage](dims.jpg) -_Foliage rendering in Dims_ +{{ image_figure( + alt="dims foliage" + src="dims.jpg" + caption="Foliage rendering in Dims") }} Dims is an open-world creation platform. @@ -359,8 +367,10 @@ _Discussions: ### [Eldiron] -![Eldiron Image](eldiron_screen.png) -_Behavior Nodes of Eldiron_ +{{ image_figure( + alt="Eldiron Image" + src="eldiron_screen.png" + caption="Behavior Nodes of Eldiron") }} [Eldiron] ([GitHub][eldiron-github], [Discord][eldiron-discord], [Twitter][eldiron-twitter]) by [@markusmoenig] is a creator for classic role @@ -390,9 +400,10 @@ the classical Ultima series. ### [Hotham][hotham] -![Hotham Image](hotham.png) -_Screenshot from The Station, an upcoming space station simulation game, built -with Hotham_ +{{ image_figure( + alt="Hotham Image" + src="hotham.png" + caption="Screenshot from The Station, an upcoming space station simulation game, built with Hotham") }} [Hotham][hotham] is a game engine for standalone VR devices, trying to make VR development just a little bit less painful. diff --git a/content/news/034/index.md b/content/news/034/index.md index 9c139d560..4a8bfbc5c 100644 --- a/content/news/034/index.md +++ b/content/news/034/index.md @@ -290,8 +290,10 @@ is over, you can still find the ### [Veloren][veloren] -![Flying down a mountain](veloren.jpg) -_A glorious flight to distant lands_ +{{ image_figure( + alt="Flying down a mountain" + src="veloren.jpg" + caption="A glorious flight to distant lands") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -347,8 +349,11 @@ The source code of the game is [available on GitHub][hug-src]. ### [Combine&Conquer][cnc-logs] -[![Preview: a factory](cnc-preview.png)][cnc-video] -_[Connect factories on different planets via spaceships][cnc-video]_ +{{ image_figure( + alt="Preview: a factory" + src="cnc-preview.png" + caption="[Connect factories on different planets via spaceships](https://reddit.com/r/IndieDev/comments/uxcc7v/connect_different_planets)", + link="https://reddit.com/r/IndieDev/comments/uxcc7v/connect_different_planets") }} [Combine&Conquer][cnc-itch] by [Martin Buck][@I3ck] is a WIP strategy game about automation similar to Satisfactory or Factorio. diff --git a/content/news/035/index.md b/content/news/035/index.md index 520593002..e912e5e85 100644 --- a/content/news/035/index.md +++ b/content/news/035/index.md @@ -123,8 +123,10 @@ form][gamedev-meetup-form]. ### [Rusty Jam 2][rusty-jam-ann] -![Aaron: a drawing of a humanoid fox](aaron.png) -_Aaron, [the mascot of the jam][rusty-jam-ann]_ +{{ image_figure( + alt="Aaron: a drawing of a humanoid fox" + src="aaron.png" + caption="Aaron, [the mascot of the jam](https://gamedev.rs/blog/rustyjam-02)") }} The [second Rusty Jam][rusty-jam-ann] just ended! [17 games][rusty-jam-entries] were completed and submitted @@ -252,8 +254,10 @@ announced in this newsletter. ### vetovoima -![vetovoima gravity manipulation GIF](vetovoima.gif) -_vetovoima gravity manipulation_ +{{ image_figure( + alt="vetovoima gravity manipulation GIF" + src="vetovoima.gif" + caption="vetovoima gravity manipulation") }} [vetovoima][vetovoima_itch] by [@MatiasKlemola][vetovoima_twitter] is an arcade game where you control gravity! @@ -329,8 +333,10 @@ network games. ### [Veloren][veloren] -![Gliding above a forest](veloren.jpg) -_A glider ride above the woods at night_ +{{ image_figure( + alt="Gliding above a forest" + src="veloren.jpg" + caption="A glider ride above the woods at night") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. diff --git a/content/news/036/index.md b/content/news/036/index.md index af57b519f..b547b200a 100644 --- a/content/news/036/index.md +++ b/content/news/036/index.md @@ -205,8 +205,10 @@ Other recent updates: ### Flesh -![flesh preview](flesh.gif) -_3rd area_ +{{ image_figure( + alt="flesh preview" + src="flesh.gif" + caption="3rd area") }} [Flesh] by [@im_oab] is a 2D-horizontal shmup game with hand-drawn animation and an organic/fleshy theme. It is implemented using [Tetra]. This month's updates @@ -225,9 +227,10 @@ include: ### [CyberGate][cybergate-yt] -![hundreds of colliding colored balls in the air](cybergate.jpg) -_The server and clients are able to smoothly handle -over a thousand balls rained from above_ +{{ image_figure( + alt="hundreds of colliding colored balls in the air" + src="cybergate.jpg" + caption="The server and clients are able to smoothly handle over a thousand balls rained from above") }} CyberGate ([YouTube][cybergate-yt], [Discord][cybergate-dis]) by CyberSoul is a new multiplayer project that aims at procedurally generating distinct @@ -312,8 +315,10 @@ platform/country/OS, player feedback, reviews & game updates. ### [Simon Arcade] -![Simon arcade gameplay with arrows and buttons in different colors](simon.gif) -_a Simon Arcade gameplay with cheats enabled_ +{{ image_figure( + alt="Simon arcade gameplay with arrows and buttons in different colors" + src="simon.gif" + caption="a Simon Arcade gameplay with cheats enabled") }} Based on [Simon (Original)], made with [Bevy], the goal of this game is to push buttons in the correct order, @@ -330,8 +335,10 @@ and was showcased at [RustConf Portland] on August 5th 2022. ### [Veloren][veloren] -![Gliding above a forest](veloren.jpg) -_New cave systems to explore_ +{{ image_figure( + alt="Gliding above a forest" + src="veloren.jpg" + caption="New cave systems to explore") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -364,8 +371,10 @@ July's full weekly devlogs: "This Week In Veloren...": ### [Agma] -![an animated black-colored character runs around and attacks anoter one](agma.gif) -_Moving around_ +{{ image_figure( + alt="an animated black-colored character runs around and attacks anoter one" + src="agma.gif" + caption="Moving around") }} [Agma] by [@TuckerBMorgan] is a 3D game built in the [Storm Engine] that is based on games like Lost Ark and Diablo. The author has been writing about their experience @@ -380,8 +389,10 @@ and a custom-skinned mesh renderer to maximize what the author could learn. ### [Combine&Conquer][cnc-logs] -![zoomin gout from individual tiles to the whole space system](cnc.gif) -_Seamless transition between planet and space views_ +{{ image_figure( + alt="zoomin gout from individual tiles to the whole space system" + src="cnc.gif" + caption="Seamless transition between planet and space views") }} [Combine&Conquer][cnc-itch] by [Martin Buck][@I3ck] is a WIP strategy game about automation similar to Satisfactory or Factorio. @@ -423,9 +434,10 @@ coding game "Life Code": ### [Bevy v0.8][bevy-blog] -![bevy terrain](bevy_terrain.jpg) -_Bevy-shaped mountains in a Bevy-based Witcher 3 terrain texturing tool built by -rmemr_ +{{ image_figure( + alt="bevy terrain" + src="bevy_terrain.jpg" + caption="Bevy-shaped mountains in a Bevy-based Witcher 3 terrain texturing tool built by rmemr") }} [Bevy][bevy] is a refreshingly simple data-driven game engine built in Rust. It is [free and open source][bevy-git] forever! @@ -538,8 +550,10 @@ Nevertheless, several improvements have been integrated to godot-rust since ### [Gamercade] -![Gamercade preview](gamercade.gif) -_WASM 3d CPU Rendering On a 2d Fantasy Console?_ +{{ image_figure( + alt="Gamercade preview" + src="gamercade.gif" + caption="WASM 3d CPU Rendering On a 2d Fantasy Console?") }} [Gamercade] ([Discord][Gamercade-Discord], [GitHub][Gamercade-GitHub]) by @RobDavenport is a WASM-powered fantasy console focused @@ -579,8 +593,10 @@ _Discussions: ### [Sand Fall With Compute Shaders in Rust][sandfall-tutorial] -![sandfall_8k](draw_sand.gif) -_Drawing Sand_ +{{ image_figure( + alt="sandfall_8k" + src="draw_sand.gif" + caption="Drawing Sand") }} [@hakolao] published a [tutorial][sandfall-tutorial] about creating [cellular automata][wiki-cgol] sand fall simulations with compute shaders. @@ -618,8 +634,11 @@ crate to do breadth-first, Dijkstra's, and A* search. It links to the ### [Creating Mountains From Planes with Vertex Shaders and Bevy][chrisbiscardi-vid1] -[![vertex shaders example](creating-mountains-from-planes-with-vertex-shaders-and-bevy.png)][chrisbiscardi-vid1] -_Creating mountains from planes with vertex shaders and Bevy_ +{{ image_figure( + alt="vertex shaders example" + src="creating-mountains-from-planes-with-vertex-shaders-and-bevy.png" + caption="Creating mountains from planes with vertex shaders and Bevy", + link="https://youtube.com/watch?v=85uJc81SQZ4") }} [@chrisbiscardi] published a [video][chrisbiscardi-vid1] about using the new Material shader APIs in Bevy 0.8 to transform the @@ -632,8 +651,11 @@ _Discussions: [Twitter](https://twitter.com/chrisbiscardi/status/154908959997193 ### [What's in a wgsl fragment shader? ft Bevy][chrisbiscardi-vid2] -[![vertex shaders example](whats-in-a-wgsl-fragment-shader-with-bevy.png)][chrisbiscardi-vid2] -_What's in a wgsl fragment shader? ft Bevy_ +{{ image_figure( + alt="vertex shaders example" + src="whats-in-a-wgsl-fragment-shader-with-bevy.png" + caption="What's in a wgsl fragment shader? ft Bevy", + link="https://youtube.com/watch?v=SOOOc9-joVo") }} [@chrisbiscardi] published a [video][chrisbiscardi-vid2] that introduces the new Material APIs in Bevy 0.8. It covers AsBindGroup, @@ -700,8 +722,10 @@ _Discussions: ### [NES Bundler][nes-bundler] -![NES Bundler running Data Man with GUI showing](nes-bundler.png) -_NES Bundler in action_ +{{ image_figure( + alt="NES Bundler running Data Man with GUI showing" + src="nes-bundler.png" + caption="NES Bundler in action") }} [NES Bundler][nes-bundler] is a NES ROM packaging tool by [@tedsteen]. Did you make a NES-game but none of your friends own a Nintendo? Don't worry. @@ -897,8 +921,10 @@ _Discussions: [/r/rust](https://reddit.com/r/rust/comments/vwdxim/announcing_lyo ### [Renet] -![3D capsles shooting red dots at each other](renet_bevy_demo.gif) -_Demo using renet and bevy_ +{{ image_figure( + alt="3D capsles shooting red dots at each other" + src="renet_bevy_demo.gif" + caption="Demo using renet and bevy") }} [Renet] by [@lucaspoffo] is a network library to create games with the Server-Client architecture. @@ -924,8 +950,10 @@ Renet comes with [bevy_renet], a plugin for the Bevy engine, and also with ### [miniquad] -![miniquad fileopen](miniquad_gl2.gif) -_VirtualBox, gl2 as the only GPU acceleration available_ +{{ image_figure( + alt="miniquad fileopen" + src="miniquad_gl2.gif" + caption="VirtualBox, gl2 as the only GPU acceleration available") }} [miniquad] is a safe and cross-platform rendering library focused on portability and low-end platform support. @@ -943,8 +971,10 @@ next in line. ### [bevy_mod_fbx] -![A model using a PBR shader featuring roughness and metalicness texture maps](bevy_fbx_maya_pbr.jpg) -_model courtesy of [Samuel Rosario], rendered in bevy_ +{{ image_figure( + alt="A model using a PBR shader featuring roughness and metalicness texture maps" + src="bevy_fbx_maya_pbr.jpg" + caption="model courtesy of [Samuel Rosario](https://www.artstation.com/artwork/bKJ0EE), rendered in bevy") }} [bevy_mod_fbx] is a pre-alpha library to load FBX (Autodesk Filmbox) files into [bevy] 0.8, based on [fbxcel-dom]. @@ -994,9 +1024,11 @@ link once it is outdated --> ### [bonsai-bt] -![A behavior tree visualization that starts with a "root" node and branches -into leafs like "run" and "get in cover"](bonsai.png) -_A visualization of a simple NPC behavior tree_ +{{ image_figure( + alt='A behavior tree visualization that starts with a "root" node and branches +into leafs like "run" and "get in cover"' + src="bonsai.png" + caption="A visualization of a simple NPC behavior tree") }} [bonsai-bt] by [@Sollimann] is a Rust implementation of behavior trees. diff --git a/content/news/037/index.md b/content/news/037/index.md index bc1012c51..c1d5c4353 100644 --- a/content/news/037/index.md +++ b/content/news/037/index.md @@ -221,8 +221,10 @@ refactoring tool based on the ### [CyberGate][cybergate-yt] -![browser udp technology](cybergate.jpg) -_The new browser version works exactly like the native version_ +{{ image_figure( + alt="browser udp technology" + src="cybergate.jpg" + caption="The new browser version works exactly like the native version") }} CyberGate ([YouTube][cybergate-yt], [Discord][cybergate-dis]) by CyberSoul is a new multiplayer project that aims at procedurally generating distinct @@ -248,8 +250,10 @@ _Discussions: [/r/rust_gamedev](https://reddit.com/r/rust_gamedev/comments/x60n9 ### [Rusty Aquarium] -![Rusty Aquarium visualization](rustyaquarium.gif) -_Visualize data as a fish tank with Rusty Aquarium_ +{{ image_figure( + alt="Rusty Aquarium visualization" + src="rustyaquarium.gif" + caption="Visualize data as a fish tank with Rusty Aquarium") }} [Rusty Aquarium] by [@ollej] is a data visualization tool as a virtual fish tank written in Rust and Macroquad. Different data points control how many @@ -277,8 +281,10 @@ files now contain binaries for input data generation. ### [Infinite Bunner] -![Infinite Bunner](infinitebunner.gif) -_Port of the Infinite Bunner game to Rust and Macroquad_ +{{ image_figure( + alt="Infinite Bunner" + src="infinitebunner.gif" + caption="Port of the Infinite Bunner game to Rust and Macroquad") }} [Infinite Bunner] is a game from the book [Code the Classics vol 1] that has been ported by [@ollej] to Rust and Macroquad from Python and PyGame Zero. @@ -319,8 +325,10 @@ tuned by following the [newsletter][country-slice-newsletter]! ### [Math It] -![Promotional image of the Math It game](math_it.png) -_Promotional image of the Math It game_ +{{ image_figure( + alt="Promotional image of the Math It game" + src="math_it.png" + caption="Promotional image of the Math It game") }} [Math It] was made with [Bevy] for the [Bevy Jam 2]. @@ -333,8 +341,10 @@ to the target number and compete with others on a global leaderboard. ### [Veloren][veloren] -![A cave with lava](veloren.jpg) -_A barrier of lava_ +{{ image_figure( + alt="A cave with lava" + src="veloren.jpg" + caption="A barrier of lava") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -408,8 +418,10 @@ or browse through the [open issues][runty8-open-issues]. ### [Gamercade] -![Gamercade preview](gamercade.gif) -_Preview of the Audio Editor in Action_ +{{ image_figure( + alt="Gamercade preview" + src="gamercade.gif" + caption="Preview of the Audio Editor in Action") }} [Gamercade] ([Discord][Gamercade-Discord], [GitHub][Gamercade-GitHub]) by @RobDavenport is a WASM-powered fantasy console focused @@ -501,8 +513,10 @@ and libraries, e.g. bevy, egui, and [nannou]. ### [bevy_kira_audio] -![Configuring a sound when playing it](bevy_kira_audio_settings.png) -_Configuring a sound when playing it_ +{{ image_figure( + alt="Configuring a sound when playing it" + src="bevy_kira_audio_settings.png" + caption="Configuring a sound when playing it") }} [bevy_kira_audio] by [@nikl_me] is an alternative audio plugin for the [Bevy] game engine. It uses [Kira] as its audio library and aims to integrate @@ -522,8 +536,10 @@ tweens to most operations. ### [bevy_asset_loader] -![Configuration of a loading state](loading_state.png) -_Configuration of a loading state_ +{{ image_figure( + alt="Configuration of a loading state" + src="loading_state.png" + caption="Configuration of a loading state") }} [bevy_asset_loader] by [@nikl_me] is a plugin for [Bevy] apps aiming to improve a common pattern for asset-loading. The boilerplate required to set up diff --git a/content/news/038/index.md b/content/news/038/index.md index d519c77f2..bba06e2fe 100644 --- a/content/news/038/index.md +++ b/content/news/038/index.md @@ -83,8 +83,10 @@ Twitch][rust-gamedev-twitch]. ### [CyberGate][cybergate-yt] -![building and fighting](cybergate.gif) -_building shelter and fighting a colony of red monsters_ +{{ image_figure( + alt="building and fighting" + src="cybergate.gif" + caption="building shelter and fighting a colony of red monsters") }} CyberGate ([YouTube][cybergate-yt], [Discord][cybergate-dis]) by CyberSoul is an attempt to use artificial intelligence to build diverse universe experiences @@ -112,8 +114,10 @@ _Discussions: [/r/rust_gamedev](https://www.reddit.com/r/rust_gamedev/comments/x ### [Graviton][graviton-website] -![Graviton](graviton.png) -_Take a little break to relax and draw some sand art_ +{{ image_figure( + alt="Graviton" + src="graviton.png" + caption="Take a little break to relax and draw some sand art") }} [Graviton](https://www.gravitongame.art/) by [@hakolao](https://github.com/hakolao) @@ -130,8 +134,10 @@ _Discussions: [/r/rust_gamedev](https://www.reddit.com/r/rust_gamedev/comments/x ### Flesh -![flesh preview](flesh.gif) -_4th area_ +{{ image_figure( + alt="flesh preview" + src="flesh.gif" + caption="4th area") }} [Flesh] by [@im_oab] is a 2D-horizontal shmup game with hand-drawn animation and an organic/fleshy theme. It is implemented using [Tetra]. This month's updates @@ -146,8 +152,10 @@ include: ### Thetawave -![thetawave-boss](thetawave.gif) -_First boss in progress_ +{{ image_figure( + alt="thetawave-boss" + src="thetawave.gif" + caption="First boss in progress") }} Thetawave is a physics based, cosmic horror themed space shooter by [@carlosupina]. @@ -203,8 +211,10 @@ goes into more depth about calling Rust code from C# in Unity. ### [eo.rs][eo-rs-website] -![npcs talking](eo-rs.PNG) -_NPCs chatting in the game world_ +{{ image_figure( + alt="npcs talking" + src="eo-rs.PNG" + caption="NPCs chatting in the game world") }} [eo-rs][eo-rs-website] by [@sorokya](https://github.com/sorokya) is a development library and game server for the MMORPG @@ -244,8 +254,10 @@ tuned by following the [newsletter][country-slice-newsletter]! ### [Veloren][veloren] -![Riding into the sunset](veloren.jpg) -_Riding into the sunset_ +{{ image_figure( + alt="Riding into the sunset" + src="veloren.jpg" + caption="Riding into the sunset") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -273,8 +285,10 @@ Septembers's full weekly devlogs: "This Week In Veloren...": ### [Subfuse][subfuse] -![Escape the hotel](subfuse.png) -_Escape the hotel_ +{{ image_figure( + alt="Escape the hotel" + src="subfuse.png" + caption="Escape the hotel") }} [Subfuse][subfuse] is a short 1st person puzzle/escape game made for [Bevy Jam #2][bevy-jam-2] with an accompanying [postmortem][subfuse-postmortem] @@ -288,9 +302,11 @@ that goes into some detail about the process of making the game. ### [godot-rust][gd-github] -![godot-rust new export syntax](godot-rust-export.png) -_The new `#[method]` syntax, which replaces existing `#[export]` and allows omitting -the base parameter._ +{{ image_figure( + alt="godot-rust new export syntax" + src="godot-rust-export.png" + caption="The new `#[method]` syntax, which replaces existing `#[export]` and allows omitting +the base parameter.") }} godot-rust ([GitHub][gd-github], [Discord][gd-discord], [Twitter][gd-twitter]) is a Rust library that provides bindings for the Godot engine. @@ -318,8 +334,10 @@ bugs and missing features, you can give it a try very soon! ### [Gamercade] -![Gamercade preview](gamercade.gif) -_Gamercade Sprite Animations_ +{{ image_figure( + alt="Gamercade preview" + src="gamercade.gif" + caption="Gamercade Sprite Animations") }} [Gamercade] ([Discord][Gamercade-Discord], [GitHub][Gamercade-GitHub]) by @RobDavenport is a WASM-powered fantasy console focused @@ -463,8 +481,10 @@ for further details. ### bevy_oddio -![an example using bevy_oddio](change_pitch_bevy_oddio_example.png) -_an example using bevy_oddio_ +{{ image_figure( + alt="an example using bevy_oddio" + src="change_pitch_bevy_oddio_example.png" + caption="an example using bevy_oddio") }} [bevy_oddio] by [@harudagondi] is an audio plugin for the [Bevy] game engine that uses the [oddio] library. @@ -493,8 +513,10 @@ The above screen shows an example of controlling a custom made audio source ### [Particular] -![showcase using the demo](particular.gif) -_Showcase using the [demo]_ +{{ image_figure( + alt="showcase using the demo" + src="particular.gif" + caption="Showcase using the [demo](https://canleskis.github.io/bevy-particular-demo/)") }} [Particular] by [@Canleskis] is a library allowing for simulations of N-body gravitational interaction of particles. It aims to be simple @@ -545,8 +567,10 @@ other types of browser's images as well (like `HtmlCanvasElement`). ### [Polyanya] -![example of pathfinding](polyanya.gif) -_Navigating through a mesh in the online [demo][polyanya-demo]_ +{{ image_figure( + alt="example of pathfinding" + src="polyanya.gif" + caption="Navigating through a mesh in the online [demo](https://vleue.github.io/bevy_pathmesh/)") }} [Polyanya] by [@FrancoisMockers] is a library implementing [Polyanya][polyanya-paper], a Compromise-free Pathfinding algorithm on a diff --git a/content/news/039/index.md b/content/news/039/index.md index 6e4b0c893..716ca6c52 100644 --- a/content/news/039/index.md +++ b/content/news/039/index.md @@ -106,8 +106,10 @@ _Discussions: [Submission page](https://ldjam.com/events/ludum-dare/51/miam)_ ### [Jumpy] -![Online Game Fish Selection Screen](jumpy.png) -_Online Game Fish Selection Screen_ +{{ image_figure( + alt="Online Game Fish Selection Screen" + src="jumpy.png" + caption="Online Game Fish Selection Screen") }} [Jumpy] ([GitHub][Jumpy], [Discord][jumpy_discord], [Twitter][jumpy_twitter]) by [Spicy Lobster][spicy_lobster] is a pixel-style, tactical 2D shooter with a fishy @@ -143,8 +145,10 @@ _Discussions: [GitHub][jumpy_discussions], [Twitter][jumpy_twitter]_ ### [CyberGate][cybergate-yt] -![State Syncronization](cybergate.gif) -_The health bar that is closer updates more frequently_ +{{ image_figure( + alt="State Syncronization" + src="cybergate.gif" + caption="The health bar that is closer updates more frequently") }} CyberGate ([YouTube][cybergate-yt], [Discord][cybergate-dis]) by CyberSoul is an attempt to use artificial intelligence to build diverse universe experiences @@ -168,9 +172,10 @@ Recent updates: ### Digital Extinction -![selection circles & health bars in Digital -Extinction](digital-extinction.jpeg) _selection circles & health bars in Digital -Extinction_ +{{ image_figure( + alt="selection circles & health bars in Digital Extinction" + src="digital-extinction.jpeg" + caption="selection circles & health bars in Digital Extinction") }} [Digital Extinction] ([GitHub][de-github], [Discord][de-discord], [Reddit][de-reddit]) by [@Indy2222] is a 3D real-time strategy game made with @@ -274,8 +279,10 @@ it hit version 0.28 which added new functionality and improved existing: ### [miniquad] -![ios-miniquad](ios_zemeroth.png) -_[zemeroth](github.com/ozkriff/zemeroth/) on the iOS simulator_ +{{ image_figure( + alt="ios-miniquad" + src="ios_zemeroth.png" + caption="[zemeroth](https://github.com/ozkriff/zemeroth/) on the iOS simulator") }} [miniquad] is a pure Rust, cross-platform graphics library. diff --git a/content/news/040/index.md b/content/news/040/index.md index be0f428cd..689252d97 100644 --- a/content/news/040/index.md +++ b/content/news/040/index.md @@ -87,8 +87,10 @@ If you would like to speak at the next meetup, please ### [Jumpy] -![Swords, Crates, Grenades, & Mines](jumpy.png) -_Jumpy Items: Swords, Crates, Grenades, & Mines_ +{{ image_figure( + alt="Swords, Crates, Grenades, & Mines" + src="jumpy.png" + caption="Jumpy Items: Swords, Crates, Grenades, & Mines") }} [Jumpy] ([GitHub][Jumpy], [Discord][jumpy_discord], [Twitter][jumpy_twitter]) by [Spicy Lobster][spicy_lobster] is a pixel-style, tactical 2D shooter with a fishy @@ -126,8 +128,10 @@ just around the corner! ### [CyberGate][cybergate-yt] -![At the Abyss](cybergate.png) -_The abyss is the deepest, hardest level, filled with monsters of all sizes and strength_ +{{ image_figure( + alt="At the Abyss" + src="cybergate.png" + caption="The abyss is the deepest, hardest level, filled with monsters of all sizes and strength") }} CyberGate ([YouTube][cybergate-yt], [Discord][cybergate-dis]) by CyberSoul is an ambitious endeavor to create an immersive universe experience with the power of @@ -186,8 +190,10 @@ _Discussions: ### Digital Extinction -![laser trail in Digital Extinction](digital-extinction.jpeg) -_Laser trail in Digital Extinction_ +{{ image_figure( + alt="laser trail in Digital Extinction" + src="digital-extinction.jpeg" + caption="Laser trail in Digital Extinction") }} [Digital Extinction] ([GitHub][de-github], [Discord][de-discord], [Reddit][de-reddit]) by [@Indy2222] is a 3D real-time strategy game made with @@ -303,8 +309,10 @@ There was one dev log published this month: ### [8bit Duels] -![UI preview](8bd-ui-prev.png) -_UI preview_ +{{ image_figure( + alt="UI preview" + src="8bd-ui-prev.png" + caption="UI preview") }} [@ThousandthStar] is creating an 8bit themed multiplayer game. It's a turn-based strategy game and is currently under development. This month, the @@ -331,8 +339,10 @@ _Discussion: [r/rust_gamedev][8bit-r/rust_gamedev]_ ### [Veloren][veloren] -![A riverside](veloren.jpeg) -_Reflections on the river_ +{{ image_figure( + alt="A riverside" + src="veloren.jpeg" + caption="Reflections on the river") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -690,8 +700,10 @@ _Discussions: ### [Bevy Sequential Actions] -![Bevy sequential actions simple demo](sequential_actions.gif) -_An entity with a queue of repeating actions._ +{{ image_figure( + alt="Bevy sequential actions simple demo" + src="sequential_actions.gif" + caption="An entity with a queue of repeating actions.") }} `bevy-sequential-actions` ([GitHub][seq-actions-gh], [docs.rs][seq-actions-docs]) is a simple helper library for the [Bevy][bevy] game engine. @@ -833,9 +845,11 @@ You can check the [demos] online and read more about the changes on the [changel ### [Bevy Hikari] v0.3 -![bevy-hikari screenshot](bevy-hikari-n40.jpeg) -_Direct lighting, emissive lighting and indirect global illumination under 4x -temporal upscaling._ +{{ image_figure( + alt="bevy-hikari screenshot" + src="bevy-hikari-n40.jpeg" + caption="Direct lighting, emissive lighting and indirect global illumination under 4x +temporal upscaling.") }} `bevy-hikari` ([crates.io][hikari-crates], [docs.rs][hikari-docs], [GitHub][hikari-github]), a path tracing renderer for [Bevy], is now compatible @@ -853,8 +867,10 @@ affordable for median end devices. ### [Bevy Vfx Bag] -![Bevy vfx bag gif](underwater.gif) -_A composite effect applied to Bevy's 3D shapes example._ +{{ image_figure( + alt="Bevy vfx bag gif" + src="underwater.gif" + caption="A composite effect applied to Bevy's 3D shapes example.") }} `bevy-vfx-bag` ([GitHub][bevy-vfx-bag-gh], [docs.rs][bevy-vfx-bag-docs]) is a visual effects library for the [Bevy][bevy] game engine. @@ -940,8 +956,10 @@ There's also [a book][kayak-book] that covers the basic concepts; ### [Iced] v0.5 -![A design demo application showcasing widgets and theming capabilities](iced-cosmic.png) -_System76's COSMIC desktop software_ +{{ image_figure( + alt="A design demo application showcasing widgets and theming capabilities" + src="iced-cosmic.png" + caption="System76's COSMIC desktop software") }} [Iced] is an experimental cross-platform GUI library focused on simplicity and type-safety, inspired by Elm. diff --git a/content/news/041/index.md b/content/news/041/index.md index 71148c174..88a0c2284 100644 --- a/content/news/041/index.md +++ b/content/news/041/index.md @@ -136,8 +136,10 @@ _Discussions: ### Digital Extinction -![laser trail in Digital Extinction](digital-extinction.jpeg) -_Laser trail in Digital Extinction_ +{{ image_figure( + alt="laser trail in Digital Extinction" + src="digital-extinction.jpeg" + caption="Laser trail in Digital Extinction") }} [Digital Extinction] ([GitHub][de-github], [Discord][de-discord], [Reddit][de-reddit]) by [@Indy2222] is a 3D real-time strategy game made with @@ -167,8 +169,10 @@ A more detailed update summary is available [here][de-update-03]. ### [Open Combat][OpenCombat_website] -![Real time tactical 2nd world war game](open_combat.png) -_Game now includes vehicle (T-26) and shelling FX_ +{{ image_figure( + alt="Real time tactical 2nd world war game" + src="open_combat.png" + caption="Game now includes vehicle (T-26) and shelling FX") }} Open Combat ([Website][OpenCombat_website], @@ -209,8 +213,10 @@ into lovable dioramas. Wishlist on [Steam][Tiny Glade]! ### [Temple Knight] -![Shooting automatons in Temple Knight](temple-knight.jpg) -_Shooting automatons in Temple Knight_ +{{ image_figure( + alt="Shooting automatons in Temple Knight" + src="temple-knight.jpg" + caption="Shooting automatons in Temple Knight") }} Temple Knight ([Itch.io][tk-itch], [Twitter][tk-twitter]) by [@nilaysavant] is a 3D FPS game developed using [Bevy]. @@ -282,8 +288,10 @@ implemented. ### [8bit Duels] -![Kraken](8bd_kraken.png) -_The newly added Kraken_ +{{ image_figure( + alt="Kraken" + src="8bd_kraken.png" + caption="The newly added Kraken") }} [@ThousandthStar] is creating 8bit Duels ([Discord][8bit-discord], [GitHub][8bit-github]), @@ -307,8 +315,10 @@ The full devlog for this month can be found [here][8bit-log5]. ### [Flesh] -![flesh preview](flesh.gif) -_more blood_ +{{ image_figure( + alt="flesh preview" + src="flesh.gif" + caption="more blood") }} [Flesh] by [@im_oab] is a 2D-horizontal shmup game with hand-drawn animation and an organic/fleshy theme. It is implemented using [Tetra]. This month's updates @@ -325,8 +335,10 @@ include: ### Pirate Annihilation -![Pirate annihilation game view](pirate_annihilation_n41.png) -_Pirate annihilation game view, asset pack by [Kenney](https://twitter.com/KenneyNL)_ +{{ image_figure( + alt="Pirate annihilation game view" + src="pirate_annihilation_n41.png" + caption="Pirate annihilation game view, asset pack by [Kenney](https://twitter.com/KenneyNL)") }} Pirate Annihilation ([GitHub][pirate_annihilation_repo], [Twitter][indiedevcasts_twitter]) by [indiedevcasts][indiedevcasts_www] ([@theredfish]) is a last-man-standing game @@ -344,8 +356,10 @@ now defined. ### [Veloren][veloren] -![A wendigo at night](veloren.jpg) -_A fearsome wendigo encounter_ +{{ image_figure( + alt="A wendigo at night" + src="veloren.jpg" + caption="A fearsome wendigo encounter") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -374,8 +388,10 @@ December's full weekly devlogs: "This Week In Veloren...": ### [Thetawave] -![repeater boss](repeater_boss.gif) -_First boss enemy in Thetawave_ +{{ image_figure( + alt="repeater boss" + src="repeater_boss.gif" + caption="First boss enemy in Thetawave") }} Thetawave is an open-source, roguelite, physics-based, space shooter game made with [Bevy] and [Rapier]. @@ -391,8 +407,10 @@ regular updates about the game. ### [Jumpy] -![Swords, Crates, Grenades, & Mines](jumpy.png) -_Jumpy Items: Swords, Crates, Grenades, & Mines_ +{{ image_figure( + alt="Swords, Crates, Grenades, & Mines" + src="jumpy.png" + caption="Jumpy Items: Swords, Crates, Grenades, & Mines") }} [Jumpy] ([GitHub][Jumpy], [Discord][jumpy_discord], [Twitter][jumpy_twitter]) by [Spicy Lobster][spicy_lobster] is a pixel-style, tactical 2D shooter with a fishy @@ -639,8 +657,10 @@ The final source code [is available on GitHub][clicker-src]. ### [Graphite][graphite-website] [ -![Graphite logo](graphite-vector-demo.png) -_Video: 3-minute timelapse of a vector art piece illustrated in Graphite_ +{{ image_figure( + alt="Graphite logo" + src="graphite-vector-demo.png" + caption="Video: 3-minute timelapse of a vector art piece illustrated in Graphite") }} ][graphite-vector-demo] Graphite ([website][graphite-website], [GitHub][graphite-repo], @@ -734,8 +754,10 @@ The author also made a basic example [here][bevy-rpg-example]. ### [lpcg][lpcg_crate] -![character sprite generator](lpcg.png) -_A new library which generates character sprites_ +{{ image_figure( + alt="character sprite generator" + src="lpcg.png" + caption="A new library which generates character sprites") }} lpcg ([Crates.io][lpcg_crate], [GitHub][lpcg_github]) by [bux][bux] is a library which generates character sprites, @@ -747,8 +769,10 @@ based on assets from the [Liberated Pixel Cup][lpc]. ### [egui_dnd] -![egui_dnd in action](egui_dnd.gif) -_A [showcase](https://lucasmerlin.github.io/egui_dnd/) of egui_dnd_ +{{ image_figure( + alt="egui_dnd in action" + src="egui_dnd.gif" + caption="A [showcase](https://lucasmerlin.github.io/egui_dnd/) of egui_dnd") }} [egui_dnd] ([github][egui_dnd_github], [crates.io][egui_dnd_crates_io]) by [@lucasmerlin] is a new drag and drop sorting crate for egui. While egui itself includes some drag @@ -818,9 +842,10 @@ the main improvements are: ### [rust-gpu v0.4.0][rust-gpu-release] -![a screenshot: spherical characters doing stuff](rust-gpu.jpg) -_Embark's [Creative Playground][embark-creative-playground], -which uses rust-gpu and raytracing_ +{{ image_figure( + alt="a screenshot: spherical characters doing stuff" + src="rust-gpu.jpg" + caption="Embark's [Creative Playground](https://twitter.com/createplayremix), which uses rust-gpu and raytracing") }} [Rust-gpu][rust-gpu] ([Discord][rust-gpu-discord]) allows you to write your GPU shaders in the Rust language. diff --git a/content/news/042/index.md b/content/news/042/index.md index 80217d26e..d4ee86481 100644 --- a/content/news/042/index.md +++ b/content/news/042/index.md @@ -113,8 +113,10 @@ Twitch][rust-gamedev-twitch]. ### Digital Extinction -![Building Placement in Digital Extinction](digital-extinction.jpeg) -_Building Placement in Digital Extinction_ +{{ image_figure( + alt="Building Placement in Digital Extinction" + src="digital-extinction.jpeg" + caption="Building Placement in Digital Extinction") }} [Digital Extinction] ([GitHub][de-github], [Discord][de-discord], [Reddit][de-reddit]) by [@Indy2222] is a 3D real-time strategy game made with @@ -156,9 +158,11 @@ A more detailed update summary is available [here][de-update-04]. ### [Cargo Space] -![Screenshot of p2p multiplayer in Cargo Space: One instance running on windows -and one in Chrome](cargo-space-cross-platform.png) -_Cross-platform p2p multiplayer in Cargo Space_ +{{ image_figure( + alt="Screenshot of p2p multiplayer in Cargo Space: One instance running on windows +and one in Chrome" + src="cargo-space-cross-platform.png" + caption="Cross-platform p2p multiplayer in Cargo Space") }} [Cargo Space] ([Discord][cargospace_discord]) by [@johanhelsing][johanhelsing_mastodon] is a co-op 2d space game where you build @@ -195,8 +199,10 @@ made with [`bevy_ggrs`][bevy_ggrs]. ### [Idu][idu-itch] -![Screenshot of a tree emerging from a cave in Idu](idu-newsletter.jpg) -_Screenshot of a tree emerging from a cave in Idu_ +{{ image_figure( + alt="Screenshot of a tree emerging from a cave in Idu" + src="idu-newsletter.jpg" + caption="Screenshot of a tree emerging from a cave in Idu") }} [Idu][idu-itch] ([Discord][idu_discord]) Idu is a strategic sandbox game about growing plants that wish to reclaim nature, developed by [Elina @@ -223,8 +229,10 @@ Read more and download the newest demo from [Idu's page on itch.io][idu-itch]. ### [Veloren][veloren] -![A river with flora and fauna](veloren.jpg) -_A serene river with new reflections_ +{{ image_figure( + alt="A river with flora and fauna" + src="veloren.jpg" + caption="A serene river with new reflections") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -395,8 +403,11 @@ _Discussions: [Mastodon][zkat-mastodon-ann]_ ### [RustySynth] -[![Waveform displayed on a screen](rustysynth-yt.png) -_Video: an example of realtime MIDI synthesis with RustySynth on rust-sfml_][rustysynth-video] +{{ image_figure( + alt="Waveform displayed on a screen" + src="rustysynth-yt.png" + caption="Video: an example of realtime MIDI synthesis with RustySynth on rust-sfml", + link="https://www.youtube.com/watch?v=o9rPTJIPmVk") }} [RustySynth] is a SoundFont MIDI synthesizer written in pure Rust. The purpose of this library is to provide MIDI music playback functionality for any Rust @@ -438,9 +449,11 @@ would be very appreciated. ### [torchbearer] -![Torchbearer in action](torchbearer.png) -_An exemple of torchbearer in action, demonstrating both pathfinding and field -of view_ +{{ image_figure( + alt="Torchbearer in action" + src="torchbearer.png" + caption="An exemple of torchbearer in action, demonstrating both pathfinding and field +of view") }} [torchbearer] by [@redwarp] is a library that provides a set of tools to find your path in a grid-based dungeon. Specifically, it provides a quick @@ -487,8 +500,10 @@ _Discussions: [Mastodon][cargospace_cross_platform_video]_ ### [miniquad] -![miniquad ios](miniquad_metal.gif) -_Miniquad/macroquad examples rendered by Metal API_ +{{ image_figure( + alt="miniquad ios" + src="miniquad_metal.gif" + caption="Miniquad/macroquad examples rendered by Metal API") }} [miniquad] is a safe and cross-platform rendering library focused on portability and low-end platform support. diff --git a/content/news/043/index.md b/content/news/043/index.md index 5151b0c49..c7f93c9a7 100644 --- a/content/news/043/index.md +++ b/content/news/043/index.md @@ -111,8 +111,10 @@ The game is written using a custom engine: [Geng][geng]. ### [Tunnet][tunnet-itch] -![Tunnet screenshot: low poly models, blocky terrain, FPS view with a drill in hands](tunnet.jpg) -_Tunnels and computer networks_ +{{ image_figure( + alt="Tunnet screenshot: low poly models, blocky terrain, FPS view with a drill in hands" + src="tunnet.jpg" + caption="Tunnels and computer networks") }} Tunnet ([Steam][tunnet-steam], [Itch.io][tunnet-itch]) by [@puzzled\_squid][puzzled_squid] is a small puzzle/exploration game where you @@ -130,8 +132,10 @@ been published on the [project page][tunnet-itch]. ### [Open Combat][OpenCombat_website] -![Debug window: terrain tiles, units, and paths](open_combat.png) -_Game now includes live debug window_ +{{ image_figure( + alt="Debug window: terrain tiles, units, and paths" + src="open_combat.png" + caption="Game now includes live debug window") }} Open Combat ([Website][OpenCombat_website], [GitHub][OpenCombat_github], [Discord][OpenCombat_discord]) is a real time tactical game @@ -215,8 +219,10 @@ post][cargospace_devlog_5]. ### [CyberGate][cybergate-yt] -![Many creatures flying and casting shadows](cybergate.gif) -_Many creatures flying and casting shadows_ +{{ image_figure( + alt="Many creatures flying and casting shadows" + src="cybergate.gif" + caption="Many creatures flying and casting shadows") }} CyberGate ([YouTube][cybergate-yt], [Discord][cybergate-dis]) is an ambitious multiplayer project from CyberSoul, currently in development. @@ -293,8 +299,10 @@ and realistic physics. ### [Veloren][veloren] -![A cyclops attack](veloren.jpg) -_A cyclops attack_ +{{ image_figure( + alt="A cyclops attack" + src="veloren.jpg" + caption="A cyclops attack") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -496,8 +504,10 @@ and changing the speed of `SoundEffect`. ### [Fyrox][fyrox] -![a hi-tech soldier model blending between 5 animations](fyrox-blend-space.gif) -_Blend space demo_ +{{ image_figure( + alt="a hi-tech soldier model blending between 5 animations" + src="fyrox-blend-space.gif" + caption="Blend space demo") }} [Fyrox][fyrox] ([GitHub][fyrox-src], [Discord][fyrox-dis], [Twitter][fyrox-twi]) is a game engine that aims to be easy to use and provide a large set @@ -640,8 +650,11 @@ designs with #MadeWithGraphite on Twitter. ### [rerun.io][rerun] -[![egui app with lots of complex widgets, 2D and 3D views, etc](rerun.jpg)][rerun-video] -_[Click to see Rerun's latest demo video][rerun-video]_ +{{ image_figure( + alt="egui app with lots of complex widgets, 2D and 3D views, etc" + src="rerun.jpg" + caption="[Click to see Rerun's latest demo video](https://youtube.com/watch?v=8ZpvOagRt-o)" + link="https://youtube.com/watch?v=8ZpvOagRt-o") }} [Rerun] ([Discord][rerun-discord]) lets you log images, point clouds and other visual data as easy as you would log text. @@ -693,8 +706,10 @@ _Discussions: [Twitter](https://twitter.com/ManevilleF/status/162515929249085440 ### [nanoshredder] -![nanoshredder demo: windows with shader code and result behind](nanoshredder.gif) -_macroquad's shadertoy example with metal/glsl preview_ +{{ image_figure( + alt="nanoshredder demo: windows with shader code and result behind" + src="nanoshredder.gif" + caption="macroquad's shadertoy example with metal/glsl preview") }} [Nanoshredder] is an experimental fork of [makepad's shader-compiler][makepad-shader-compiler]. @@ -762,8 +777,10 @@ blink-alloc, only on `allocator-api2`. ### [pecs] -![pecs example, same as in the README](pecs.png) -_Promise chaining example_ +{{ image_figure( + alt="pecs example, same as in the README" + src="pecs.png" + caption="Promise chaining example") }} In the ECS environment, you can't use the standard async/await approach, which can make implementing asynchronous logic painful. @@ -806,8 +823,10 @@ This month [seldom_state] 0.4 has been released: ### [warbler_grass] -![preview of a grass chunk](warbler_grass_preview.png) -_A bevy crate for grass rendering_ +{{ image_figure( + alt="preview of a grass chunk" + src="warbler_grass_preview.png" + caption="A bevy crate for grass rendering") }} [warbler_grass] is a new experimental [Bevy] plugin. The goal is to provide an ergonomic, but performant way @@ -835,8 +854,10 @@ for more details, check out our [release notes]. ### [Cvars] -![cvars used in the RustCycles game - showcasing a console for the Fyrox engine](cvars.png) -_Cvars and the Fyrox in-game console as used in RustCycles_ +{{ image_figure( + alt="cvars used in the RustCycles game - showcasing a console for the Fyrox engine" + src="cvars.png" + caption="Cvars and the Fyrox in-game console as used in RustCycles") }} [Cvars] ([GitHub][cvars-github], [Discord][cvars-discord]) by [@martin-t] are a simple way to store settings you want to change at runtime diff --git a/content/news/044/index.md b/content/news/044/index.md index 40ec7b181..bf2a92b11 100644 --- a/content/news/044/index.md +++ b/content/news/044/index.md @@ -94,8 +94,10 @@ Twitch][rust-gamedev-twitch]. ### [8bit Duels] -![movement_animations](8bit-duels-game.png) -_An 8bit Duels match_ +{{ image_figure( + alt="movement_animations" + src="8bit-duels-game.png" + caption="An 8bit Duels match") }} [@ThousandthStar] is creating a simple multiplayer turn-based strategy using the [Bevy Engine]. The [latest devlog] brings features like ownership indicators, @@ -116,8 +118,10 @@ _Discussions: [8-bit Discord]_ ### [CyberGate][cybergate-yt] -![Hit and blackhole particle effects](cybergate.gif) -_Particles emit from bullet hits and blackholes_ +{{ image_figure( + alt="Hit and blackhole particle effects" + src="cybergate.gif" + caption="Particles emit from bullet hits and blackholes") }} CyberGate ([YouTube][cybergate-yt], [Discord][cybergate-dis]), an ambitious multiplayer project in development by CyberSoul, @@ -181,8 +185,10 @@ There is currently only a WASM build (freely available on the itch.io) ### [Jumpy] -![Live Map Editing Example](jumpy.gif) -_Live Map Editing!_ +{{ image_figure( + alt="Live Map Editing Example" + src="jumpy.gif" + caption="Live Map Editing!") }} [Jumpy] ([GitHub][Jumpy], [Discord][jumpy_discord], [Twitter][jumpy_twitter]) by [Spicy Lobster][spicy_lobster] is a pixel-style, tactical 2D shooter with a fishy @@ -212,8 +218,10 @@ release as soon as it's ready. ### [Tunnet][tunnet-itch] -![Tunnet screenshot: a weird looking computer network](tunnet.jpg) -_Example of a puzzle in Tunnet_ +{{ image_figure( + alt="Tunnet screenshot: a weird looking computer network" + src="tunnet.jpg" + caption="Example of a puzzle in Tunnet") }} Tunnet ([Steam][tunnet-steam], [Itch.io][tunnet-itch]) by [@puzzled\_squid][puzzled_squid] is a short puzzle/exploration game where you @@ -232,8 +240,10 @@ The game is developed using Bevy and is expected to be released late 2023. ### Digital Extinction -![Building Placement in Digital Extinction](digital-extinction.jpeg) -_Building Placement in Digital Extinction_ +{{ image_figure( + alt="Building Placement in Digital Extinction" + src="digital-extinction.jpeg" + caption="Building Placement in Digital Extinction") }} [Digital Extinction] ([GitHub][de-github], [Discord][de-discord], [Reddit][de-reddit]) by [@Indy2222] is a 3D real-time strategy game made with @@ -298,8 +308,11 @@ Recent updates: ### [Boat Journey][boat-journey-itch] -[![Screenshot from the game Boat Journey showing ASCII art of a boat and some islands](boat-journey-screenshot.png) -_Carry your passengers safely to the ocean in Boat Journey._][boat-journey-itch] +{{ image_figure( + alt="Screenshot from the game Boat Journey showing ASCII art of a boat and some islands" + src="boat-journey-screenshot.png" + caption="Carry your passengers safely to the ocean in Boat Journey.", + link="https://gridbugs.itch.io/boat-journey") }} [Boat Journey][boat-journey-itch] ([GitHub][boat-journey-github]) is a turn-based game where you drive a boat through a @@ -351,8 +364,10 @@ You can play it [here][play-battle-city]. ### [BattleBots Simulator] -![3D view on a two-weeled robot on a hex map](battle-bots-simulator.jpg) -_Lightweight "annoyance" robot variant_ +{{ image_figure( + alt="3D view on a two-weeled robot on a hex map" + src="battle-bots-simulator.jpg" + caption='Lightweight "annoyance" robot variant') }} [BattleBots Simulator] ([Twitter]) by [@nilaysavant] is a "BattleBots" themed robot wars simulator developed using [Bevy]. @@ -414,8 +429,10 @@ Read more about all this in [this month's devlog entry][cargospace_devlog_6]. ### [Open Combat][OpenCombat_website] -![OpenCombat HUD: a window with a "Begin" button](OpenCombat_HUD.png) -_Game now includes a HUD_ +{{ image_figure( + alt='OpenCombat HUD: a window with a "Begin" button' + src="OpenCombat_HUD.png" + caption="Game now includes a HUD") }} Open Combat ([Website][OpenCombat_website], [GitHub][OpenCombat_github], [Discord][OpenCombat_discord]) is a real-time tactical game @@ -435,8 +452,10 @@ and we are searching for graphic designer help. ### [Veloren][veloren] -![Campfire by the lights](veloren.jpg) -_Campfire by the lights_ +{{ image_figure( + alt="Campfire by the lights" + src="veloren.jpg" + caption="Campfire by the lights") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -522,9 +541,10 @@ This month's updates include: ### [hotline][hotline-gh] -![code in the editor on the left and live scene view -with textured shapes on the right](hotline_rdg44.jpg) - _hotline live coding client_ +{{ image_figure( + alt="code in the editor on the left and live scene view with textured shapes on the right" + src="hotline_rdg44.jpg" + caption="hotline live coding client") }} [hotline][hotline-gh] ([Blog][hotline-blog], [Twitter][hotline-twi]) is a modern, high-performance, hot-reload @@ -644,8 +664,11 @@ Editor with egui. ### [Writing NES assembly programs in a Rust DSL][writing-nes-programs-in-rust-video] -[![Title slide from presentation about writing NES assembly programs in Rust](nes-programming-in-rust-cover.jpg) -_Video: Talk about writing NES assembly programs in Rust_][writing-nes-programs-in-rust-video] +{{ image_figure( + alt="Title slide from presentation about writing NES assembly programs in Rust" + src="nes-programming-in-rust-cover.jpg" + caption="Video: Talk about writing NES assembly programs in Rust", + link="https://youtube.com/watch?v=hs-MrEoOX5Y") }} This is a talk about writing a program for the Nintendo Entertainment System that exposes all of its audio processor registers through an interface that lets @@ -673,8 +696,10 @@ youtube][nes-audio-tool-demo-video]. The PDF of the slides from the talk are ### [Using the Depth Prepass in Bevy 0.10] -![depth prepass in bevy 0.10](bevy-depth-prepass.jpg) -_depth prepass powered intersections between a shield and wall/floor_ +{{ image_figure( + alt="depth prepass in bevy 0.10" + src="bevy-depth-prepass.jpg" + caption="depth prepass powered intersections between a shield and wall/floor") }} [@chrisbiscardi] published a [video][Using the Depth Prepass in Bevy 0.10] about using the Depth Prepass texture in Bevy 0.10. The depth prepass, along with the @@ -748,8 +773,10 @@ It currently has the following features: ### [Tarsila] -![Tarsila's UI](tarsila.png) -_Editor's UI_ +{{ image_figure( + alt="Tarsila's UI" + src="tarsila.png" + caption="Editor's UI") }} Tarsila is a pixel art and spritesheet editor written in Rust using egui and [macroquad], inspired by [Aseprite]. @@ -813,8 +840,10 @@ be it with suggestions, bugs or PRs. ### [Graphite][graphite-website] -![Vector artwork made in Graphite: Valley of Spires][graphite-artwork] -_Valley of Spires - Vector art made in Graphite_ +{{ image_figure( + alt="Vector artwork made in Graphite: Valley of Spires" + src="graphite-artwork-valley-of-spires.png" + caption="Valley of Spires - Vector art made in Graphite") }} Graphite ([website][graphite-website], [GitHub][graphite-repo], [Discord][graphite-discord], [Twitter][graphite-twitter]) is a free, @@ -847,8 +876,10 @@ designs with #MadeWithGraphite on Twitter. ## [ruffle][ruffle-post] -![new text input support on mobile devices](ruffle-text.jpg) -_Demo of the new text input boxes on a mobile device_ +{{ image_figure( + alt="new text input support on mobile devices" + src="ruffle-text.jpg" + caption="Demo of the new text input boxes on a mobile device") }} [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 @@ -984,8 +1015,10 @@ _Discussions: ### [Bevy Rust-GPU] -![hot-rebuild](bevy-rust-gpu-hot-rebuild.gif) -_Hot-rebuilding a rust-gpu shader from a bevy app_ +{{ image_figure( + alt="hot-rebuild" + src="bevy-rust-gpu-hot-rebuild.gif" + caption="Hot-rebuilding a rust-gpu shader from a bevy app") }} [Bevy Rust-GPU] by [@Shfty] is a suite of crates encoding a practical [rust-gpu] workflow for [bevy]. @@ -1014,9 +1047,10 @@ _Discussion: [/r/bevy](https://reddit.com/r/bevy/comments/11hrnmz/bevy_rustgpu_j ### [rust-gpu-sdf] -![3d-distance-field](rust-gpu-sdf.gif) -_An implicit surface defined compositionally, raymarched, and shaded entirely -in Rust_ +{{ image_figure( + alt="3d-distance-field" + src="rust-gpu-sdf.gif" + caption="An implicit surface defined compositionally, raymarched, and shaded entirely in Rust") }} Announcing [rust-gpu-sdf], by [@Shfty]; a no-std signed distance field library designed for use on both CPU and GPU. diff --git a/content/news/045/index.md b/content/news/045/index.md index 856d2c629..76897ae2d 100644 --- a/content/news/045/index.md +++ b/content/news/045/index.md @@ -125,8 +125,10 @@ If you want solo though, that's fine too. ### [CyberGate][cybergate-yt] -![hundreds of npcs smoothly interpolating](cybergate.jpg) -_hundreds of npcs smoothly interpolating_ +{{ image_figure( + alt="hundreds of npcs smoothly interpolating" + src="cybergate.jpg" + caption="hundreds of npcs smoothly interpolating") }} CyberGate ([YouTube][cybergate-yt], [Discord][cybergate-dis]), an ambitious multiplayer project in development by CyberSoul, @@ -155,8 +157,10 @@ Participate [by joining the Discord server][cybergate-dis]. ### [Jumpy] -![Online Matchmaking Menu Page](jumpy.png) -_Online Matchmaking_ +{{ image_figure( + alt="Online Matchmaking Menu Page" + src="jumpy.png" + caption="Online Matchmaking") }} [Jumpy] ([GitHub][Jumpy], [Discord][jumpy_discord], [Twitter][jumpy_twitter]) by [Spicy Lobster][spicy_lobster] is a pixel-style, tactical 2D shooter with a fishy @@ -302,8 +306,10 @@ This month [a new demo was released][idu-new-demo]: ### [Tiny Glade] -![three small windows are merged into one bigger one](tglade.gif) -_Demo of the gothic windows system_ +{{ image_figure( + alt="three small windows are merged into one bigger one" + src="tglade.gif" + caption="Demo of the gothic windows system") }} [Tiny Glade] ([Twitter][tglade-twi], [Youtube][tglade-yt]) is a small relaxing game about doodling castles. @@ -352,8 +358,10 @@ that is available in Early Access on Steam. ### [Ambient][ambient-github] -![a set of cool and mostly physics-centered demos](ambient.gif) -_A 10-second preview of what's possible with Ambient 0.2_ +{{ image_figure( + alt="a set of cool and mostly physics-centered demos" + src="ambient.gif" + caption="A 10-second preview of what's possible with Ambient 0.2") }} [Ambient 0.2][ambient-blog] is now out after two months of development. Ambient is an open-source runtime for building high-performance multiplayer @@ -431,8 +439,10 @@ to GitHub Pages using GitHub Actions. ### [Exploring Bevy's Game Of Life Example][exploring-gol-blog] -![red dots or black bg](explore_gol_drawing.gif) -_Game of Life Simulation_ +{{ image_figure( + alt="red dots or black bg" + src="explore_gol_drawing.gif" + caption="Game of Life Simulation") }} [Yendor][yendor] published [a mini-tutorial series][exploring-gol-blog] exploring compute shaders in Bevy using their [Game of Life example][bevy-gol] @@ -699,9 +709,11 @@ _Discussions: [/r/rust](https://reddit.com/r/rust/comments/133ruqi/image_maniac) ### [Backpack] -![left part is "crab simulator" game where the player gains an item -right part is "clash of crabs" where player is able to use the item](backpack.jpg) -_Minimalist schema for sharing items in different games_ +{{ image_figure( + alt='left part is "crab simulator" game where the player gains an item +right part is "clash of crabs" where player is able to use the item' + src="backpack.jpg" + caption="Minimalist schema for sharing items in different games") }} [Backpack] is an inventory system to share items between different games, for example: diff --git a/content/news/046/index.md b/content/news/046/index.md index d52ad4a45..bfc194042 100644 --- a/content/news/046/index.md +++ b/content/news/046/index.md @@ -65,8 +65,10 @@ If needed, a section can be split into subsections with a "------" delimiter. ### [Rusty Jam \#3][rj3] -![find ferris screenshot: a cart with sweets, ferris, flowers, etc](find_ferris.png) -_Find Ferris_ +{{ image_figure( + alt="find ferris screenshot: a cart with sweets, ferris, flowers, etc" + src="find_ferris.png" + caption="Find Ferris") }} [Rusty Jam \#3][rj3] ran from May 21st 2023 to May 29th 2023 and the theme was "Hidden in plain sight". @@ -114,8 +116,10 @@ Twitch][rust-gamedev-twitch]. ### Digital Extinction -![Building Placement in Digital Extinction](digital-extinction.jpeg) -_Building Placement in Digital Extinction_ +{{ image_figure( + alt="Building Placement in Digital Extinction" + src="digital-extinction.jpeg" + caption="Building Placement in Digital Extinction") }} [Digital Extinction] ([GitHub][de-github], [Discord][de-discord], [Reddit][de-reddit]) by [@Indy2222] is a 3D real-time strategy game made with @@ -157,8 +161,10 @@ More detailed monthly updates are available [here (May)][de-update-07] and ### [Tunnet][tunnet-itch] -![Tunnet screenshot: robots queueing outside nightclub](tunnet.jpg) -_Connecting the DJ set to the network_ +{{ image_figure( + alt="Tunnet screenshot: robots queueing outside nightclub" + src="tunnet.jpg" + caption="Connecting the DJ set to the network") }} Tunnet ([Steam][tunnet-steam], [Itch.io][tunnet-itch]) is a short puzzle/exploration game where the player digs tunnels and connects computers @@ -202,8 +208,10 @@ _Discussions: [/r/rust](https://reddit.com/r/rust/comments/13qkcv9/fish_ks)_ ### [Escape Room AI][escape-ai] -![top-down view on the game world: wallks, traps, enemies, doors, etc](escape-ai.png) -_AI trying to escape a room_ +{{ image_figure( + alt="top-down view on the game world: wallks, traps, enemies, doors, etc" + src="escape-ai.png" + caption="AI trying to escape a room") }} [escape-ai] by [@bones-ai] is a Rust-based implementation of a genetic algorithm and reinforcement learning simulation. @@ -301,8 +309,10 @@ _Discussions: [/r/rust_gamedev](https://reddit.com/r/rust_gamedev/comments/13al7 ### [NANOVOID][nv-steam] -![one big space ship shooting lots of missles at another](nanovoid.gif) -_Missiles targeting individual parts on enemy ships_ +{{ image_figure( + alt="one big space ship shooting lots of missles at another" + src="nanovoid.gif" + caption="Missiles targeting individual parts on enemy ships") }} [NANOVOID][nv-steam] by [LogLogGames] is a WIP 2D tactical space shooter that puts you in command of your own modular spaceship: @@ -434,8 +444,10 @@ _Discussions: [/r/rust](https://reddit.com/r/rust/comments/134d2i0/learning_game ### [Game Development In Rust: Making A Strategy Game][rust-strategy-game-tut-1] -![Game Development In Rust: Making A Strategy Game](strategy-game.png) -_Game Development In Rust: Making A Strategy Game_ +{{ image_figure( + alt="Game Development In Rust: Making A Strategy Game" + src="strategy-game.png" + caption="Game Development In Rust: Making A Strategy Game") }} [@srodrigo] published the first three parts of a [strategy game in Bevy series][rust-strategy-game-tut-1]. The series is aimed at diff --git a/content/news/047/index.md b/content/news/047/index.md index cf08ac22d..55ee93062 100644 --- a/content/news/047/index.md +++ b/content/news/047/index.md @@ -91,8 +91,10 @@ Twitch][rust-gamedev-twitch]. ### [Flesh] -![flesh preview](flesh.gif) -_Intro_ +{{ image_figure( + alt="flesh preview" + src="flesh.gif" + caption="Intro") }} [Flesh] by [@im_oab] is a 2D-horizontal shmup game with hand-drawn animation, an organic/fleshy theme and a unique story. It is implemented using [Tetra]. @@ -110,8 +112,10 @@ before release includes: ### [Space Frontiers] -![In-game screenshot of a real-time render of a modular gridmap-based spaceship interior](spacefrontiers.png) -_Render achieved with dynamic point lights._ +{{ image_figure( + alt="In-game screenshot of a real-time render of a modular gridmap-based spaceship interior" + src="spacefrontiers.png" + caption="Render achieved with dynamic point lights.") }} [Space Frontiers] ([GitHub], [Discord], [Twitter], [Reddit], [Steam Group]) by [Starwolves] is an online moddable sci-fi action RPG community game @@ -155,8 +159,10 @@ _Discussions: [StarWolves.io Bulletin Board]_ ### Digital Extinction -![Building Placement in Digital Extinction](digital-extinction.jpeg) -_Building Placement in Digital Extinction_ +{{ image_figure( + alt="Building Placement in Digital Extinction" + src="digital-extinction.jpeg" + caption="Building Placement in Digital Extinction") }} [Digital Extinction] ([GitHub][de-github], [Discord][de-discord], [Reddit][de-reddit]) by [@Indy2222] is a 3D real-time strategy game made with @@ -242,8 +248,10 @@ Recent updates: ### [Veloren][veloren] -![Veloren visual comparison](veloren.jpg) -_Veloren over the years_ +{{ image_figure( + alt="Veloren visual comparison" + src="veloren.jpg" + caption="Veloren over the years") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -268,8 +276,10 @@ June's full weekly devlogs: "This Week In Veloren...": [#211][veloren-211], [#21 ### [macroquad] -![macroquad](macroquad_0_4.gif) -_Macroquad examples rendered by Metal API_ +{{ image_figure( + alt="macroquad" + src="macroquad_0_4.gif" + caption="Macroquad examples rendered by Metal API") }} Macroquad got ported to miniquad-0.4, supporting Metal on Mac and IOS. diff --git a/content/news/048/index.md b/content/news/048/index.md index 2a12589e8..d556a2141 100644 --- a/content/news/048/index.md +++ b/content/news/048/index.md @@ -109,8 +109,10 @@ _Discussions: [/r/rust](https://reddit.com/r/rust/comments/14p1fiw/colony_sim)_ ### [Open Combat][OpenCombat_website] -![OpenCombat completed HUD](opencombat.jpg) -_Game HUD is now more complete_ +{{ image_figure( + alt="OpenCombat completed HUD" + src="opencombat.jpg" + caption="Game HUD is now more complete") }} Open Combat ([Website][OpenCombat_website], [GitHub][OpenCombat_github], [Discord][OpenCombat_discord]) is a real-time tactical game @@ -131,8 +133,10 @@ to publishing the official demo of the game! ### [CyberGate][cybergate-yt] -![Universal quic server](cybergate.jpg) -_The browser uses webtransport (Left), the native uses quinn (Right)_ +{{ image_figure( + alt="Universal quic server" + src="cybergate.jpg" + caption="The browser uses webtransport (Left), the native uses quinn (Right)") }} CyberGate ([YouTube][cybergate-yt], [Discord][cybergate-dis]), CyberSoul is developing an ambitious multiplayer project, @@ -276,8 +280,10 @@ as how distant parallax can be an immersive replacement for ui and minimaps. ### [Veloren][veloren] -![Veloren visual comparison](veloren.jpg) -_The 0.15 release party map_ +{{ image_figure( + alt="Veloren visual comparison" + src="veloren.jpg" + caption="The 0.15 release party map") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -594,8 +600,10 @@ with the mipmap levels corresponding to different roughness values of the materi ### [bevy_xpbd] -![Balls held by string swinging and hitting each other in a Newton's cradle](bevy_xpbd.gif) -_Newton's cradle simulated using bevy_xpbd_ +{{ image_figure( + alt="Balls held by string swinging and hitting each other in a Newton's cradle" + src="bevy_xpbd.gif" + caption="Newton's cradle simulated using bevy_xpbd") }} [bevy_xpbd] by [@Jondolf] is a 2D and 3D physics engine based on Extended Position Based Dynamics for the Bevy game engine. @@ -644,8 +652,10 @@ borrow data from one of World, Resources or SyncResources. ### [Hanabi] -![Glowing particles circling and raising up](hanabi.gif) -_Hanabi effect entirely simulated on GPU thanks to the new Expression API of v0.7_ +{{ image_figure( + alt="Glowing particles circling and raising up" + src="hanabi.gif" + caption="Hanabi effect entirely simulated on GPU thanks to the new Expression API of v0.7") }} The [Hanabi] library ([GitHub][hanabi-github], [docs.rs][hanabi-docs]) is a modern VFX library for the [Bevy game engine][bevy]. It focuses on scale to produce @@ -683,9 +693,11 @@ See the [CHANGELOG][hanabi-changelog] for all details. ### [Iced][iced] -![olf primitives gradually fade out and damaged regions -are marked with red rectangles](iced-incremental.png) -_Visualisation of damaged regions during the incremental rendering_ +{{ image_figure( + alt="olf primitives gradually fade out and damaged regions +are marked with red rectangles" + src="iced-incremental.png" + caption="Visualisation of damaged regions during the incremental rendering") }} [Iced][iced] is a Rust GUI library focused on simplicity and type safety. diff --git a/content/news/049/index.md b/content/news/049/index.md index 9436117cb..2b09912d1 100644 --- a/content/news/049/index.md +++ b/content/news/049/index.md @@ -128,9 +128,11 @@ Here are the most notable updates: ### [Oort] -![Asteroids-like vector graphics with ships and missiles -made out of simple geometric forms](oort.png) -_A fleet of ships_ +{{ image_figure( + alt="Asteroids-like vector graphics with ships and missiles +made out of simple geometric forms" + src="oort.png" + caption="A fleet of ships") }} [Oort] ([GitHub][oort-gh], [Discord][oort-dis]) by [@rlane] is a programming game where you write Rust code to control spaceships in combat against other @@ -173,8 +175,10 @@ and [dynamic time passage][tglade-tod]. ### [Veloren][veloren] -![Veloren a group of friends](veloren.jpg) -_A group of friends_ +{{ image_figure( + alt="Veloren a group of friends" + src="veloren.jpg" + caption="A group of friends") }} [Veloren][veloren] is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World. @@ -202,9 +206,11 @@ August's full weekly devlogs: "This Week In Veloren...": [#216][veloren-216]. ### [CyberGate][cybergate-yt] -![GIF of a player attacking a spherical enemy: one window is active, -the other shows the same view but a menu overlay on top](cybergate.gif) -_Two client windows controlling the same pawn simultaneously._ +{{ image_figure( + alt="GIF of a player attacking a spherical enemy: one window is active, + the other shows the same view but a menu overlay on top" + src="cybergate.gif" + caption="Two client windows controlling the same pawn simultaneously.") }} CyberGate ([YouTube][cybergate-yt], [Discord][cybergate-dis]), CyberSoul is developing an ambitious multiplayer project, @@ -345,8 +351,10 @@ mobile/WASM support and the need to pre-define events & states. ### [nanogltf] -![The "DamagedHelmet" sample model](nanogltf-helmet.gif) -_nanogltf+miniquad glTF viewer_ +{{ image_figure( + alt='The "DamagedHelmet" sample model' + src="nanogltf-helmet.gif" + caption="nanogltf+miniquad glTF viewer") }} [nanogltf] by [@not-fl3] is a minimalist [nanoserde]-based [glTF][gltf] parser library that can load most of the glTF's [sample models][gltf-models] diff --git a/content/news/050/index.md b/content/news/050/index.md index fd2381f95..177824dca 100644 --- a/content/news/050/index.md +++ b/content/news/050/index.md @@ -120,8 +120,10 @@ A successful stress test for the MMO feature was run on April 10th. ### [Open Combat][OpenCombat_website] -![OpenCombat: demo available soon](OpenCombat202404.jpg) -_Official demo available soon_ +{{ image_figure( + alt="OpenCombat: demo available soon" + src="OpenCombat202404.jpg" + caption="Official demo available soon") }} Open Combat ([GitHub][OpenCombat_github], [Discord][OpenCombat_discord]) is a real-time tactical game which takes place during World War II. @@ -195,8 +197,10 @@ _Discussions: ([/r/rust_gamedev][you-are-merlin-reddit-post])_ ### [Jumpy] -![Machine Gun and Periscope](jumpy.png) -_Jumpy: Machine gun and Periscope_ +{{ image_figure( + alt="Machine Gun and Periscope" + src="jumpy.png" + caption="Jumpy: Machine gun and Periscope") }} [Jumpy] ([GitHub][Jumpy], [Discord][jumpy_discord], [Twitter][jumpy_twitter]) by [Spicy Lobster][spicy_lobster] is a pixel-style, tactical 2D shooter with a fishy diff --git a/content/news/051/index.md b/content/news/051/index.md index 2e50e43ba..454399959 100644 --- a/content/news/051/index.md +++ b/content/news/051/index.md @@ -88,8 +88,11 @@ He will [work on this feature](https://github.com/rust-gamedev/rust-gamedev.gith ### [Way of Rhea][wor] -[![Way of Rhea](wor.jpg)][wor] -*Way of Rhea: a puzzle game. Available on Steam.* +{{ image_figure( + alt="Way of Rhea" + src="wor.jpg" + caption="Way of Rhea: a puzzle game. Available on Steam." + link="https://store.steampowered.com/app/1110620/Way_of_Rhea/?utm_campaign=tmirgd&utm_source=n51") }} [Way of Rhea][wor] released on May 20th as part of the [Cerebral Puzzle Showcase][wor-cps]! @@ -109,8 +112,11 @@ You can support development by [purchasing Way of Rhea on Steam][wor], or ### [Untitled Pixel Wizard Game][pixel-wizards] -[![A target being destroyed by a rudimentary flame thrower spell](untitled-pixel-wizards-game.gif)][pixel-wizards] -_A deadly foe meets its end._ +{{ image_figure( + alt="A target being destroyed by a rudimentary flame thrower spell" + src="untitled-pixel-wizards-game.gif" + caption="A deadly foe meets its end.", + link="https://slowrush.dev") }} [Untitled Pixel Wizard Game][pixel-wizards] is a local-multiplayer [Noita]-like platformer about killing baddies using spells powered by pixel physics. @@ -135,8 +141,10 @@ This month: ### [mirr/orb] -![mirr/orb](mirrorb.png) -_A typical level and its UI_ +{{ image_figure( + alt="mirr/orb" + src="mirrorb.png" + caption="A typical level and its UI") }} [mirr/orb] by [syn9] is a puzzle game about bouncing lasers off mirrors to activate orbs. @@ -151,8 +159,10 @@ This release contains 110 levels which pull from 870 available puzzle layouts. ### [CyberGate Playground][cybergate-shorts] -![Improved Hammer Destruction](cybergate.gif) -_Shooting a Hammer against a Floating Wall and Destroying part of it_ +{{ image_figure( + alt="Improved Hammer Destruction" + src="cybergate.gif" + caption="Shooting a Hammer against a Floating Wall and Destroying part of it") }} CyberGate Playground is a multiplayer browser game where players claim territory by painting the environment in their color, with the goal of overpowering opponents. @@ -179,8 +189,10 @@ If you're interested in the game's progress, join the [Discord server][cybergate ### Macroquad Newsletter -![quad-gl](twiq_3d_helmet.gif) -_"Basic" 3d rendering (gltf helmet)_ +{{ image_figure( + alt="quad-gl" + src="twiq_3d_helmet.gif" + caption='"Basic" 3d rendering (gltf helmet)') }} [@Fedor](https://github.com/not-fl3/), creator of [*Quad], a game engine written in Rust, is starting a ["This week in Quads"](https://macroquad.rs/twiq) newsletter. @@ -190,8 +202,10 @@ This month overall polish, developer experience, performance optimization, and b ### [Fyrox 0.34][fyrox-release] -![Fyrox editor](fyrox-editor.png) -_The improved Fyrox editor UI_ +{{ image_figure( + alt="Fyrox editor" + src="fyrox-editor.png" + caption="The improved Fyrox editor UI") }} [Fyrox] got a huge update this month. For those who don't know, Fyrox is a game engine written in Rust that is especially notable for sporting a Unity-like editor. @@ -203,8 +217,10 @@ keyboard navigation, animation support for UI, editor style and usability improv ### Bevy 0.14 WIP -![Bevy repeated textures](bevy_rep.jpg) -_One of the upcoming features in Bevy 0.14 is easier texture repetition for GLTF objects_ +{{ image_figure( + alt="Bevy repeated textures" + src="bevy_rep.jpg" + caption="One of the upcoming features in Bevy 0.14 is easier texture repetition for GLTF objects") }} The 0.14 release of [Bevy] nears completion, but the team is still working on detailed release notes and the migration guide. If you want to help, you can grab one of the [open documentation issues][bevy-docs-issues]. @@ -216,8 +232,10 @@ release notes and the migration guide. If you want to help, you can grab one of ### Xkcd Machine -![XKCD Machine](xkcd_machine.gif) -_A small part of the XKCD Machine_ +{{ image_figure( + alt="XKCD Machine" + src="xkcd_machine.gif" + caption="A small part of the XKCD Machine") }} Chromakode released a detailed [blog post][xkcd_machine_blogpost] about their implementation of [xkcd "Machine"][xcd_machine_playable]. @@ -231,8 +249,10 @@ Machine is written in React/Typescript, and uses [Rapier][xkcd_rapier]: a physic ### [Rusty Playdate] -![The Playdate console](playdate.png) -_The Playdate console_ +{{ image_figure( + alt="The Playdate console" + src="playdate.png" + caption="The Playdate console") }} [Rusty Playdate] ([GitHub][Rusty Playdate], [Mastodon][Rusty Playdate Masto]) by [@boozook](https://github.com/boozook) is the large set of crates with bindings, cargo-plugin, and toolset for the full cycle of creating games for the [Playdate handheld console][playdate]. @@ -258,8 +278,10 @@ _Discussions: [GitHub][Rusty Playdate Gh-disc], [Matrix][Rusty Playdate Matrix]. ### Bevy rustunit meetup #3 -![Bevy meetup YouTube extract](bevy_rustunit_meetup_3.jpg) -_Bevy meetup YouTube extract, showing its 3 participants._ +{{ image_figure( + alt="Bevy meetup YouTube extract" + src="bevy_rustunit_meetup_3.jpg" + caption="Bevy meetup YouTube extract, showing its 3 participants.") }} [Rustunit][rustunit] has hosted its 3rd unofficial online [Bevy Engine][bevy] meetup on April 19th with the following topics: - Intro / Code of Conduct @@ -273,8 +295,10 @@ and join [the meetup group][rustunit_bevy_meetup_event] to get notified of futur ### Bevy rustunit meetup #4 -![Bevy meetup YouTube extract](bevy_rustunit_meetup_4.jpg) -_Bevy meetup YouTube extract, showing its 4 participants._ +{{ image_figure( + alt="Bevy meetup YouTube extract" + src="bevy_rustunit_meetup_4.jpg" + caption="Bevy meetup YouTube extract, showing its 4 participants.") }} [Rustunit][rustunit] has hosted its 4th unofficial online [Bevy Engine][bevy] meetup on May 24th with the following topics: - Francois - Catching Rendering Regressions on all Platforms diff --git a/content/news/052/index.md b/content/news/052/index.md index 3132b18b9..578f73735 100644 --- a/content/news/052/index.md +++ b/content/news/052/index.md @@ -47,8 +47,10 @@ Ideal section structure is: ``` ### [Title] -![image/GIF description](image link) -_image caption_ +{{ image_figure( + alt="image/GIF description" + src="image link" + caption="image caption") }} A paragraph or two with a summary and [useful links]. @@ -80,8 +82,10 @@ We will switch this to an actual @gamedev.rs address in the future. Please tell ### [Untitled Pixel Wizards Game][pixel-wizards] -{{ embed_video(type="video/mp4", src="untitled-pixel-wizards-game.mp4") }} -*Enemies now perceive, pursue, and attack... and occasionally get burned to death.* +{{ embed_video( + type="video/mp4", + src="untitled-pixel-wizards-game.mp4", + caption="Enemies now perceive, pursue, and attack... and occasionally get burned to death.") }} [Untitled Pixel Wizards Game][pixel-wizards] is a local-multiplayer [Noita]-like platformer about killing baddies using spells powered by pixel physics. This month was focused on juicing up said baddies: @@ -103,8 +107,11 @@ killing baddies using spells powered by pixel physics. This month was focused on ### [Way of Rhea][wor] -[![Way of Rhea](wor.jpg)][wor] -*Way of Rhea: a puzzle game. Available on Steam and 20% off for the Steam Summer Sale!* +{{ image_figure( + alt="Way of Rhea" + src="wor.jpg" + caption="Way of Rhea: a puzzle game. Available on Steam and 20% off for the Steam Summer Sale!", + link="https://store.steampowered.com/app/1110620/Way_of_Rhea/?utm_campaign=tmirgd&utm_source=n52") }} Way of Rhea ([Steam][wor], [Newsletter][wor-mail]) is a color-based puzzle game with difficult puzzles, but forgiving mechanics developed by [Mason Remaley] in a custom Rust engine. Since its release in May, @@ -123,8 +130,10 @@ It includes questions about Rust, libraries, experiences writing a custom game e ### [Gunbug][gunbug] -[![Gunbugs shooting at a bunch of eggplants](gunbug.jpg)][gunbug] -*Gunbugs shooting at a bunch of eggplants* +{{ image_figure( + alt="Gunbugs shooting at a bunch of eggplants" + src="gunbug.jpg" + link="https://store.steampowered.com/app/2946990?utm_source=this_month_in_rust") }} Gunbug is a 2D online co-op horde survival shoot'em up game. @@ -183,8 +192,9 @@ _See also the [devlog article][gd-dev-june]._ ### [Bevy 0.14 Release Candidate][bevy-0.14-rc] -![Sharp Screen-Space Reflections in Bevy 0.14](ssr.jpg) -*Sharp Screen-Space Reflections in Bevy 0.14* +{{ image_figure( + alt="Sharp Screen-Space Reflections in Bevy 0.14" + src="ssr.jpg") }} The Bevy game engine is gearing up to release version 0.14. The (probably) last release candidate is out now and ready for testing. @@ -233,8 +243,9 @@ and how to release the game on multiple platforms. ### [Rusty Playdate 0.5][Rusty Playdate] -![The Playdate console](../051/playdate.png) -*The Playdate console* +{{ image_figure( + alt="The Playdate console" + src="../051/playdate.png") }} [Rusty Playdate] ([GitHub][Rusty Playdate], [Mastodon][Rusty Playdate Masto]) by [@boozook](https://github.com/boozook) is a large set of crates and tools for the full cycle of creating games for the [Playdate handheld console][playdate]. @@ -278,8 +289,9 @@ _Discussions: [GitHub][Rusty Playdate Gh-discuss], [Matrix][Rusty Playdate Matri ### [egui_ratatui][egui_ratatui] -![egui_ratatui running in Bevy](egui_ratatui.jpg) -*egui_ratatui running in Bevy* +{{ image_figure( + alt="egui_ratatui running in Bevy" + src="egui_ratatui.jpg") }} [egui_ratatui][egui_ratatui] by [gold-silver-copper][gold] is an [egui][egui] widget that is also a [ratatui][ratatui] backend. It allows you to create Terminal User Interfaces (TUIs) inside egui. @@ -307,9 +319,9 @@ Certain APIs, such as loading banks from a pointer, are marked as unsafe, but ar ### [Bevy Lunex][bevy-lunex] -![Bevypunk: a recreation of Cyberpunk 2077's UI made with Lunex](bevypunk.jpg) -*Bevypunk: a recreation of Cyberpunk 2077's UI made with Lunex* - +{{ image_figure( + alt="Bevypunk: a recreation of Cyberpunk 2077's UI made with Lunex" + src="bevypunk.jpg") }} Lunex is a path based retained layout engine for Bevy entities, built around vanilla Bevy ECS. It gives you the ability to make your own custom UI using regular ECS like every other part of your app. @@ -325,8 +337,7 @@ You can get started by reading the [bevy_lunex book][bevy-lunex-book]. ### [haalka] -{{ embed_video(type="video/mp4", src="haalka.mp4") }} -*A Minecraft-like UI made with haalka* +{{ embed_video(type="video/mp4", src="haalka.mp4", caption="A Minecraft-like UI made with haalka") }} হালকা: _in bengali, haalka means "light" (e.g. not heavy) and can also be used to mean "easy"_ @@ -341,8 +352,10 @@ its core abstraction can be used to manage signals-powered reactivity for any en ### [bevy_light_2d][bevy_light_2d] -![A candle shining 2D light](bevy_light_2d.gif) -_A candle shining 2D light_ +{{ image_figure( + alt="A candle shining 2D light" + src="bevy_light_2d.gif" + caption="A candle shining 2D light") }} bevy_light_2d is a new general purpose 2D lighting for the Bevy game engine. Designed to be simple to use, yet expressive enough to fit a variety of needs. Features include: @@ -356,8 +369,10 @@ Designed to be simple to use, yet expressive enough to fit a variety of needs. F ### [bevy_hanabi][bevy_hanabi] 0.11 -![Trails in Hanabi](bevy_hanabi_trails.gif) -_Trails in Hanabi_ +{{ image_figure( + alt="Trails in Hanabi" + src="bevy_hanabi_trails.gif" + caption="Trails in Hanabi") }} Hanabi is a GPU particle system plugin for the Bevy game engine. The most notable new feature in [bevy_hanabi 0.11][bevy_hanabi] is support for trails and ribbons. @@ -366,8 +381,10 @@ The most notable new feature in [bevy_hanabi 0.11][bevy_hanabi] is support for t ### [berdicles][berdicles] -![A fountain of particles](berdicles.jpg) -_A fountain of particles_ +{{ image_figure( + alt="A fountain of particles" + src="berdicles.jpg" + caption="A fountain of particles") }} berdicles is an expressive CPU particle system for the Bevy engine. Features include: @@ -398,8 +415,9 @@ berdicles is an expressive CPU particle system for the Bevy engine. Features inc ### [Metalmancy @ OpenSauce][metalmancy_interview] -![image/GIF description](metalmancy_interview.jpg) -_Arcade cabinet close up_ +{{ image_figure( + alt="Arcade cabinet close up" + src="metalmancy_interview.jpg") }} [Metalmancy][metalmancy_website] are creating custom and configurable arcade machines. Their flagship game [Thetawave] is coded in Rust. @@ -414,8 +432,9 @@ and arcade machines at [OpenSauce][opensauce_website]. ### [Tiny Glade Developers Discuss Bevy, Proceduralism, Publishers & Cozy Games][tiny-glade-interview] -![An idyllic scenery made in Tidy Glade](tiny-glade.jpg) -_An idyllic scenery made in Tidy Glade_ +{{ image_figure( + alt="An idyllic scenery made in Tidy Glade" + src="tiny-glade.jpg") }} To celebrate the release of Tiny Glade's [demo version][tiny-glade-steam], Pounce Light's Anastasia Opara and Tomasz Stachowiak have joined 80 Level [in an interview][tiny-glade-interview] to discuss the game's history, proceduralism, @@ -449,8 +468,10 @@ _Discussions: [lobste.rs](https://lobste.rs/s/dsqumn/dioxus_labs_high_level_rust ### Virtual Geometry in Bevy 0.14 -![The Stanford bunny split into meshlets](meshlets.jpg) -_The Stanford bunny split into meshlets_ +{{ image_figure( + alt="The Stanford bunny split into meshlets" + src="meshlets.jpg" + caption="The Stanford bunny split into meshlets") }} Ever wondered how [Unreal 5's Nanite][nanite] works under the hood? Jasmine, who reimplemented the virtual geometry technology for Bevy's upcoming 0.14 release, diff --git a/content/news/053/index.md b/content/news/053/index.md index d8dc39681..10169b979 100644 --- a/content/news/053/index.md +++ b/content/news/053/index.md @@ -50,8 +50,10 @@ Ideal section structure is: ``` ### [Title] -![image/GIF description](image link) -_image caption_ +{{ image_figure( + alt="image/GIF description" + src="image link" + caption="image caption") }} A paragraph or two with a summary and [useful links]. @@ -74,8 +76,10 @@ If needed, a section can be split into subsections with a "------" delimiter. ### [Chuột][chuot-website] -![Bunnymark example](chuot.png) -_[Bunnymark example][chuot-bunnymark]_ +{{ image_figure( + alt="Bunnymark example" + src="chuot.png" + caption="[Bunnymark example](https://tversteeg.nl/chuot/examples/bunnymark/)") }} Chuột ([Website][chuot-website], [GitHub][chuot-github]) by [@tversteeg] is an AGPL licensed game engine for 2D pixel-art games. @@ -98,7 +102,6 @@ _Check out the [web examples][chuot-examples]!_ [chuot-website]: https://tversteeg.nl/chuot [chuot-github]: https://github.com/tversteeg/chuot -[chuot-bunnymark]: https://tversteeg.nl/chuot/examples/bunnymark/ [chuot-0.2]: https://github.com/tversteeg/chuot/releases/tag/chuot-v0.2.0 [chuot-examples]: https://tversteeg.nl/chuot/examples [winit]: https://docs.rs/winit diff --git a/sass/_extra.scss b/sass/_extra.scss index 2ef075ad6..2f4ebe628 100644 --- a/sass/_extra.scss +++ b/sass/_extra.scss @@ -83,14 +83,24 @@ h6:hover .anchor { visibility: visible; } -.post-content p img { +.post-content p img, +.post-content figure img, +.post-content figure video { display: block; box-sizing: border-box; - margin: 16px auto; padding: 8px; border: 1px solid #e8e8e8; } +.post-content p img { + margin: 16px auto; +} + +.post-content figure img, +.post-content figure video { + margin: 0 auto; +} + .post-link { display: inline-block; } @@ -141,14 +151,12 @@ input[type=email] { padding: .4em; } -// A hack for image captions. -// See https://stackoverflow.com/questions/19331362/using-an-image-caption-in-markdown-jekyll -img+em, -a:first-child+em:last-child, -video+em { +figcaption { display: block; text-align: center; - color: $grey-color; + color: #595959; + font-size: inherit; + margin-top: .5em; } video { @@ -191,4 +199,4 @@ video { grid-column: 1 / 3; font-size: .8em; } -} \ No newline at end of file +} diff --git a/templates/shortcodes/embed_video.html b/templates/shortcodes/embed_video.html index f9c9f0b77..bdd1fa41d 100644 --- a/templates/shortcodes/embed_video.html +++ b/templates/shortcodes/embed_video.html @@ -4,6 +4,11 @@ {{ embed_video(type="video/mp4", src="my-video.mp4", caption="Some caption.") }} #} --> - {% if caption %}{{ caption }}{% endif %} \ No newline at end of file +
+ + {% if caption %} +
{{ caption }}
+ {% endif %} +
diff --git a/templates/shortcodes/image_figure.html b/templates/shortcodes/image_figure.html new file mode 100644 index 000000000..e45c063a8 --- /dev/null +++ b/templates/shortcodes/image_figure.html @@ -0,0 +1,51 @@ + + +{% if src != "image link" %} + {# Only validate against placeholders if we're not in the example #} + {% if alt == "image/GIF description" %} + {{ throw(message="Don't forget to write your own image description :)") }} + {% endif %} + + {% if caption and caption == "image caption" %} + {{ throw(message="Don't forget to write your own image caption ^^") }} + {% endif %} +{% endif %} + +
+ {% if link %}{% endif %} + {{alt}} + {% if link %}{% endif %} + + {% if caption %} +
{{caption | markdown(inline=true) | safe}}
+ {% else %} +
{{alt}}
+ {% endif %} +