机器人卫士

在讨论某些软件功能的正确操作时,我经常遇到这样的情况:从用户的角度来看,该功能看起来很奇怪且不合逻辑。与产品负责人的讨论如下所示:

–这里显然存在行为问题
–好吧,我们会发布它,当用户开始抱怨时,我们会修复它
– ???好吧…

这似乎是一个可行的方案,对吧?对于预算较小、期限紧迫、研究不足/缺乏 UI/UX 专家的团队来说,这是一个相当理想的算法。如果有什么事情用户会抱怨,没关系。
谷歌搜索发现,该方法的来源来自一篇文章《 “投诉驱动的开发”通过编码恐怖

有一次我卖食物,包括医生的香肠,售价 300 卢布。通过超市的终端,我带着这根香肠离开了商店,完全相信它已经付款了。终端提出不打印支票,我同意了,以免在这张支票上浪费宝贵的纸张。在为每个产品“打孔”货物的过程中,终端发出吱吱声,这表明一切正常。另外,终端会发出声音警报,并随着条形码扫描仪的背光闪烁。

第二天我又去超市买了菜,然后把菜放进了航站楼。在出口处,我遇到了一位南方长相、蓄着浓密胡须的男子,他手里拿着一部智能手机,他说:“ “镜头里是你吗?”,我看着他的手机,看到自己穿着大敌的旋律死亡金属T恤,上面有骷髅什么的,没有理由怀疑。
“是的,是我,怎么了?”男人眯着眼睛,说道,“昨天你没有打香肠。”哇

在对他是谁以及他如何得出这些结论进行简短调查后,他给我看了一段挂在商店天花板上的视频,在视频中我打了香肠,终端随着扫描仪的背光闪烁,我把香肠放进袋子里。

–视频展示了扫描仪的工作原理
–没有做任何事,付香肠钱!

对这种态度有点惊讶,我要求一本投诉书写下终端需要软件改进,因为它给出了正确操作的所有迹象,但实际上它只是有缺陷,没有在屏幕上发出信号。以任何方式。

与他和他的老板争吵了10分钟后,老板立即跑去维护他的员工和垃圾工作终端,他们决定打电话给管理员的女孩,让她带上一本投诉书并打医生的拳头。香肠。

那天我意识到用户抱怨硬件和软件产品是多么困难,最有可能的是“人们会抱怨”的口头禅。让我们来解决它”的效果非常糟糕。主要原因是那些捍卫损坏的机器人、损坏的软件解决方案的人,为了简单起见,我建议引入新术语“”。破碎机器人的防御者和破碎系统的防御者。

普通用户不能抱怨终端的故障,因为他们受到 ZasRoshniks 的干扰,ZasRoshniks 出于某种原因变得依恋并开始喜欢他们使用的机器,也许认为它们是某种有生命的实体,忘记了没有任何东西住在那里。

类似的情况也发生在 ZaSSoshniki 上,这些人可以为框架、编程语言或任何其他软件产品中的一些愚蠢缺陷辩护,尽管有用户和其他开发人员的抱怨。
与 ZaSSoshnik 的典型对话如下:

–这里有些东西不起作用,根据文档,一切似乎都是正确的
–哦,所以你没有读过 2005 年的手册,底部用小写字母写着你需要添加 PROGRAM_START:6969
– ???呃

这些人可能不明白他们自己如何助长了自己和他人的问题、错误、时间和金钱的浪费。因为它们,每个人都会受苦,因为如果隐瞒不明显的事情以及软件和硬件解决方案的问题,数字化转型是不可能的。
我知道最近有关英国邮局 Horizo​​n 软件中的一个错误的故事,该错误导致人们负债累累,破坏了婚姻,并毁掉了人们的生活数十年。这一切的持续都是由于人们的纵容,他们对软件中的问题保持沉默,从而“保护”了软件。他。

朋友们,不要成为 ZaSRoshniks 和 ZaSSoshniks,对待你使用的工具要持保留态度,否则你将面临着糟糕、破碎系统的完全奴役,就像未来新数字世界中的人质一样。对于那些不能“”的人来说至少不要打扰其他试图关注不工作、干扰的软件/硬件的人,因为这些产品的开发人员已经同意“ “当用户开始抱怨时,我们就会解决它。”

来源
https://blog.codinghorror.com/complaint-driven-development/< /a>
https://habr.com/ru/articles/554404/< br/>
https://en.wikipedia.org/wiki/British_Post_Office_scandal

构建 bgfx Emscripten 应用程序

在这篇文章中,我将描述一种使用 Emscripten 构建 bgfx 网络应用程序 (WebAssembly) 的方法。

安装平台为Linux x86-64,例如Arch Linux。

首先,我们安装Emscripten 3.1.51版本,否则你不会成功,这都是因为最新版本的Emscripten中动态库的类型发生了变化。您可以在这里阅读更多内容:
https://github.com/bkaradzic/bgfx/discussions/3266

这样做是这样的:


git clone https://github.com/emscripten-core/emsdk.git



cd emsdk



./emsdk install 3.1.51



./emsdk activate 3.1.51



source ./emsdk_env.sh



让我们为 WebAssembly 组装 bgfx –脚本:


mkdir bgfx-build-test



cd bgfx-build-test



git clone https://github.com/bkaradzic/bx.git



git clone https://github.com/bkaradzic/bimg.git



git clone https://github.com/bkaradzic/bgfx.git



cd bgfx



emmake make wasm-debug



因此,在 .build 文件夹中,您将拥有扩展名为 .bc 的位码文件,该文件需要与您的 bgfx 应用程序链接。
应该是bgfx.bc、bx.bc、bimg.bc;不同的程序集对这些文件有不同的名称,具体取决于程序集的类型(发布/调试)

添加带有 .bc 文件的 CMakeLists.txt 文件的链接,例如 bgfx-experiments 项目中文件的绝对路径:


target_link_libraries(${PROJECT_NAME} SDL2 GL /home/demensdeum_stream/Sources/bgfx-build/bgfx/.build/wasm/bin/bgfxDebug.bc /home/demensdeum_stream/Sources/bgfx-build/bgfx/.build/wasm/bin/bxDebug.bc /home/demensdeum_stream/Sources/bgfx-build/bgfx/.build/wasm/bin/bimgDebug.bc)



现在将平台数据中的本机窗口句柄更改为 bgfx 初始化:


bgfx::PlatformData platformData{};



platformData.context = NULL;



platformData.backBuffer = NULL;



platformData.backBufferDS = NULL;



platformData.nwh = (void*)"#canvas";



您还需要将渲染类型更改为 OpenGL:


bgfx::Init init;



init.type = bgfx::RendererType::OpenGL;







init.resolution.width = screenWidth;



init.resolution.height = screenHeight;



init.resolution.reset = BGFX_RESET_VSYNC;



init.platformData = platformData;







if (!bgfx::init(init))



{



    throw std::runtime_error("Failed to initialize bgfx");



}



将 GLSL 着色器重新编译为 120:


shaderc -f "VertexShader.vs" -o "VertexShader.glsl" --type "v" -p "120"



shaderc -f "FragmentShader.fs" -o "FragmentShader.glsl" --type "f" -p "120"



是的,但是 .glsl 文件必须作为“预加载文件:”添加到 CMakeLists.txt 中:


set(CMAKE_CXX_FLAGS ... <Остальная часть>



--preload-file VertexShader.glsl \



--preload-file FragmentShader.glsl \



仍然需要通过 emscripten_set_main_loop 使用 while 函数调用替换应用程序中的主渲染循环。

您可以在这里阅读:
https ://demensdeum.com/blog/ru/2017/03/29/porting-sdl-c-game-to-html5-emscripten/

接下来,像往常一样组装您的 Emscripten 项目,一切都应该正常。
有趣– Emscripten 3.1.51 版本似乎缺少 OpenAL(或者只是我)。

使用bgfx和Emscripten正确编译的项目源代码:
https://github.com/demensdeum/ bgfx-experiments/tree/main/2-emscripten-build

来源

https://github.com/bkaradzic/bgfx/discussions/3266
https://bkaradzic.github.io/bgfx/build.html
https://emscripten.org/docs/getting_started/downloads.html
https ://demensdeum.com/blog/ru/2017/03/29/porting-sdl-c-game-to-html5-emscripten/
https://llvm.org/docs/BitCodeFormat.html

公共领域的死亡面具

从今天开始,《死亡面具》游戏将进入开放获取模式——您可以通过以下链接关注游戏实施的进度:(哇!)
[死亡面具狂野]

当前版本– 0.1 包含基本的箭头控件、wsad、地图生成、项目(包括死亡面具!)、渲染。
还有很多工作要做,我对您的反馈非常感兴趣 –这样你就可以在狂野版游戏的页面上写评论了。
在最终版本中,游戏在玩家找到物品“”后结束。死亡面具
测试愉快:)

Авторы ресурсов

有可能吗?

问题:“我可以复制游戏Demon’s Cave 到您的网站、博客,或者到您可爱的小猫和 Coelho / Statham 的引言之间的页面?”
我个人禁止这样做。开玩笑,不是针对个人。只需复制并粘贴 HTML 代码即可:

<iframe width="640" height="384"
src= “https://mocha2005.mochahost.com/~demens/games/demonsCave/”></iframe>

链接到 jsfiddle 的示例:https://jsfiddle.net/ovL04dqL/3/< /p>

问题:“我想挂恶魔洞穴页面上有广告,可以吗?”
是的,你可以做任何事情。

问题:“我想出售游戏Demon’s Cave,这可能吗?”
您可以使用游戏引擎fsagamelibrary.js做任何您想做的事情,只需留下一个指向demensdeum的链接即可.com
但是您必须购买图形和音乐(付费的)或使用自己的图形和音乐。更详细的资源列表此处
如果您不留下主站点的链接,那么恶魔就会进入您的梦中。

问题:“我想为游戏Demon’s制作一个模组Cave,甚至在 Unity 上以 3D 形式制作,我可以稍后将链接发送给您吗?”
当然抛出vk

指示资源作者的页面,列出许可证demensdeum.com/games/demonsCave/info。 html

德门斯德姆宣言

Demens Deum MiniGames Logo

Demens Deum –作为一个独立开发团队,我们创造新的有趣的东西,无论是游戏、程序、音乐、漫画。现在世界上很少有团队愿意尝试想法、技术和实施。我们的宣言“ 向下采用通常的流派框架,向下采用灰色陈词滥调的热门歌曲–让我们用实验、原创宇宙、精彩故事来冲击普通人的心灵,激发那些干渴者的心!