diff --git a/content/posts/newsletter-011/index.md b/content/posts/newsletter-011/index.md index c94618fed..69ca7a4ef 100644 --- a/content/posts/newsletter-011/index.md +++ b/content/posts/newsletter-011/index.md @@ -432,6 +432,65 @@ written with the framework on platforms without threading - notably, web. [`hecs`]: https://crates.io/crates/hecs [Rayon]: https://crates.io/crates/rayon +### [nanoserde] + +[nanoserde] by [@fedor_games] is a fork of makepad-tinyserde +with syn/quote/proc_macro2 dependencies removed. + +It attempts to solve a serde's problems of long clean compilation time, +increased incremental build time, and build artifacts size. +nanoserde may be useful when the whole game has less than a minute +clean build time and spending ~40s on serde is unreasonable. + +```text +> cargo tree +nanoserde v0.1.0 (/../nanoserde) +└── nanoserde-derive v0.1.0 (/../nanoserde/derive) +``` + +Some benchmarks and tiled map deserializing example +[could be fould here][nanoserde-bench]. + +[nanoserde]: https://github.com/not-fl3/nanoserde/ +[@fedor_games]: https://twitter.com/fedor_games +[nanoserde-bench]: https://github.com/not-fl3/nanoserde-bench + +### [macroquad] + +[macroquad] by [@fedor_games] is cross-platform +(Windows/Linux/macOS/Android/WASM) game framework +build on top of [miniquad]. + +The project now has [a Discord community server](https://discord.gg/WfEp6ut) +([Matrix bridge](https://matrix.to/#/#quad-general:matrix.org)) +with channels for all the quad-family projects: +miniquad, macroquad, good-web-game, and nanoserde. + +megaui is macroquad's imgui-like UI system. +Recently, megaui got decent input widgets: input fields, editboxes, and sliders. +All of them support copy-pasting back and forth from the browser. +Check out [the web demo](https://not-fl3.github.io/miniquad-samples/ui.html) +([source](https://github.com/not-fl3/macroquad/blob/master/examples/ui.rs)): + +![ui](macroquad_ui.gif) + +Also, two new examples came from the awesome macroquad community: + +- "snake" - try it [in the browser][mq-snake-web] ([source][mq-snake]) + + [![snake demo](macroquad_snake.gif)][mq-snake-web] + +- "asteroids" - try it [in the browser][mq-asteroids-web] ([source][mq-asteroids]) + + [![asteroids](macroquad_asteroids.gif)][mq-asteroids-web] + +[macroquad]: https://github.com/not-fl3/macroquad +[miniquad]: https://github.com/not-fl3/miniquad +[mq-snake]: https://github.com/not-fl3/macroquad/blob/master/examples/snake.rs +[mq-asteroids]: https://github.com/not-fl3/macroquad/blob/master/examples/asteroids.rs +[mq-snake-web]: https://not-fl3.github.io/miniquad-samples/snake.html +[mq-asteroids-web]: https://not-fl3.github.io/miniquad-samples/asteroids.html + ### [Tetra 0.4][tetra-040] [Tetra] is a simple 2D game framework, inspired by XNA and Raylib. This month, diff --git a/content/posts/newsletter-011/macroquad_asteroids.gif b/content/posts/newsletter-011/macroquad_asteroids.gif new file mode 100644 index 000000000..7cc9f8188 Binary files /dev/null and b/content/posts/newsletter-011/macroquad_asteroids.gif differ diff --git a/content/posts/newsletter-011/macroquad_snake.gif b/content/posts/newsletter-011/macroquad_snake.gif new file mode 100644 index 000000000..d28197d10 Binary files /dev/null and b/content/posts/newsletter-011/macroquad_snake.gif differ diff --git a/content/posts/newsletter-011/macroquad_ui.gif b/content/posts/newsletter-011/macroquad_ui.gif new file mode 100644 index 000000000..fb5a1f345 Binary files /dev/null and b/content/posts/newsletter-011/macroquad_ui.gif differ