Space Cadet Pinball in Real Life
摘要
本文介绍了作者将Windows经典游戏《太空军校生弹球》中的弹球台实物化,使用3D打印、微控制器和自制弹球机构从零打造真实机械弹球机的项目,并详细描述了回弹缓冲器、落靶、弹弓等机构的设计与改进。
<p><a href="https://lobste.rs/s/gcjxps/space_cadet_pinball_real_life">Comments</a></p>
查看缓存全文
缓存时间: 2026/05/27 05:29
### TL;DR
作者将Windows经典游戏《太空军校生弹球》中的弹球台实物化,使用3D打印、微控制器和自制弹球机构,从零开始打造了一台真实的机械弹球机。
---
## 项目缘起与目标
对许多Windows用户来说,《太空军校生弹球》是接触弹球游戏的入门之作,甚至可能是人生的第一款电子游戏。自从Technology Connections频道的机械弹球机解析后,作者便对手工打造实物弹球台着迷。这个项目的目标是**将游戏中的弹球台变成一台真实的机械弹球机**,所有弹球机构均自主制作。
---
## 设计与尺寸规划
真实的弹球台尺寸因游戏而异,宽度约在500–680毫米之间,长度约1–1.3米。考虑到工作室空间有限,作者将长度定为1米,宽度则通过测量游戏中的台面来确定。
为了获得更高清的台面参考,作者使用了《Full Tilt Pinball》(《太空军校生弹球》的完整版,分辨率更高,且台面布局与Windows自带版本几乎一致)。将图片缩放到1米长并纠正透视后,测得宽度为**560毫米**,正好处于常见弹球台尺寸的中段。
由于原始游戏绘制为3D透视,台面顶部到底部的尺寸有变形。作者以顶部为基础测量部件位置,并在后续设计中手动调整,确保球能顺利到达任何需要的地方。
---
## 回弹缓冲器的制作
### 第一版:微动开关方案
最初的版本使用微动开关代替传统弹簧金属片+碳接触片。开关杠杆上附有一个杯状部件,缓冲器裙部下方的柱状物放入杯中,当球击中时推动开关触发。但该方案存在两个问题:
- 微动开关的“触发位置”与“释放位置”不一致,导致校准困难。
- 杠杆有侧向间隙,柱状物需要移动更远才能触发。
### 第二版:霍尔效应开关方案
改用霍尔效应开关(数字型,提供开/关信号)。在柱状物中嵌入1×2毫米的磁铁,只有磁铁正对开关时才会触发。逻辑与普通开关相反,但可在代码中处理。
**问题:** 传感器有时会因磁铁距离过近而重复触发。为此重新打印了更厚的霍尔开关安装座,并在其下方加入额外磁铁,通过两个磁铁对齐来有效增大感应范围。
### 测试与改进
使用PCBWay制作的MOSFET驱动板(驱动螺线管),板载指示灯便于校准。测试时用4度倾斜的小台面。发现霍尔开关安装座不够薄,导致杠杆卡在传感器上,最终通过额外磁铁解决。
但缓冲器击球力度不足,作者怀疑是塑料环的硬度和3D打印表面的摩擦问题。尝试使用Formlabs Form 4树脂打印机(灰色V5树脂)打印环,表面更光滑,但测试结果反而不如塑料版本。最终决定改用更大螺线管,并调整击球环的角度与高度,留待下一个视频解决。
---
## 落靶机构
商业落靶通常使用大螺线管+杠杆重置,但成本高。作者改用**大型爱好伺服电机(低于10美元)**驱动。
- 靶子:3D打印,侧放打印确保斜坡光滑。
- 结构:靶子插入主外壳,弹簧将靶子向下拉,每个靶子底部有微动开关检测下落。
- 重置:4毫米键钢轴连接所有靶子,轴上打印臂和垫片并用轴承支撑,伺服电机通过弯曲金属丝连接轴。
测试使用边角料打印的底板,结果满意。
---
## 弹弓机构
弹弓由杠杆臂两侧的两个开关组成,开关连接螺线管。作者用红色阻力带作为橡胶部分,3D打印支架将开关和螺线管一次安装到位。杠杆臂带有次级枢轴点以补偿弧形运动。开关调整至即将触发的位置,轻微碰撞即可响应。
测试效果:球击中中间时能飞到斜坡末端,是目前最喜欢的机构。
---
## 迷你回弹缓冲器挑战
游戏台面抬高部分有三个迷你回弹缓冲器,比之前的更小。此外,踢球器将球从侧面踢回时,球需从抬高部分下方经过,而这几乎与左侧迷你缓冲器排成一线。
解决方案:
- 迷你缓冲器的顶盖、环和主体与大版本相似,但台面下方使用小板连接环的两个螺纹杆,通过一根螺纹杆直接从主台面下方拉动环。
- 这样为回弹轨道留出空间,但台面下方无法容纳之前的传感器机构。作者用小型CNC制作基础PCB,焊接弹簧探针触点作为新检测方式。
目前仍在开发中,需要进一步解决球路引导问题。
---
## 赞助与工具
本项目的PCB(螺线管驱动板)由**PCBWay**制作。用户上传Gerber文件即可定制,使用代码`PCBWay-CNCDan10`可享30美元以上减10美元优惠。此外,测试中使用了OmTech Turbo 747激光器(切割亚克力扩散片)、Formlabs Form 4树脂打印机等工具。
---
## 总结与展望
项目已完成了大部分基础机构的设计与原型测试,但回弹缓冲器力度、迷你缓冲器检测等问题尚待解决。作者计划在下个视频中优化螺线管、调整角度,并继续推进整机组装。
---
**Source**
[Space Cadet Pinball in Real Life – YouTube](https://www.youtube.com/watch?v=BU_02HABZ4s)
相似文章
I'm building a Space Cadet Pinball Machine! [video]
作者正在实体化经典弹球游戏《太空学员弹球》,重点改进了挡板过热、弹出碰撞器动力不足等问题,制作了上层游戏区域和独特的球返回机构。
在 Linux 上运行 Space Cadet Pinball
本文介绍了 Linux 用户如何通过 Flatpak 安装并游玩 Space Cadet Pinball,并提供了使用 Full Tilt! 数据文件来增强画面的操作指南。
Making a game in Visual Studio from 1997
一名资深开发者使用1997年的Visual Studio 6和纯C语言在Windows 7上搭建了双摇杆射击游戏框架,展示了固定时间步长、对象管理和OpenGL兼容模式等复古开发实践。
I 3D Printed Origami [video]
文章介绍了如何通过3D打印和折纸工程的数学建模,设计并实现多种可折叠结构,从简单的山折/谷折铰链到复杂的厚板水弹镶嵌和双稳态克雷兹林弹簧,展示了折纸原理在厚板材料中的应用。
@servasyy_ai: 3D开发者多年来苦练的物理演算,仅凭一句话就能搞定。 从英语指令生成复杂的3D粒子效果,并能立即输出React或three.js代码的免费工具问世。 数学与物理引擎的壁垒消失,即时将创意转化为实体的时代到来。 体验
一款免费工具发布,能够根据英语指令生成复杂的3D粒子效果,并直接输出React或three.js代码,降低了3D物理演算的门槛。