用Rust重写我的移动游戏,并支持WASM
机翻请谅解:
上周我在这里分享了一篇文章,描述了一个重写我的手机游戏的项目,一堆人对源代码表示很感兴趣。所以我回来了,带着我承诺的代码回来了 你可以在 https://github.com/lucamoller/pandadoodle-rust-wasm 找到它。一些免责声明。这些代码是为了好玩而写的,最初只是给我看的。为了与大家分享,我试着把代码清理/整理了一下(相信我,它仍然混乱得多),但仍有很多事情可以做。另外,这些代码并不是为了 "锈化"。恰恰相反,我是想看看用Rust编写非Rust风格的代码能走多远(我在文章中谈到了这一点),所以你可能会发现一些奇怪的东西。如果有些东西伤害了你的眼睛,请原谅我 :) 不过,我还是很愿意听取反馈意见的!如果你发现了反常规的问题,请告诉我。如果你发现了一个反常规或你认为可以用更简单或更优雅的方式来完成的东西,我很乐意听到。我最终使用了大量的Rc+内部可变性,因为这使得代码更容易翻译/管理/归纳。与浏览器的渲染瓶颈相比,这些模式对性能的影响似乎可以忽略不计(仅仅是使用WASM而不是Javascript,我就得到了很多执行游戏逻辑的空间),所以我在添加一些Rc的地方之前没有多想,这将使我的生活更轻松 :P 谈到性能,我做了一些工作来改善安卓版Firefox上的东西(当我第一次发布时,游戏在那里运行得很慢),这似乎有很大的影响:在我的手机上,帧数从
20到40。感觉更容易忍受了,但仍然比Chrome慢。我怀疑火狐浏览器正在以根本不同的方式进行画布渲染,而我无法对其进行优化(有些人认为这可能与另一篇帖子中的画布指纹保护有关,但我还没有找到激活/停用这些保护的标志来确认它)。最后,请随时提出关于代码的任何问题。我很乐意尝试回答!
Read More: https://www.reddit.com/r/rust/comments/p2szr4/show_rrust_source_code_rewriting_my_mobile_game/
flaky_test
可以使用这个库这个项目目前仍然很简陋,但是很有用。就是让提高对可能会出现意外结果的测试的容忍度,只要在多次运行(目前默认是3,有个PR支持了自定义次数)中一次是正确的就认为测试通过。
Github: https://github.com/denoland/flaky_test
视屏在Reddit上有条件的朋友可以看看。
Read More: https://www.reddit.com/r/rust/comments/p2x38x/media_rg3d_game_engine_v022_feature_highlights/
本文是前天日报提到的博客:如果你想实现一个GUI框架系列的第二篇,作者在第一篇的基础上,又对GUI框架的基础设施应该要满足那些需求做了补充
Read More: http://www.cmyr.net/blog/rust-gui-infra.html
这周的周报昨天的日报已经发过了,恰好这周官方日报组没收到引语提名,周报小组成员写了首押韵的英文小诗,大概就是抱怨没有人给周报小组进行语录提名这件事。
We regrettably lack nominations,
so as I can't choose fresh quotations,
at last nor this time,
I'll offer this rhyme
to quell all discombombulations.
– a very sorry llogiq
(请提名你喜欢的语录,并为下周语录投票!)[https://users.rust-lang.org/t/twir-quote-of-the-week/328]
From 日报小组 Cupnfish PsiACE
社区学习交流平台订阅: