From 2a0efa84e1f4b78b06fd9377cb804c84c90f0be0 Mon Sep 17 00:00:00 2001 From: Fedor Logachev <not.fl3@gmail.com> Date: Fri, 1 May 2020 15:58:40 -0500 Subject: [PATCH 1/3] Newsletter 9: Add miniquad and macroquad updates --- content/posts/newsletter-009/index.md | 24 ++++++++++++++++++ .../posts/newsletter-009/miniquad_logo.png | Bin 0 -> 14219 bytes 2 files changed, 24 insertions(+) create mode 100644 content/posts/newsletter-009/miniquad_logo.png diff --git a/content/posts/newsletter-009/index.md b/content/posts/newsletter-009/index.md index 58ef3e57c..16e790e9f 100644 --- a/content/posts/newsletter-009/index.md +++ b/content/posts/newsletter-009/index.md @@ -54,6 +54,30 @@ If needed, a section can be split into subsections with a "------" delimiter. ## Library & Tooling Updates +### [miniquad] + + +`miniquad` project got a logo + +Miniquad is safe and cross-platform rendering library focused on portability and low-end platforms support. + +This month `miniquad` based games got recommended way to make sounds: [quad-snd]. +[Wasm demo]((https://not-fl3.github.io/miniquad-samples/mixer.html)), [source](https://github.com/not-fl3/quad-snd/blob/master/examples/mixer.rs) +With [quad-snd] [good-web-game] now can run ggez [sounds](https://github.com/not-fl3/good-web-game/blob/audio/examples/sounds.rs) example. [WEB](https://not-fl3.github.io/miniquad-samples/sounds.html) + +[good-web-game]: https://github.com/not-fl3/good-web-game +[quad-snd]: https://github.com/not-fl3/quad-snd +[miniquad]: https://github.com/not-fl3/miniquad + +### [macroquad] + +`macorquad` is minimalistic game framework on top of miniquad, strongly inspired by raylib. + +This month `macroquad`'s rendering system got 2D custom cameras support. [Example source](https://github.com/not-fl3/macroquad/blob/master/examples/camera.rs). +And `macroquad`'s UI system now support TTF fonts. [Online demo](https://not-fl3.github.io/miniquad-samples/ui.html), [source](https://github.com/not-fl3/macroquad/blob/master/examples/ui.rs) + +[macroquad]: https://github.com/not-fl3/macroquad + ## Popular Workgroup Issues in Github <!-- Up to 10 links to interesting issues --> diff --git a/content/posts/newsletter-009/miniquad_logo.png b/content/posts/newsletter-009/miniquad_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..00a829c5a20d7173aad850e5c98083967e81a9da GIT binary patch literal 14219 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ჹ!8t|daa|V$O0e+Ih<7K)_iSwF zt7&Q`yk_?Hin_YHx27hXGm-JBIuiVNc=&qovi<(Lo|~Ks(1j-OESe3cs{=3v_PfQv z$-DNM*KPmHVudn97tWp)kVIFvMz!r79u_qeL!E<VjEe&-3z7s4Xo+93)M$&?LxXz& zzgFJ02!;yKS#lihi=}>yDc1y1+IC*0NGVKLu&WBt^1@}q;ERDH!3k&2bo^FQk`pnt zJqx81%ftziMVW0y>;t77y3I&Ul$21oY?rpahgrATBq!3q((t%bmwOhKK<DVEq}L-r z+Pw0-70-sxLI}9FLk5WIi4#VZgmzcTY&JO%yY}Hn!IA=VXd0F$+RiBnaB#YVAYcr+ zUW8f#!KTKB^Qy@{&!cMgHp&S%<DM(@47>>+25a`Prq_|s3=_0k^$(|e5!0ErN0`5$ zIfIqfA{t{{$O!k;W@K_gpiZODHqKIn8KocP^yYr?TR9%{5QU8=5<Iy^WK;x_tlv8x z1hk{zDe%LR@~G<VxiM2iY^4cTk8gE5@Yy|84?!E;`lyJ~xq|6IudlAg%*@Q7Vrvx; zyql*FFD0R9GRO5rAjj4Jc#e^!Asyj~9}uS`F+N^8t}E1sp%JW)uW-lF_jj`uu~K*2 zQp(sR)n)*30l=X99ow0d8Q!AcN*N{v9*WJvg3NoMNJKmR0-i7lj~I4aUuX&|25K=o zh18M*&-bbaCbz9H3G(`n4yO!;)84Go^x|SfQlV&9Rn2#5pkJ)W_a_RivxmSDU(iXQ zTBj0}YmIE7@3h|cOz(MMEkH<yLuO@Zok7O(V{=C!&-I3m&ZyCk<T+ZWz&y4_g68TJ zV#C(2)d6_}$d6F%1)<&_nVGoGq?^RsIR+JK)fu-}ebO%{0WIHfv0&?Et=s9vyU%tX zm2w4me<O-uNSv*;%of2x<;CUkWH+Y`p%8R8CUEtk0&1sZAUo5PuLV#l8=3Q+tIEoR z-P|~}(j<(XZ)i?kr_3K^-F*WOvd{tQ@)-ilbaY_T1|QM4w_H93_Pq|vNV`2^Vob%2 zD0>U%BtR^PUVdNdiu$`L^IbJW7Uo``8B|5T;Nw<}pOXehU(Yj??2!X)jCnpt#SNzt zc0utWXhK4dlgN{klWK>}FPE6Za7L(P+jliZV7Tg{031I=Qzv(RhJ|jfyIO`Aa;bRX zB#NJAYudHeyM$Zq6eK=?re+Lbq%6c3X}6a09xAF9Wpm;YZ5-&d%`WKC{ZTOlN{m3! z<|_aIqVV5c0FhR66xYRlW{a_mpp@7tyRCQMP;fXpVyGVNMBs$sgx@U?eQRe1tgv5S zisK8gulw1HK?JDG+U_=BUT3sB7)PY=4aX&$q{_}1Y{^$|rRSF5%$;fL&=uq&>zkTP z4#vh%RS54$Sxr4)!RTK&f<!RMOeHh~z&<pbr`>Slsv43)yPtOCsxQ{iv!B0(240gi z9wd?W_V!*qE#|^TCBg;HvwkePmCe(EV#Xw|onDbLR|(DX;z2H=6dya0qHu88`x<I$ zkhzCnLDvLkzf6#07n3Y%ql23sKHaIuOau5WP@ZU)&)u^HywEbW#ftLI+ab6j9xrl8 zWb_%2+#(=gLlSB7R=SPpLvH*-M)l=m5?rbPfv$JL43)4GQ88#4ERW?+gPc}GI=4^> zboK8N@jnLIBfBvRCB#F?+36ur^%d#OaG?K=et~)C&Kn$!r#bts27AYGHZ!A=lA3CC zzS7XyR_2do#>Nn{H^v}8`XlbC-c`JRAmN0>5EFjvsn_I7+yo{A6{O9VXV7AUii!)z zf(Xr^k!MB?sa)F9>?z)PWi7o>-zF9Vq2++@T=0*=2g{szab-NdkhPF~!l>A%#75&8 zyy!}AL&+k7lhV+hY%=Fg?o;^U1L8i6^|4YPFgu!pu&Rj_IH2>dMXne0`fmM~X70c@ ze(p3gR4mk}t1_B?3JNk_6X=<PF)>jcJ`6g}v_Ia!zmJS}Q66NG0QJO`QVu*M`-TS6 z$DYZa3#ltTctefn0;#UhpYwTAPbdL#Q3L`eDS=J$W71hm%XJn*DbpC3m<0`;U(<Xk zCBs5O!=9zI5c{^;gq}#v$GezmsBwvKqp;I96DqE@AV>Rpd)q0%g<EVXlS)dV=4<O$ z&(X^X5!p*LV$^AXIf;?S%Pxs+Z$Skq&AqRlQWOZ{bRpQ08+8^a-Y;*XqS0XOP4vXR zK*Uk93!yHQft^XE;q!X*Ekg2;!AZTeW!u5~Q;)$TP%5%Qw+WdsR$#SJ!JWTVpt;JP zlb(qQ*`d7ytL{=4IE5Y?8Qp7h`VrrPaEbB*s7A-Uc~=2GGRHwdMdhsk+7zE!OeGs> zr>oyrhz8YBQqr{e;znM7LB^Rttn7iuV*1t^3d*@ZyTuB7IiP<1s+GZxajGgVMZR6U z*z<D&{uh%Y<dUhW<49DG*V~hmbP}XY($!z;JYi7Q8yV6a_r$d+SY+Sr(PiXA2&}*d Vfw1rdbo~bakdaUn|08M`{6FK<BK80P literal 0 HcmV?d00001 From 635cff9d15a2e42986faf2b008bd5b0890e32547 Mon Sep 17 00:00:00 2001 From: Fedor Logachev <not.fl3@gmail.com> Date: Fri, 1 May 2020 16:06:08 -0500 Subject: [PATCH 2/3] Update content/posts/newsletter-009/index.md Co-authored-by: Sheprut Ilya <optitel223@gmail.com> --- content/posts/newsletter-009/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/posts/newsletter-009/index.md b/content/posts/newsletter-009/index.md index 16e790e9f..b1aa33378 100644 --- a/content/posts/newsletter-009/index.md +++ b/content/posts/newsletter-009/index.md @@ -71,7 +71,7 @@ With [quad-snd] [good-web-game] now can run ggez [sounds](https://github.com/not ### [macroquad] -`macorquad` is minimalistic game framework on top of miniquad, strongly inspired by raylib. +`macroquad` is minimalistic game framework on top of miniquad, strongly inspired by raylib. This month `macroquad`'s rendering system got 2D custom cameras support. [Example source](https://github.com/not-fl3/macroquad/blob/master/examples/camera.rs). And `macroquad`'s UI system now support TTF fonts. [Online demo](https://not-fl3.github.io/miniquad-samples/ui.html), [source](https://github.com/not-fl3/macroquad/blob/master/examples/ui.rs) @@ -140,4 +140,4 @@ TODO: Add real links and un-comment once this post is published --> [/r/rust_gamedev]: https://reddit.com/r/rust_gamedev -[@rust_gamedev]: https://twitter.com/rust_gamedev \ No newline at end of file +[@rust_gamedev]: https://twitter.com/rust_gamedev From 83b0ab15bd65a36ca539c4e4e8237c88d57bf6f2 Mon Sep 17 00:00:00 2001 From: Andrey Lesnikov <ozkriff@gmail.com> Date: Sat, 2 May 2020 13:07:59 +0300 Subject: [PATCH 3/3] Newsletter 9: miniquad: fmt --- content/posts/newsletter-009/index.md | 36 +++++++++++++++++++-------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/content/posts/newsletter-009/index.md b/content/posts/newsletter-009/index.md index e5584ba8b..3fa7b388e 100644 --- a/content/posts/newsletter-009/index.md +++ b/content/posts/newsletter-009/index.md @@ -56,31 +56,47 @@ If needed, a section can be split into subsections with a "------" delimiter. ### [miniquad] - -`miniquad` project got a logo + -Miniquad is safe and cross-platform rendering library focused on portability and low-end platforms support. +^ _`miniquad` project got a logo_ -This month `miniquad` based games got recommended way to make sounds: [quad-snd]. -[Wasm demo]((https://not-fl3.github.io/miniquad-samples/mixer.html)), [source](https://github.com/not-fl3/quad-snd/blob/master/examples/mixer.rs) -With [quad-snd] [good-web-game] now can run ggez [sounds](https://github.com/not-fl3/good-web-game/blob/audio/examples/sounds.rs) example. [WEB](https://not-fl3.github.io/miniquad-samples/sounds.html) +[miniquad] is a safe and cross-platform rendering library +focused on portability and low-end platforms support. + +This month `miniquad`-based games got a recommended way to make sounds: +[quad-snd]. +Here's a [WASM demo][quad-snd-demo] ([source][quad-snd-demo-src]). + +[good-web-game] now uses [quad-snd] and can run ggez's ["sounds"][ggez-sounds] +example: [WASM demo][gwg-sounds-demo]. [good-web-game]: https://github.com/not-fl3/good-web-game [quad-snd]: https://github.com/not-fl3/quad-snd +[quad-snd-demo]: https://not-fl3.github.io/miniquad-samples/mixer.html +[quad-snd-demo-src]: https://github.com/not-fl3/quad-snd/blob/master/examples/mixer.rs [miniquad]: https://github.com/not-fl3/miniquad +[ggez-sounds]: https://github.com/not-fl3/good-web-game/blob/audio/examples/sounds.rs +[gwg-sounds-demo]: https://not-fl3.github.io/miniquad-samples/sounds.html ### [macroquad] -`macroquad` is minimalistic game framework on top of miniquad, strongly inspired by raylib. +`macroquad` is minimalistic game framework on top of miniquad, +strongly inspired by [raylib]. -This month `macroquad`'s rendering system got 2D custom cameras support. [Example source](https://github.com/not-fl3/macroquad/blob/master/examples/camera.rs). -And `macroquad`'s UI system now support TTF fonts. [Online demo](https://not-fl3.github.io/miniquad-samples/ui.html), [source](https://github.com/not-fl3/macroquad/blob/master/examples/ui.rs) +This month `macroquad`'s rendering system got 2D custom cameras support: +[example source][macroquad-example-camera]. +Also, `macroquad`'s UI system now support TTF fonts: +[online demo][macroquad-example-ui], [source][macroquad-example-ui-src]. [macroquad]: https://github.com/not-fl3/macroquad +[macroquad-example-camera]: https://github.com/not-fl3/macroquad/blob/master/examples/camera.rs +[macroquad-example-ui]: https://not-fl3.github.io/miniquad-samples/ui.html +[macroquad-example-ui-src]: https://github.com/not-fl3/macroquad/blob/master/examples/ui.rs +[raylib]: https://www.raylib.com ### [Tetra][tetra] -[Tetra][tetra] is a simple 2D game framework, inspired by XNA and Raylib. +[Tetra][tetra] is a simple 2D game framework, inspired by XNA and [Raylib][raylib]. After a quiet few months, versions [0.3.3][tetra-033], [0.3.4][tetra-034] and [0.3.5][tetra-035] were all released over the course of April.