Apple新聞

9款免費遊戲開發工具推薦,大家都應該來體驗看看

在信息技術迅猛發展的時代,操縱計算機,與電腦對話的能力已經成了事實上的技能標配,也已經深深地融入了我們每個人的生活當中。遊戲行業也不例外,近幾年,隨著全民編程的熱潮,許多遊戲廠商也紛紛把編程融入自己的遊戲當中,甚至推出了許多專門為編程愛好者/編程學習者製作的編程解密遊戲。

9款免費遊戲開發工具推薦,大家都應該來體驗看看

 

今天要推薦的九個遊戲,可謂風格各異,老少咸宜,不論你是對編程完全陌生的新手,還是硬核老鳥,一定能找到一款適合你的遊戲。

9. 鬥陣特攻(Overwatch)

什麼什麼?我讀書少,你不要騙我!今天不是說編程遊戲的嗎,這個多人競技射擊遊戲是怎麼混進來的?

嘿,別著急,鬥陣特攻從某種意義上說,也還(勉強)能算是個編程遊戲。

4月底,鬥陣特攻推出了“地圖工坊”功能。在地圖工坊中,你可以通過創建“規則”的方式,來設置、修改遊戲中幾乎一切和玩家角色有關的參數。腳本接收玩家角色輸入的各種操作,經過觸發器的判斷,運行對應的過程“腳本”,這些腳本則會對遊戲世界產生影響。

可別小看了它,這些“腳本”不但支持將值賦值給變量,也能讀取各種參數,還能設置事件觸發過程,支持字符串拼接和數組分割,連循環和分支語句也齊全。

自從功能開放以來,玩家們已經先後做出了《貪食蛇》、《Flappy Bird》的鬥陣特攻版本,而有些大佬玩家甚至還做出了機制和操作都極其神似《任天堂明星大亂鬥》的遊戲,實在是太硬核了!

雖然這“編程”還並不是圖靈完備,程序流程也偏簡陋,完全沒有寫代碼的地方,全靠鼠標點點點……但做出來之後真的好玩,而且還能方便地分享出去,拉上朋友們跟你一起玩!

“請為你的規則寫好說明,以防自己忘了規則的功能!” ——提醒大家代碼要加註釋的《鬥陣特攻》項目組

8. 太空化學(SpaceChem)

“SpaceChem真的是給我留下了心理陰影。” ——Ent,果殼網主筆

太空化學是著名“編程”類游戲開發商Zachtronics Industries的名作。在遊戲中,你需要在外星球上建造某種高科技化工廠,並佈置工業自動化流水線,以最大化生產效率。

這麼說吧,這個遊戲看起來是化學,其實是化工編程,並且門檻略高。

除了剛開始的教學關卡外,玩家需要在兩個不同的層面上設計組織化工生產線。

微觀方面,你將從兩個來源獲取原料(一般為單個元素的原子,或者某種化學物質分子),並在“反應器”中佈置自動控制裝置,設置它的線路以及操作流程,形成閉環,還要同步多條控制裝置的工作線路,協作完成這些化學物質分子的旋轉、運輸,化學鍵的連接、斷開等操作,以便構建出所需要的新物質。

宏觀方面,你需要建設化工流水線,使用管道、泵、儲罐連接多個不同的反應器,協調它們的工作效率和輸送速度,以便高效而安全地利用原料進行生產,完成目標。

原版遊戲中就包含有超過50 個費解的難題,而它的DLC《63 Corvi》裡還提供了7 個不同的謎題,以及一些全新的機制,放心,它們都足夠燒腦。

 

7. Lightbot

經歷了上面的超難遊戲,讓我們趕快放鬆一下,看看這款輕鬆愉快,適合小朋友入門學習編程思想的遊戲吧。

Lightbot 最初是一個Flash 小遊戲,後來被許多計算機老師發現,並推薦給學生玩,於是原作者乾脆做了一個“編程一小時”專版,免費給大家玩。

遊戲畫風十分明快,界面也簡單易懂,除了剛開始的教程和介紹外,基本不需要文字(編程一小時版支持中文)。玩家需要給憨態可掬的大頭機器人下達指令,讓它把關卡中地板上的燈全部點亮。

你需要在右邊的指令框內放入一些簡單的命令,比如前進,左/右轉彎,跳過台階,點燈/激活道具等等,還能調用F1、F2兩個指令框,以實現較為複雜的循環。

編程(寫代碼),其實不過就是人們給計算機下命令,讓它按照你的指令行事罷了。——Danny Yaroslavski,Lightbot的作者

剛接觸編程的大朋友和小朋友們,可以通過這個遊戲,建立起“語句”“執行”和“循環”的概念,學會如何將復雜的任務分解成多個不同的子任務,並安排它們自動完成。

目前編程一小時版本的遊戲沒有條件語句,而完整版的Lightbot 2.0 裡還有更多複雜的條件和跳轉功能,能讓你完成更加複雜的指令組合。

 

6. TIS-100

如果你對編程的歷史有一定了解,你大概聽說過彙編語言這種用在微處理器、微控制器,或其他可編程器件上的低級編程語言——在高級編程語言大行其道的今天,彙編語言已不再被廣泛用於程序設計。由於基本就是把機器碼變成一些晦澀難懂的字母而已,彙編語言可算是被全世界絕大多數程序員一致認為是無趣到爆炸的東西。

但是,如果突然有人告訴你,你的一個搞挨踢的遠房親戚去世的時候,遺留下一台神秘的舊機器給你,這機器裡包含著一個未知的秘密——或許還有龐大的寶藏— —需要你去發掘呢?

這台“機器”就是TIS-100,它附帶了一本14頁的說明書(謝天謝地,不算太長),你必須利用說明書上的知識,逐步修復機器裡的問題程序,最終解開遺產的謎團——而這一切都要求你用一種特製的……彙編語言來完成!

遊戲界面長這樣,裡面還自帶一個沙盒,讓你可以不斷挑戰程序的效率和代碼之美(並沒有):

怎麼樣,是不是讓你感覺到了一種奇特的懷舊體驗呢?(不!)

“單身玩家比率最高的遊戲” ——Xenox,奶牛關

5. 深圳IO(SHENZHEN I/O)

《深圳IO》和剛才我們提到的《TIS-100》《太空化學》等作一樣,都是Zachtronics 的燒腦作品。

相對來說,《深圳IO》的敘事深度更加豐富多彩,你將扮演一名跑到深圳華強北打工的外國程序員,專門為各種電子設備編寫嵌入式程序。在工作中,你不但能接觸到其他同事,甚至還能在電腦上開一個麻將版本的空當接龍來摸魚…

作為一個編程模擬遊戲,它的工作界面擬真度還是不錯。你需要自己完成元件佈置、輸入輸出的走線,最後給各個元件編寫內部代碼,使元器件實現目標功能。

你需要閱讀一本近50頁的“員工手冊”來了解主要的代碼文檔和元件特性等基礎知識,才能開始“工作”。但除此之外,你還能通過往來的工作郵件,了解更多隱藏在背後的信息。

對程序員來說,這款遊戲最大的問題其實和剛才說到的TIS-100 是一樣的……

“作為一個嵌入式工程師,我為什麼要花幾十塊錢,在家裡加班!?” ——YTFZ,Steam玩家、工程師

4. EXAPUNKS

什麼什麼!?又是Zachtronics的遊戲?

額,沒錯。作為遊戲行業的一朵奇葩(褒義),Z社為遊戲宅們貢獻了太多經典的硬核編程遊戲,實在是繞不開啊同學們。

另一方面,要是不提EXAPUNKS這部視角獨特、腦洞超大、劇情感人(?)的作品,讀者們肯定不會滿意的……吧?

言歸正傳,EXAPUNKS的故事背景設定在類似上個世紀90年代的世界,這裡就是互聯網黎明時代的賽博朋克世界。人們用著厚重的計算機,16色的屏幕,用磁帶和軟盤來傳輸數據,用電話線撥號上網,打開純文字的聊天界面……

此外,這個世界上存在著名為EXecution Agent,簡稱EXA 的蜘蛛型納米機器人,它像電腦病毒一樣,能在電腦主機間複製、傳播,你可以給它們編寫“簡單”(才怪)的腳本,黑掉街對面的披薩店,破解銀行的ATM機(讓它往街上噴錢),修改掌上游戲機的代碼,編寫遊戲程序並分享給其他玩家,甚至能用於修復自己的手臂神經……牛逼吧?

EXA機器人的代碼是一種基於過程,面向接口的腳本語言,它比上面TIS-100的彙編預約好一些,但也好不到哪裡去。特別是你要同時操作多個EXA機器人並行多線程工作,操作數據流接口、順序讀寫文件,甚至對付敵方的EXA。

是不是很帶勁?據說開發者為了做這個遊戲,還真的採訪了一些早期的黑客大佬呢。不過根據Z社的一貫風格,你在開始寫代碼之前,還是得乖乖地打開PDF讀它的操作手冊——這次有兩本,70頁。

“它考的是編程裡的關鍵概念:指針!” ——Jasy,Steam玩家、程序員

3. 任天堂Labo

沒想到吧?對,你沒有看錯,我說的就是任天堂公司為旗下(目前)最新的家庭遊戲機Nintendo Switch製作的紙板遊戲套件: Nintendo Labo。

Nintendo Labo裡包含了一系列各種不同的手工DIY紙模套件,除了紙模所需的各種零件外,還含有一個Switch遊戲機的配套軟件。組裝完成後的紙模可與Switch的Joy-Con手柄以及本體裝配在一起,組合成名為Toy-Con的玩具套件,再配合相應軟件進行體感互動遊戲。

除了預置的遊戲之外,Labo 裡還自帶了一個編程實驗室Toy-Con Garage,也就是下圖中的那個井蓋:

我們常見到面向對象,面向過程的編程方式,而Labo採用的是已經封裝好的事件觸發驅動的編程方式。簡單來說,就是設定好當你對Joy-Con 、 Toy-Con或是機器本體做了什麼事的時候,該觸發什麼效果。編程的方式也簡單明了,把代表事件的Input方塊,和代表觸發效果的Output方塊用線連起來就可以了。

可不要小看了它喲,Labo 提供了8 種類型,數十種不同的輸入方式(甚至包括紅外標記的視覺識別),6種邏輯運算和触發器,4種不同的反饋輸出,以及註釋方塊(我知道你們都不用它)。

你可以用它實現相當複雜的腳本,甚至做出自己的遊戲,比如模擬《1-2-Switch》裡的西部牛仔決鬥遊戲等等。有大佬甚至用Labo模擬了二胡,實在是太厲害了!

聽起來是不是非常有意思?沒錯,兼顧了趣味豐富、簡明直觀、功能全面,還有多種傳感器和Toy-Con加持的Nintendo Labo真是老少(碼農)咸宜,特別適合家長和孩子一起學編程!

 

“這都是藉口!你買了之後還不是都在玩塞爾達!” —— 一個憤怒的媽媽

2. 程序員升職記(Human Resource Machine)

隱藏在荒誕怪萌畫風之下的,是一個富有教育意義,而又趣味橫生的解密遊戲。

說實話,我個人並不太喜歡《程序員升職記》這個譯名,而更喜歡原來的直譯《人力資源機器》——在這個遊戲中,你扮演的角色本身並不是一個程序員,而只是在一個龐大機器中不斷旋轉的小小齒輪,是公司的“人力資源”,而且可能還是低值易耗品。

在遊戲過程中,你需要在“工作流”上拖放排列各種指令,讓你的角色按照指令完成各種機械化的重複操作,按照關卡提示要求,處理輸入的信息,輸出正確的數據。

和TIS-100差不多(但畫風上完全碾壓了有沒有),這些指令和現實世界中的彙編語言(怎麼又是你?)非常類似,你的角色將從一個inbox(輸入流)讀取數據,一些臨時數據還可以放在地板(寄存器)上,經過比較處理和循環之後,將結果放到outbox(輸出流)中。

如果你對之前提到的TIS-100 有陰影,那你可以放心地上手這個遊戲,因為它的總體難度曲線比較平緩,沒有編程經驗的玩家通過思考和查看提示也能完成主線任務。

當然,如果你是有一定經驗的技術控,這個遊戲也能滿足你將代碼優化到極致的野心。每個關卡都有“運行速度”和“程序體積”兩個指示燈,專門檢驗你的邏輯思考和編程能力。通過完成挑戰目標,分別(或者同時)把這些指示燈點亮,還是挺有成就感的。

 

“祝你玩得開心!HR的眼睛正緊盯著你!” ——Tomorrow Corporation,遊戲開發商

1. while True: learn()

那麼,現在讓我們揭曉榮登榜首的遊戲……噢,你們已經看到標題啦。

在介紹這款遊戲之前,也許有人會問,“你吹了這麼多Z社的遊戲,怎麼前三里一個都沒有?”我的解釋是,Z社的編程遊戲確實非常硬核,非常適合Geek們,但從非專業程序員的普通玩家來看,它們最大的毛病在於,沒什麼卵用。

是的,當你在《TIS-100》《shenzhen I/O》《EXAPUNKS》里費盡力氣學會了三種各不相同的編程語言之後,除了挑戰遊戲成績外,並不會有任何現實意義,甚至學習這些編程思路對你現實中的工作和學習也不會有太大的幫助。對於還未入門的編程新手來說,這些令人望而生畏的硬核遊戲,能起到的幫助是相當有限。“不如去學Python”是許多Z社玩家的吐槽。

回顧這次榜單的二三兩名,任天堂Labo主要面向未入們的大小朋友,寓教於樂;《程序員升職記》則能學到基礎的變量、循環、判斷跳轉等編程思想,也算是起到了很好的教育引導啦。

在這一方面,《while True: learn()》可以算是獨樹一幟:你可以在這裡學到和真實世界基本一致的機器學習原理,構建自己的機器學習模型,一步步從基礎的專家系統到強大的遞歸神經網絡,通過直觀易懂的可視化編程,建立一個AI貓語翻譯系統。

最棒的是,玩這款遊戲,你並不需要任何寫代碼的經驗!它的解謎難度曲線非常適合入門者,從一個簡單的“節點”開始,你只需要連連線,就能實現基本的決策樹等機器學習概念,並完成諸如識別圖形顏色和形狀等機器學習任務。

如果你在遊戲中遇到問題,也不用擔心,遊戲甚至提供了一系列的介紹視頻,來詳細講解遊戲機制,以及真實世界的機器學習歷史與概念,幫助你更快地理解所需的一切。

最後,也是最重要的理由:這有貓啊!

“請問能幫我Debug的貓在哪能買到?急,在線等” ——Steam社區評論

 

參考來源:

(本文已投稿給「優達學城」。作者:歐剃轉載請保留此信息)

▼ 如果覺得本篇教學不錯,歡迎加入瘋先生粉絲團追最新教學技巧 ▼