發(fā)布時間:2023-11-27 01:06:27 瀏覽量:100次
譯者 | 陳峻
審校 | 孫淑娟
目前,在企業(yè)與客戶(B2C)領(lǐng)域,無論是Web應(yīng)用還是內(nèi)部軟件,通??梢员环譃椋喊l(fā)布、搜索、執(zhí)行和對話四種類型。本文著眼于第五種類別:個人娛樂類。我將和您逐步探索一個開源式的HTML5益智游戲的開發(fā)過程和平臺。
若干年前,著名的游戲制作人Stephen Lavelle為Increpare公司開發(fā)了Puzzlescript工具。它是專門針對推箱子式游戲,來制定游戲規(guī)則的腳本和平臺。當(dāng)然,此類推箱子式游戲,可能對您說過于原始,我們完全可以使用其Puzzlescript庫開發(fā)出屬于自己的各種有趣的變體小游戲。
讓我們首先從創(chuàng)作者的角度來審視Puzzlescript平臺:所有游戲都可以被分為不同的級別。玩家角色可以使用箭頭鍵,或“W”、“A”、“S”和“Z”鍵來移動和操作。任何級別的關(guān)卡都是由像素較差的塊對象所組成。這些對象的排列方式會逐漸變得復(fù)雜,并形成阻止您獲勝的障礙。在原版的推箱子游戲中,可被推動的物體包括:墻壁、板條箱、以及帶有圓點的地板。您只有完成一個關(guān)卡,才能進(jìn)入下一個關(guān)卡。
有了前面的基礎(chǔ),咱們來討論一下如何定義自己的游戲規(guī)則,設(shè)計關(guān)卡,繪制組件,以及使用Puzzlescript腳本來編寫游戲代碼。
首先,我們可以設(shè)定如下規(guī)則:如果玩家向某個板條箱移動,那么該板條箱本身也應(yīng)朝著相同的方向移動:
[> Player | Crate] -> [> Player | > Crate]1.
這代表了推箱子中的標(biāo)準(zhǔn)交互邏輯。程序代碼可以將其解讀為“將左側(cè)的模式(玩家移動到帶有固定板條箱的正方形處)替換為右側(cè)(玩家移動到正方形,板條箱移動到下一個正方形)”。在準(zhǔn)備解讀的過程中,您需要考慮游戲引擎如何去檢查那些即將發(fā)生的動作,進(jìn)而重新繪制游戲。如果您是一名Z時代的益智游戲玩家的話,可以參考“Baba is You”這款熱門游戲的基本邏輯。
下面讓我們詳細(xì)討論一個名為Manic Ammo的特殊Puzzlescript游戲的代碼。該游戲基于某人被困在彈藥掩體中的故事背景。當(dāng)您點擊底部的“hack”鏈接后,便可以看到屏幕被分成了三個窗口。
右上角的窗口允許您按照當(dāng)前編譯的方式運(yùn)行游戲。因此,如果您單擊它,并按下空格鍵,游戲會在此窗口中進(jìn)行。而我們更感興趣的是位于左側(cè)的源代碼窗口。您可以看到“對象”標(biāo)題,以及下方一長串格式化的數(shù)據(jù)。它表示的是游戲?qū)⒁?×5的方塊的視覺效果予以呈現(xiàn)。而且,其基本顏色由帶有數(shù)字代碼所定義。
例如,下圖中的“玩家”角色便是由黑色和粉紅色的頭部所組成,其腹部為黃色。
上述清單的其余部分按照不同的標(biāo)題被區(qū)別開來,其中的“規(guī)則”部分就包含了您較為熟悉的Puzzlescript代碼:
=====
RULES
=====
[Bang] -> [background]
[boom] -> restart
[> player][Droid] -> [> player][> Droid]
[> Player | Shell] -> [> Player | > Shell]
[> Droid | Shell] -> [> Droid | > Shell]1.2.3.4.5.6.7.8.
由上述代碼可知,玩家可以像我們前面的例子那樣,以推箱子的方式,去推動某個掩體。
通過這樣的快速訪問方式,其他游戲開發(fā)者能夠通過對現(xiàn)有代碼的增、刪、調(diào)整,來迅速構(gòu)建自己的游戲。例如,您可以通過在上述規(guī)則下,添加一行代碼,來修改游戲的規(guī)則,并觸發(fā)游戲并從頭開始構(gòu)建:
[> Player | target] -> [target | > Player]1.
可見,“Winconditions”是完成一個關(guān)卡所需要滿足的單一規(guī)則。值得一提的是,黑客也可以運(yùn)用上述方式,去破壞現(xiàn)有的游戲邏輯與運(yùn)行。
==============
WINCONDITIONS
==============
All Player on Target1.2.3.4.
當(dāng)然,這也是一種參與應(yīng)用程序修改的直接方式。游戲開發(fā)者完全可以將應(yīng)用代碼上傳到GitHub處,然后要求其他開發(fā)者將其克隆到本地運(yùn)行,以避免Web狀態(tài)對于游戲體驗帶來的實際影響。從理論上說,這是一種“低摩擦”的參與方法(例如:通過添加代碼行,來查看同一個頁面上發(fā)生的變化)將有助于將參與者逐步通過實際代碼的調(diào)試,來提高游戲編程的水平,并最終成為全棧式游戲創(chuàng)造者。
使用Puzzlescript編寫小游戲無疑是對開發(fā)和設(shè)計技能的一項很好的測試。當(dāng)您在公司的實際項目中開發(fā)和支持某些應(yīng)用或工具時,您可能會注意到這樣一種實踐邏輯:某個工具或應(yīng)用只有擁有了專業(yè)的社區(qū)和廣泛的用戶,才能得到蓬勃的發(fā)展與迭代。Puzzlescript同樣適用這個道理。經(jīng)歷了十來年的發(fā)展,Puzzlescript已經(jīng)擁有了成熟的論壇,以及一大批忠實的擁護(hù)者,其中不乏內(nèi)容創(chuàng)作者、設(shè)計師、黑客、玩家、維護(hù)者、以及策展人。就連Stephen本人也在持續(xù)對該平臺進(jìn)行補(bǔ)充與開發(fā)。
下面,我來看看如何在該平臺上搜索和運(yùn)行游戲。在展覽庫頁面上,您可以通過游戲的名稱或作者姓名來進(jìn)行搜索。如果您比較熟悉該平臺的話,也可以使用其他一些標(biāo)簽元數(shù)據(jù)。由于每個游戲都可以被表示為一個鏈接,因此其他網(wǎng)站可以根據(jù)自己的展示意愿,通過使用URL,進(jìn)行有效的游戲策劃。例如Philschatz網(wǎng)站便是按照游戲的大小和挑戰(zhàn)難度來進(jìn)行分類的。實際上,平臺的所有當(dāng)前游戲列表都會被保存在一個json文件中,便于您導(dǎo)出自己的索引,或是托管到itch.io之類的平臺上。
通過上文討論,我們了解了什么是Puzzlescript,推箱子類游戲的基本原理,以及如何定義相關(guān)規(guī)則。同時,我們也討論了用戶該如何創(chuàng)建自己的游戲,如何修改他人的作品,以及如何通過論壇與其他開發(fā)者、乃至某個游戲的作者直接進(jìn)行溝通與交流。鑒于該平臺本身構(gòu)建在開源的Github上,您何不自行設(shè)計一款小型游戲,來練習(xí)一下自己的全棧平臺開發(fā)能力呢?
原文鏈接:
https://thenewstack.io/puzzlescript-a-devs-guide-to-an-html5-puzzle-game-engine/
陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項目實施經(jīng)驗,善于對內(nèi)外部資源與風(fēng)險實施控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗。
熱門資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設(shè)計領(lǐng)域和數(shù)字藝術(shù)教育的重要性,歡迎點擊咨詢報名。
2. 手機(jī)游戲如何開發(fā)(如何制作傳奇手游,都需要準(zhǔn)備些什么?)
?如何制作傳奇手游,都需要準(zhǔn)備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說明時代在進(jìn)步游戲在更新,更趨于方便化移動化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費、一鍵制作炫酷特效,適合新手小白??靵碓囋嚕?/span>
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個抉定都將觸發(fā)更多愛恨糾葛的精彩奇遇。《天命奇御》具有多線劇情多結(jié)局,不限主線發(fā)展,高自由...
5. Bigtime加密游戲經(jīng)濟(jì)體系揭秘,不同玩家角色的經(jīng)濟(jì)活動
Bigtime加密游戲經(jīng)濟(jì)模型分析,探討游戲經(jīng)濟(jì)特點,幫助玩家更全面了解這款GameFi產(chǎn)品。
6. 3D動畫軟件你知道幾個?3ds Max、Blender、Maya、Houdini大比拼
當(dāng)提到3D動畫軟件或動畫工具時,指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動畫的軟件程序。但是,在3D動畫軟件中還包含了其他類型的...
7. 3D動漫建模全過程,不是一般人能學(xué)的會的,會的多不是人?
步驟01:面部,頸部,身體在一起這次我不準(zhǔn)備設(shè)計圖片,我從雕刻進(jìn)入。這一次,它將是一種純粹關(guān)注建模而非整體繪畫的形式。像往常一樣,我從Sphere創(chuàng)建它...
8. 如何自己開發(fā)一款游戲(游戲開發(fā)入門必看:五大獨立游戲開發(fā)技巧)
?游戲開發(fā)入門必看:五大獨立游戲開發(fā)技巧無論您是剛剛起步開發(fā)自己的第一款游戲,還是已經(jīng)制作了幾款游戲,本篇文章中的5大獨立游戲開發(fā)技巧都可以幫助您更好地設(shè)計下一款游戲。無論你對游戲有著什么樣的概念,都
?三昧動漫對于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應(yīng)并不會推出《巫師4》。因為《巫師》系列在策劃的時候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
10. 3D打印技巧揭秘!Cura設(shè)置讓你的模型更堅固
想讓你的3D打印模型更堅固?不妨嘗試一下Cura參數(shù)設(shè)置和設(shè)計技巧,讓你輕松掌握!
最新文章
同學(xué)您好!