Skip to content

用滑鼠畫軌道,讓彈珠滾起來——我的彈珠雲霄飛車模擬器

重力是玩伴,是時候拿出塵封已久的童心了

作者:Ray 日期:2025 年 12 月


小時候,爸爸用鋁門窗的軌道幫我做了一個彈珠發射台。那個下午的記憶已經模糊,但彈珠沿著銀色軌道加速、飛躍、落地的聲音,卻一直留在腦海裡。

幾年前在辦公室,想做一個桌上舒壓小物重現這個遊戲,買了材料卻始終沒動工。工具不順手,時間被切得零碎,專案就這樣躺在抽屜裡。

最近手邊的工具越來越襯手了。某天晚上隨手一試,幾個小時後,這個「彈珠軌道模擬器」就跑起來了。

👉 點這裡玩玩看


玩法很簡單

用滑鼠畫一條軌道,按下「開始模擬」,看著彈珠從起點滾下去。

想畫一個 360 度翻滾?畫就對了。想讓它從高處俯衝再爬坡?隨你。軌道畫錯了可以撤銷,不滿意就重新來過。

沒有計分、沒有關卡、沒有輸贏。就只是看著那顆小球順著你畫的線滾動,有時成功通過翻滾圈,有時因為速度不夠而掉下來。

這就是全部了。


為什麼想做這個

說起來有點私心。

童年的彈珠台是實體的,有重量、有聲音、有那個年代特有的手作感。我沒辦法重現那個鋁軌道的觸感,但至少可以把「畫一條線讓球滾下去」這件單純的快樂,用程式碼留下來。

而且這類東西有種奇特的療癒感。不需要思考策略,不用擔心失敗,就只是看著物理定律在螢幕上運作。彈珠會不會成功過關,取決於你畫的軌道和一點點運氣,但無論結果如何,重畫一條就好。

辦公室舒壓小物做不成,至少螢幕上的版本可以隨時打開。


技術筆記

對有興趣的朋友簡單說明一下實作:

整個模擬器用純 JavaScript 搭配 HTML Canvas 完成。軌道是用滑鼠座標收集後做平滑處理,彈珠的物理則是簡化版的 2D 運動模擬——考慮重力、軌道切線方向、以及基本的能量損耗。

沒有用物理引擎,一來是想保持輕量,二來是這種「差不多但不完美」的物理反而有種玩具感,比起精確模擬更符合我想要的氛圍。


後記

有些東西做出來不是為了有用,而是為了好玩。

這個小專案從動念到上線大概花了一個晚上,沒有商業價值,沒有什麼技術突破,就只是把一個埋在心裡很久的小念頭,趁著手順的時候實現了。

如果你也有類似的小點子躺在某個角落,也許現在是個好時機把它拿出來。工具會越來越順手的,而那些看似不重要的小東西,有時候做完會特別開心。


試玩連結:https://phileiny.github.io/marble_run/

MIT Licensed