MockMechanics 沙盒建造游戏开源项目

我要开发同款
匿名用户2022年09月18日
51阅读
开发技术Clojure
所属分类休闲游戏、游戏/娱乐
授权协议MIT

作品详情

MockMechanics是一个沙盒建造游戏,同时也是一项机械/可视化编程语言。MockMechanics仅使用简单的块和图形,以及直观的编程形式来创建复杂的交互式机制,这跟《我的世界》有点类似。

MockMechanics具备真实的物理引擎,可以使用MockMechanics制作一些非常有趣的东西,包括可演奏的乐器、机械的原型、算法的视觉表示、游戏和许多其他东西。比如下图是一个在MockMechanics创建的俄罗斯方块游戏。

MockMechanics使用clojure编写,因此除了直接拖动块的可视化编程,也可以选择使用clojure作为脚本语言,来控制作品的行为。比如可以构建一个机器人手臂(很容易,有点像搭乐高),然后使用clojure让它拾取物体。

构建说明:

树形结构:所有机器都是零件的3d树形结构,因此每个零件都有一个父级。可以先将一个零件添加到地面,然后将零件添加到该零件,依此类推以创建您想要的结构。当你移动一个部件时,它的所有孩子都会随之移动。模式:该程序有不同的模式(在右侧按钮栏上选择),每个视图有相同的3d环境,但允许您以不同的方式与之交互,例如添加模式允许添加对象,编辑模式允许缩放和移动。值:每个部分都有一个与之关联的值,该值的含义取决于是哪个部分。轨迹值表示它从0到1的旋转,1为360度。wagon值是距其所在轨道路径上的起点的距离,按钮(和块)值在按下时为1,否则为0。灯值在打开时为1,在关闭时为0。您可以通过将其值设置为1来运行芯片,或者播放扬声器的声音。探针在接触另一个探针时的值为1,否则为0。行为:要使事物移动(或按下按钮、灯等),请将其添加到图形芯片部件并运行图形。该图在x轴上具有时间(以秒为单位),即水平轴和y轴上的值。例如,一个轨道从(0,0)到(1,1)的图形函数在运行时会在1秒内将该轨道旋转360度。决策:要将一个部件的行为与另一个部件的行为联系起来(比如按下按钮时运行图表),需要使用主板部件来连接这些部件的值。可以使用逻辑门使输出成为输入的任何函数。当调用主板时(当其中一个触发输入发生变化时),它会计算并将其输出的值设置为零或一。例如,假设您将按钮引脚直接连接到灯并将按钮设置为触发器(默认情况下)。当您按下按钮时,灯会亮起,当您松开时,灯会熄灭。按钮按下和释放运行主板(因为按钮是触发器)并且由于灯连接到按钮,它的值变为与按钮相同,1(按下按钮,灯亮)或0(按钮释放,灯)离开)。或者您可以使用探针来检查世界上的情况,例如,当按下按钮并且该块靠近该块时,则运行该芯片。设置:可以通过修改根目录中的settings.clj文件来设置一些首选项。
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论