
我一直記得,小時候玩著遊戲,心中總有個聲音:「如果有一天我學會寫程式,我也要做出自己的遊戲。」
這個夢想,像一顆種子,沉睡了很多年。直到我開始學習 Python,它才終於迎來了發芽的契機。這是我人生中第一個程式作品,沒有任何過往的經驗,一切都是在黑暗中摸索,一邊學習、一邊debug,硬是把它給做出來的。
起初,我想做個射擊遊戲,但覺得市面上的飛機、坦克題材爛大街了無新意。我想要更貼近生活,不如就做「消滅害蟲」吧!我的第一個版本,其實是「滅蟑」,但很快我就放棄了——光是想像滿屏幕的蟑螂,就足以讓我頭皮發麻。
直到一個塵封的記憶被喚醒。我想起在房間還沒裝紗門前,無數個被蚊子在耳邊嗡嗡作響、打擾睡眠的半夜。我會猛地開燈,卻怎麼也找不到牠的蹤影,那種越想越氣的心情,甚至讓我開著燈睡覺,隨時準備等牠現身。
就是它了!那股憤怒,成了我最原始的創作燃料。最終,我決定打造一個簡單的、能發洩怒氣的「滅蚊大進擊」小遊戲。

從方塊到戰場:我的開發之旅
對一個菜鳥來說,一切都是從零開始。
最開始,我的遊戲世界裡根本沒有精美的圖案,只有最樸素的色塊:一個綠色方塊是我的噴霧罐,黃色方塊是噴出去的霧,而紅色的方塊,就是那萬惡的蚊子。就算畫面如此簡陋,但當我第一次成功讓綠色方塊可以透過鍵盤方向鍵、順利移動時,那份成就感真是美好。
英雄登場了,再來就是敵人。我設計讓蚊子從螢幕頂端隨機生成並往下移動。為了讓牠們更「活靈活現」,我找到了兩張蚊子的圖片,透過程式讓它們快速交替顯示,看起來就像翅膀在擺動一樣。對當時的我來說,這個簡單的動畫效果,已經是魔法了。
而遊戲的靈魂——射擊,則帶來了最大的挑戰與突破。我遇到的第一個大難題,就是「碰撞檢測」。另一個卡關很久的問題是,蚊子飛出畫面外之後,並不會「消失」,導致系統以為場上還有蚊子,就不再生成新的,畫面變得一片空蕩,只剩一個噴霧罐在畫面中移動。
在無數次嘗試後,我終於學會了如何判斷物件的座標、偵測碰撞,並在物體飛出視窗後清除它們。當我第一次成功用「噴霧」打中一隻蚊子,看著它消失,並聽見那淒厲的「啊~」一聲音效時,我知道,我成功了。那份喜悅,至今難忘。
我最得意的巧思:一個有人性的評價系統
我希望這個遊戲不只是冰冷的程式,它應該要帶點幽默感。所以我不想用「S級」、「A級」這種傳統的評價。我希望評語能更貼近生活,更有人性化。
我記得曾經有位朋友,打蚊子打到氣急敗壞,整晚不肯放下手中的電蚊拍。我當時看著他,真心覺得他大概是打從心底討厭死蚊子了。這個畫面給了我靈感,於是就有了這些評語:「感謝你對睡眠的貢獻」、「你簡直是滅蚊專家!!!」以及最高分的:「你真的很討厭蚊子...」
寫給那個曾經奮鬥的自己
回顧整個製作的過程,從一個連方塊都畫不出來的新手,到完成一個功能完整的遊戲,這段旅程充滿了挑戰。如果現在能對「當時正在埋頭苦幹的自己」說一句話,我會想說:「累了就先休息,但不要放棄。」
最後,我想對所有同樣懷抱著某種夢想,但可能還在猶豫、覺得自己做不到的朋友們說:
「如果有夢想就去嘗試吧。就算嘗試後、失敗了,那過程也會是很棒的體驗。人生很多東西其實都不屬於自己,金錢會花掉、歲月會流逝、人們會離去,但你親身體驗過的事,只會不斷累積。很多事情當下很苦,但繼續上路後,回首當初的苦,總會在當中找到讓你會心一笑的時刻。」
希望我的故事能給你一點點勇氣。
對這個滅蚊遊戲感興趣嗎?歡迎到我的 GitHub 專案頁面 下載試玩,也別忘了給我一點鼓勵喔!