成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Puzzlescript,一種開發H5益智游戲的引擎

譯文 精選
開發 架構
本文將討論什么是Puzzlescript,推箱子類游戲的基本原理,以及如何定義相關規則。同時,我們也會討論開發者該如何創建游戲,如何修改他人的作品,以及如何通過論壇與他人溝通與交流。

譯者 | 陳峻

審校 | 孫淑娟

目前,在企業與客戶(B2C)領域,無論是Web應用還是內部軟件,通常可以被分為:發布、搜索、執行和對話四種類型。本文著眼于第五種類別:個人娛樂類。我將和您逐步探索一個開源式的HTML5益智游戲的開發過程和平臺。

圖片

若干年前,著名的游戲制作人Stephen Lavelle為Increpare公司開發了Puzzlescript工具。它是專門針對推箱子式游戲,來制定游戲規則的腳本和平臺。當然,此類推箱子式游戲,可能對您說過于原始,我們完全可以使用其Puzzlescript庫開發出屬于自己的各種有趣的變體小游戲。

1.定義游戲的規則、級別和塊

讓我們首先從創作者的角度來審視Puzzlescript平臺:所有游戲都可以被分為不同的級別。玩家角色可以使用箭頭鍵,或“W”、“A”、“S”和“Z”鍵來移動和操作。任何級別的關卡都是由像素較差的塊對象所組成。這些對象的排列方式會逐漸變得復雜,并形成阻止您獲勝的障礙。在原版的推箱子游戲中,可被推動的物體包括:墻壁、板條箱、以及帶有圓點的地板。您只有完成一個關卡,才能進入下一個關卡。

有了前面的基礎,咱們來討論一下如何定義自己的游戲規則,設計關卡,繪制組件,以及使用Puzzlescript腳本來編寫游戲代碼。

首先,我們可以設定如下規則:如果玩家向某個板條箱移動,那么該板條箱本身也應朝著相同的方向移動:

[> Player | Crate] -> [> Player | > Crate]

這代表了推箱子中的標準交互邏輯。程序代碼可以將其解讀為“將左側的模式(玩家移動到帶有固定板條箱的正方形處)替換為右側(玩家移動到正方形,板條箱移動到下一個正方形)”。在準備解讀的過程中,您需要考慮游戲引擎如何去檢查那些即將發生的動作,進而重新繪制游戲。如果您是一名Z時代的益智游戲玩家的話,可以參考“Baba is You”這款熱門游戲的基本邏輯。

下面讓我們詳細討論一個名為Manic Ammo的特殊Puzzlescript游戲的代碼。該游戲基于某人被困在彈藥掩體中的故事背景。當您點擊底部的“hack”鏈接后,便可以看到屏幕被分成了三個窗口。

圖片

右上角的窗口允許您按照當前編譯的方式運行游戲。因此,如果您單擊它,并按下空格鍵,游戲會在此窗口中進行。而我們更感興趣的是位于左側的源代碼窗口。您可以看到“對象”標題,以及下方一長串格式化的數據。它表示的是游戲將以5×5的方塊的視覺效果予以呈現。而且,其基本顏色由帶有數字代碼所定義。

例如,下圖中的“玩家”角色便是由黑色和粉紅色的頭部所組成,其腹部為黃色。

圖片

上述清單的其余部分按照不同的標題被區別開來,其中的“規則”部分就包含了您較為熟悉的Puzzlescript代碼:

=====
RULES
=====
[Bang] -> [background]
[boom] -> restart
[> player][Droid] -> [> player][> Droid]
[> Player | Shell] -> [> Player | > Shell]
[> Droid | Shell] -> [> Droid | > Shell]

由上述代碼可知,玩家可以像我們前面的例子那樣,以推箱子的方式,去推動某個掩體。

通過這樣的快速訪問方式,其他游戲開發者能夠通過對現有代碼的增、刪、調整,來迅速構建自己的游戲。例如,您可以通過在上述規則下,添加一行代碼,來修改游戲的規則,并觸發游戲并從頭開始構建:

[> Player | target] -> [target | > Player]

可見,“Winconditions”是完成一個關卡所需要滿足的單一規則。值得一提的是,黑客也可以運用上述方式,去破壞現有的游戲邏輯與運行。

==============
WINCONDITIONS
==============
All Player on Target

當然,這也是一種參與應用程序修改的直接方式。游戲開發者完全可以將應用代碼上傳到GitHub處,然后要求其他開發者將其克隆到本地運行,以避免Web狀態對于游戲體驗帶來的實際影響。從理論上說,這是一種“低摩擦”的參與方法(例如:通過添加代碼行,來查看同一個頁面上發生的變化)將有助于將參與者逐步通過實際代碼的調試,來提高游戲編程的水平,并最終成為全棧式游戲創造者。

圖片

2.Puzzlescript平臺

使用Puzzlescript編寫小游戲無疑是對開發和設計技能的一項很好的測試。當您在公司的實際項目中開發和支持某些應用或工具時,您可能會注意到這樣一種實踐邏輯:某個工具或應用只有擁有了專業的社區和廣泛的用戶,才能得到蓬勃的發展與迭代。Puzzlescript同樣適用這個道理。經歷了十來年的發展,Puzzlescript已經擁有了成熟的論壇,以及一大批忠實的擁護者,其中不乏內容創作者、設計師、黑客、玩家、維護者、以及策展人。就連Stephen本人也在持續對該平臺進行補充與開發。

下面,我來看看如何在該平臺上搜索和運行游戲。在展覽庫頁面上,您可以通過游戲的名稱或作者姓名來進行搜索。如果您比較熟悉該平臺的話,也可以使用其他一些標簽元數據。由于每個游戲都可以被表示為一個鏈接,因此其他網站可以根據自己的展示意愿,通過使用URL,進行有效的游戲策劃。例如Philschatz網站便是按照游戲的大小和挑戰難度來進行分類的。實際上,平臺的所有當前游戲列表都會被保存在一個json文件中,便于您導出自己的索引,或是托管到itch.io之類的平臺上。

3.小結

通過上文討論,我們了解了什么是Puzzlescript,推箱子類游戲的基本原理,以及如何定義相關規則。同時,我們也討論了用戶該如何創建自己的游戲,如何修改他人的作品,以及如何通過論壇與其他開發者、乃至某個游戲的作者直接進行溝通與交流。鑒于該平臺本身構建在開源的Github上,您何不自行設計一款小型游戲,來練習一下自己的全棧平臺開發能力呢?

原文鏈接:https://thenewstack.io/puzzlescript-a-devs-guide-to-an-html5-puzzle-game-engine/

譯者介紹:

陳峻 (Julian Chen),51CTO社區編輯,具有十多年的IT項目實施經驗,善于對內外部資源與風險實施控,專注傳播網絡與信息安全知識與經驗。

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2022-03-29 07:40:23

H5游戲開發掃雷游戲

2022-03-28 07:52:31

H5小游戲開發教程頁面基礎布局

2022-03-24 08:33:58

小游戲項目cmdvue3

2015-08-14 10:42:05

2011-07-18 11:39:58

iPhone 游戲 引擎

2013-05-15 13:14:30

游戲開發

2017-01-10 20:42:26

白鷺引擎

2015-09-25 17:54:59

H5游戲

2015-07-22 20:20:28

晟游

2015-07-08 16:38:10

Cocos游戲引擎

2012-03-06 10:56:32

HTML 5

2021-08-15 22:52:30

前端H5拼圖

2023-11-29 08:10:36

javascriptH5游戲

2015-11-10 11:38:06

2020-12-03 18:07:07

H5主題用戶

2022-02-25 14:42:09

OpenHarmon環境搭建鴻蒙

2015-12-03 15:27:46

2016-10-25 17:52:56

H5APP教材

2015-12-03 10:47:49

2015-07-10 10:27:21

Cocos游戲開發引擎
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线播放中文字幕 | 国产成人艳妇aa视频在线 | 91动漫在线观看 | 国产色 | 精品欧美黑人一区二区三区 | 毛片毛片毛片毛片毛片 | 久久久久国产一区二区三区 | 毛片区| 国产成人精品网站 | 欧美a∨ | 黄色一级毛片 | 国产一区二区中文字幕 | 欧美女优在线观看 | 成人在线免费 | 日韩毛片 | 亚洲国产网站 | 日本不卡在线视频 | 国产精品久久久久久久久久 | 精品成人在线 | 天天躁人人躁人人躁狂躁 | 日韩一二三区视频 | 国产一区91精品张津瑜 | 西西裸体做爰视频 | 成人水多啪啪片 | 日本电影韩国电影免费观看 | 台湾a级理论片在线观看 | 成人影视网址 | 国产精品一区二 | 欧美中文字幕一区二区三区亚洲 | 欧美极品视频 | 天天色影视综合 | 亚洲国产中文字幕 | 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 一级黄色日本片 | 在线免费观看a级片 | 国产精品99久久久久久www | 国产欧美日韩综合精品一区二区 | 国产精品视频网站 | 免费看国产片在线观看 | 国产成人精品综合 | 日韩午夜电影在线观看 |