獨(dú)立游戲開(kāi)發(fā)者要回編程嗎,請(qǐng)問(wèn)有什么好玩有趣的恐怖游戲推薦下?
《零:紅蝶》
《零·紅蝶》是由特庫(kù)摩開(kāi)發(fā)的一款心理恐怖電子游戲,于2003年11月27日發(fā)行。本作是電子游戲《零》系列的第二部作品,被廣泛認(rèn)為是史上最恐怖的電子游戲之一。
《紅蝶》獲得媒體的積極評(píng)價(jià)。日本雜志《Fami通》PlayStation 2版戲打出33/40分。在西方,PlayStation 2版在GameRanking和Metacritic的匯總得分為82%和81/100,Xbox版的匯總得分為85%和84/100。
游戲獲得GameTrailers 2006年“十大恐怖游戲”的第二名,以及X-Play“史上十大恐怖游戲”的第三名。游戲登上《Game Informer》類似榜單的首位。Ars Technica在他們的Masterpiece系列中為游戲撰寫了一篇文章,稱游戲是史上最佳恐怖游戲。
《鐘樓》
說(shuō)到真正恐怖的經(jīng)典游戲,我們估計(jì)不能不提到《鐘樓》這款作品,在許多歐美玩家眼中,《鐘樓》在“恐怖界”有著超乎尋常的地位。
需要注意的是,游戲中分布著許多變態(tài)侏儒,對(duì)玩家來(lái)說(shuō)他們極其難以甩掉,事實(shí)上這也是為什么絕大多數(shù)恐怖游戲基本上都伴隨著“生存”這個(gè)繞不開(kāi)的主題。
我們都說(shuō)恐怖游戲是嚇人的,是刺激的,有時(shí)候甚至是沒(méi)有節(jié)操的,然而這一切的體驗(yàn)之所以能成功,全都是建立在你還有命去拼的基礎(chǔ)上,否則在本作中你將被侏儒們毫不猶豫的斬成兩截,這可不是什么好事。
除了要警惕變態(tài)侏儒,玩家們還需要解決各種迷題。就像80年代的恐怖電影一樣,恐怖的音樂(lè)時(shí)抑時(shí)揚(yáng)。原本開(kāi)著的電燈閃爍幾下后熄滅;懸在屋頂?shù)臒麸椡蝗缓翢o(wú)征兆地砸下來(lái)。
綜上所述,當(dāng)你在害怕丟掉性命的同時(shí)還要繃緊神經(jīng),用智慧和勇氣去解謎時(shí),游戲的恐怖自然也就體現(xiàn)出來(lái)了。
《Home Sweet Home(甜蜜的家)》
一款由泰國(guó)獨(dú)立工作室YGGDRAZIL開(kāi)發(fā)的第一人稱恐怖游戲《甜蜜之家Home Sweet Home》在2017年9月上架了Steam平臺(tái),這款結(jié)合了泰國(guó)鬼神文化的恐怖游戲一經(jīng)上線就獲得了不錯(cuò)的評(píng)價(jià),在黑暗壓抑的走廊、破舊凌亂的房間潛行、躲藏并尋找出路。
游戲以恐怖的追逐戰(zhàn)和收集信息為主,雖然有解密元素但都很簡(jiǎn)單。雖然對(duì)轉(zhuǎn)角遇到鬼的套路已經(jīng)非常熟悉了,但不少玩家還是會(huì)被嚇到。
捉迷藏,擺貢品,紅線,呢喃聲,都在觸碰脆弱的神經(jīng),但玩了一通下來(lái),會(huì)覺(jué)得意猶未盡。第二章或許會(huì)講述男主妻子簡(jiǎn)的故事。
如果你喜歡恐怖游戲,但又厭倦了日式、歐美式恐怖游戲文化,那么非常推薦你玩一玩這款《甜蜜之家》。這款游戲如今在Steam平臺(tái)上折扣出售,只需要33元。
如何成為一名黑客?
「關(guān)于妙技」良好的黑客,因?yàn)楹攵谑赖娜恕.?dāng)然弗成是在信息安逸,在操持、開(kāi)發(fā)可能修自行車中,你也大略是個(gè)黑客。在糊口中的思想和行為也一定要黑客。當(dāng)然我所說(shuō)的“黑客”是精力,而不是手藝。我抉擇很細(xì)心的回復(fù)這個(gè)標(biāo)題,耐久更新。在共享的同時(shí),也激勸了自己。「什么是他媽的黑客」在這個(gè)名詞眾多的信息期間,盜號(hào)的能夠稱之為黑客,使用他人東西破損的也是黑客,那么我是什么嗎,可能說(shuō)咱們他媽的算什么。有人說(shuō)咱們是黑客白帽,但也有朋友倘佯在利害之間,WTF,顯著一家人非扣個(gè)帽子,真心希望看過(guò)謎底的人,把那些初上鉤絡(luò)的腳本小子稱之為小弟子,駭客他們都配不上。那么黑客到底他媽的有什么特性呢?第一點(diǎn),追尋自在。但這個(gè)自在在我的眼里應(yīng)該是如許的「Freedom is not free」可能是「畏程序者最自在」究竟腳下踩著灰,吸著中國(guó)的氛圍,在為人平易近服霧的環(huán)境中,追尋自在過(guò)甚了就是犯法。自在,你能夠編程,自在你能夠像我一樣去罵WTF,也能夠去買些新的硬件,但不能傷人傷己…第二點(diǎn),清楚共享。就今朝國(guó)真相況而言,大部分社區(qū)和妙技峰會(huì),東倒西歪的集會(huì)和演講,都是“偽共享”,不以共享為主旨的妙技替換都是耍混混,對(duì),耍——混混。為毛我要如許講,你的母親會(huì)教會(huì)你走路,不必要任何門票也不必要任何門檻,這是真正的共享。聽(tīng)演講必要門票,以共享為精力的社區(qū)卻有著拜候權(quán)限,我了個(gè)大操!你們真的懂得什么叫他喵的共享?臭混混!再一個(gè)例子,就是我把這個(gè)字發(fā)到知乎,你點(diǎn)了贊,他人看到動(dòng)態(tài),發(fā)鏈接給他人,他人再轉(zhuǎn)發(fā),時(shí)期沒(méi)有任何窒礙。這只是羈糜營(yíng)特點(diǎn),不和再注重講。第三點(diǎn),癡迷妙技。互聯(lián)網(wǎng)有著二十四小時(shí)運(yùn)轉(zhuǎn)的伎倆,人類也有著不同時(shí)差的情形,鑄造出了一小群癡迷于此的黑客。不停的操縱互聯(lián)網(wǎng)查閱自己感樂(lè)趣的知識(shí),就像你在翻閱這行字一樣,只不外他們更偏差于自己業(yè)內(nèi)的工作。步驟員有過(guò)歷盡艱辛Debug的那一刻,操持師有過(guò)靈光一現(xiàn),筷子失在半空中—咻—穩(wěn)穩(wěn)捉住,心里痛爽一句“哥練過(guò),酷酷的”。癡迷到什么水平我不分明明明,但我個(gè)人私家要是把自己所接收到關(guān)于此類的知識(shí)總結(jié)清算一遍,我只想到了萬(wàn)馬奔跑!!腦袋真的會(huì)爆炸,悵然至今沒(méi)樂(lè)趣把追求妙技的心思,丟在某些用不到的學(xué)問(wèn)上。著末一點(diǎn),胡想。點(diǎn)燃手中的煙,抬頭遙看遠(yuǎn)方,沉著的念“是的,胡想”。我一貫保持“胡想與款項(xiàng)無(wú)關(guān)”的準(zhǔn)繩來(lái)做,在我看來(lái)凡是垂青好處就一定會(huì)影響純度。想想幾年后,你會(huì)因?yàn)榻裉斓哪悖瑢?duì)互聯(lián)網(wǎng)安逸做出了孝順,沒(méi)有賺牟利潤(rùn),而后悔嗎?我不會(huì),我能夠刷盤子能夠?qū)W操持學(xué)開(kāi)發(fā),也不情愿去拿著妙技去賺錢,我要掩護(hù)好他,除非哪天逼不得已,必要拿我的胡想去養(yǎng)活更多有胡想的人。打仗這行十余年,生長(zhǎng)比其他大牛慢,但我發(fā)現(xiàn)一個(gè)合營(yíng)點(diǎn)。大牛都是學(xué)院派,早些日子都是其它行業(yè)。而咱們這些野生的,都是從小的樂(lè)趣,保持走到今天。以是一貫煩厭某些大牛,妙技好布景厚,但你們他媽的能不能別太商業(yè)化?!原來(lái)好好的環(huán)境從04年起頭逐步變臭,銅臭味!你們能夠拿著妙技看成飯吃,咱們卻只能拿著胡想當(dāng)飯吃,當(dāng)然咱們吃的還他媽是精力食糧。不外聲譽(yù)的是,咱們?cè)?jīng)想好了一個(gè)項(xiàng)目,實(shí)踐上能夠襲擊下今朝的各類不夠黑客的環(huán)境,估量明年中旬成熟之后才會(huì)上線。今天就寫這么么多,明天將來(lái)誥日起來(lái)了再接連寫下關(guān)于妙技?關(guān)于糊口和思想?——2014.10.21黎明1:12午時(shí)睡前來(lái)一發(fā),關(guān)于妙技的吧。第一點(diǎn),我想提到的是「獲取渠道」小時(shí)辰,咱們的獲取渠道是黑基那種站點(diǎn)上的視頻,回首轉(zhuǎn)頭回想確實(shí)不堪入目,可是!可是!只管層次不高,至少阿誰(shuí)年代的咱們,能夠把自己懂的共享給他人,哪怕渣妙技哪怕只是為了裝逼也會(huì)投稿,好吧我就不吐槽這幾年始終涌出的商業(yè)狗了。遵循我個(gè)人私家的獲取渠道,有以下幾點(diǎn):~RSS訂閱訂閱各大裂痕平臺(tái),資訊站點(diǎn),個(gè)人私家博客。獲取效用比本技藝動(dòng)翻開(kāi)網(wǎng)站要高許多。~微博恩,不得不提這實(shí)在其實(shí)是個(gè)雙刃劍。能夠最高效的獲取業(yè)界動(dòng)態(tài),乃至針對(duì)個(gè)人私家的動(dòng)態(tài)。悲劇的是像我如許的屌涓滴無(wú)存在感(′▽`〃)好吧,哥哥,我能夠求個(gè)粉嗎~社區(qū)論壇切實(shí)這是最不能的法子,因?yàn)槟悴荒艽_保社區(qū)內(nèi)容質(zhì)量,更不能確定你是否有瀏覽權(quán)限阿。╰_╯操他媽的社區(qū)論壇式的偽共享!~朋友圈此處當(dāng)然不是說(shuō)某信了啦。人都有自己的基友阿,比方我大九區(qū)就很好啊,工力悉敵的人聚在一起,無(wú)意有時(shí)有時(shí)喝個(gè)小酒,失蹤戀了戀愛(ài)了群里聊談天,當(dāng)然妙技也是云云阿。太子狗T_T我辣么愛(ài)你,你竟然愛(ài)上了阿誰(shuí)美利堅(jiān)5555555詳細(xì)都必要訂閱哪些RSS看你個(gè)人私家愛(ài)好啦,不然訂閱了草率而過(guò)就是華侈時(shí)刻阿。有了獲取渠道,恩,該談?wù)劇高M(jìn)修步伐」針對(duì)差異的種別,都有差異的詳細(xì)步伐。但唯獨(dú)不會(huì)變的就是('?`)保持啦好吧,上面那行對(duì)了一半,切實(shí)是(′ェ`)實(shí)戰(zhàn)!閱盡AV的主旨還是在實(shí)戰(zhàn)中找到自我~做開(kāi)發(fā)的有過(guò),看十遍書不如做一次項(xiàng)主旨認(rèn)為?做操持的有過(guò),想十個(gè)發(fā)明不如拿筆畫一遍草圖認(rèn)為?做安逸同理,但良好的處地點(diǎn)于要分清什么情形下恰當(dāng)白盒疆場(chǎng)和黑盒疆場(chǎng)。白盒是指自己搭建受攻下的環(huán)境,指可以獲取源碼可能其他注重信息。合用于,測(cè)試開(kāi)源產(chǎn)物,0day,可能無(wú)法快速找到他人在用的裂痕。說(shuō)個(gè)注重的,代碼審計(jì)。黑盒指你蒙著雙眼去尋找G點(diǎn),不曉得方針使用的環(huán)境。合用于,去掘客廠商裂痕,可能說(shuō)是商業(yè)產(chǎn)物的裂痕,究竟開(kāi)源曾經(jīng)很遍布了。說(shuō)個(gè)注重的XSS盲打。切實(shí)有一個(gè)好的習(xí)俗就是,清算自己的文檔,當(dāng)你從此碰著同一標(biāo)題的時(shí)辰能夠快速處理。粗略寫這些,別笑,寫成天書的你看不下去,以是我能寫成如許,曾經(jīng)夠了喂!顯著就是個(gè)成天賣萌的暖男(○’ω’○)不外不至于看完連朋友都做不得吧。
如何快速開(kāi)發(fā)一個(gè)小游戲?
如何快速開(kāi)發(fā)一款火爆的小游戲?“火爆”是一個(gè)偏運(yùn)營(yíng)的詞,在小游戲上線120天《微信開(kāi)發(fā)者》公眾號(hào)有一篇推文,其中有幾個(gè)數(shù)字或許可以用來(lái)描述“火爆”這個(gè)詞。截止微信小游戲正式允許第三方開(kāi)發(fā)者發(fā)布已有22天,對(duì)外發(fā)布的小游戲達(dá)300多款,注冊(cè)用戶總規(guī)模過(guò)億的游戲有數(shù)款,安卓月流水過(guò)千萬(wàn)的也有數(shù)款。
該文還提到與火爆相關(guān)的兩個(gè)姿勢(shì)。一是社交匹配度,在小游戲這樣一個(gè)去中心化的大背景下,讓游戲內(nèi)容和微信社交相結(jié)合是一個(gè)很重要的點(diǎn),同時(shí)開(kāi)發(fā)者也需要在利用社交互動(dòng)提升用戶體驗(yàn)和群聊分享造成用戶騷擾之間選擇一個(gè)平衡點(diǎn),過(guò)猶不及。第二是操作簡(jiǎn)便度,說(shuō)的是游戲易上手操作簡(jiǎn)單。這是我們根據(jù)游戲成為爆款后觀察得出的結(jié)論,并不是說(shuō)具備這兩個(gè)特性就一定能開(kāi)發(fā)出一款火爆的游戲,并且新的爆款游戲也不一定符合這些特點(diǎn),僅供參考。
今天介紹的內(nèi)容更傾向于技術(shù)方面,所以“火爆”就從標(biāo)題里面去掉了,并且也不會(huì)介紹具體的游戲邏輯如何開(kāi)發(fā),而是更偏向于如何利用好微信的開(kāi)放能力開(kāi)發(fā)一款小游戲。
什么是“小游戲”?小游戲是什么?
首先為大家介紹一下小游戲是什么。從普通用戶的視角看,小游戲是小程序的一個(gè)子類目,可在微信內(nèi)被便捷的獲取和傳播,即點(diǎn)即玩,具備出色的用戶體驗(yàn)。小游戲是小程序,普通用戶分不清也無(wú)需分清。
小游戲Runtime
如果放大小游戲的Runtime可以看到很多的細(xì)節(jié),這是一個(gè)典型的分層架構(gòu):
最上層藍(lán)色部分,是游戲代碼,分為游戲邏輯,游戲引擎、weapp-adapter三部分。大部分游戲開(kāi)發(fā)會(huì)用到一些引擎的工具、工作流,以及利用引擎封裝的高層API去實(shí)現(xiàn)游戲邏輯。其次是weapp-adapter,因?yàn)樾∮螒虻牡讓右环矫娌皇莣ebview,可以簡(jiǎn)單看成是webview經(jīng)過(guò)精簡(jiǎn)、優(yōu)化過(guò)后的平臺(tái);另一方面核心能力的實(shí)現(xiàn)上卻參考了webview。所以這里如果有一個(gè)適配器,把小游戲的底層API——wx API適配到一個(gè)接近webview的接口,對(duì)上層引擎、已存在的游戲接入微信小游戲平臺(tái)則會(huì)更加容易,這個(gè)就是weapp-adapter的作用。其中只有游戲邏輯是必要的。
可以看到,在架構(gòu)上小游戲和小程序是有差別的,小游戲沒(méi)有頁(yè)面概念的,wxss/wxml不再存在。其次,底層實(shí)現(xiàn)也不是webview,小游戲和webview的關(guān)系只能說(shuō)是渲染相關(guān)的核心能力可以通過(guò)weapp-adapter的簡(jiǎn)單適配保持接口一致,但同時(shí)很多webview上存在的功能并沒(méi)有對(duì)等的實(shí)現(xiàn),比如小游戲就沒(méi)有DOM/BOM的概念,也沒(méi)有全局的document/window對(duì)象。
小游戲的入口為game js文件,語(yǔ)言為Javascript,但有一些限制,比如禁止執(zhí)行動(dòng)態(tài)代碼,因此eval、new Function等能力是不支持的。配置為game.json,可以配置橫豎屏、接口超時(shí)等參數(shù)。js里面可以組合wx API的能力來(lái)實(shí)現(xiàn)游戲邏輯, 非代碼類的資源應(yīng)該盡量放到cdn,減少整個(gè)代碼包打包后的大小,以加快用戶首次進(jìn)入時(shí)的速度,微信對(duì)首包的大小目前限制為4MB。
Webview Adapter
下面來(lái)說(shuō)一下Webview Adapter,它的初衷是為了讓游戲開(kāi)發(fā)者更好地熟悉我們的平臺(tái),所以我們的平臺(tái)在能力上會(huì)盡可能地與webview做一些適配,其實(shí)這個(gè)適配也是很簡(jiǎn)單的一層。比如說(shuō)我們?cè)跒g覽器里面使用image對(duì)象創(chuàng)建一個(gè)圖片,而在小游戲里是通過(guò)wx.createimage來(lái)創(chuàng)建的,在代碼中需要做一個(gè)簡(jiǎn)單的適配。
以此類推,常見(jiàn)的Canvas、document對(duì)象都是在Adapter中通過(guò)一個(gè)簡(jiǎn)單的適配實(shí)現(xiàn)的,大家可以研究鏈接中的代碼。之后官方不會(huì)繼續(xù)維護(hù)這個(gè)Adapter,我們會(huì)更專注于底層能力的建設(shè)。
小游戲能力概覽
下圖是小游戲能力的概覽,小游戲能力的迭代比較快,部分能力還沒(méi)有來(lái)得及羅列出來(lái)。比如最近剛發(fā)布的游戲圈、健康系統(tǒng)防沉迷相關(guān)的一些接口。
我們先看一下基礎(chǔ)能力,在渲染這部分WebGL1.0和Canvas 2D都是支持的,這里的Canvas更接近于瀏覽器里面的標(biāo)準(zhǔn)。同時(shí),這里提到的可控幀率的概念,如果小游戲在后臺(tái)運(yùn)行的話,可以盡量將幀率降低。
在多媒體部分,小游戲還不能像小程序一樣實(shí)現(xiàn)實(shí)時(shí)的音頻視頻流,這是我們?cè)诤罄m(xù)要進(jìn)一步支持的。網(wǎng)絡(luò)IO的部分與小程序也是類似的,我們也提供了一些UI的組件,比如說(shuō)拉起鍵盤,模態(tài)對(duì)話框等。
小游戲的社交開(kāi)放能力現(xiàn)在已經(jīng)對(duì)外了。其中最重要的一個(gè)能力是在開(kāi)放域?qū)⑽⑿诺暮糜殃P(guān)系開(kāi)放出去,給開(kāi)發(fā)者使用,考慮到對(duì)用戶隱私的保護(hù)會(huì)有一些設(shè)計(jì)上的限制。
因?yàn)樾∮螒蛉ブ行幕奶攸c(diǎn),分享這一部分也是非常重要的,開(kāi)發(fā)者要考慮如何將這個(gè)能力利用起來(lái)。在代碼方面,因?yàn)槭装拗剖?MB,但部分小游戲的代碼量可能比較大。我們最近也在規(guī)劃一個(gè)分包的能力,允許異步加載代碼并執(zhí)行,但這個(gè)代碼是一定要經(jīng)過(guò)我們審核的。
如何開(kāi)發(fā)一款小游戲?
那么如何開(kāi)發(fā)一款小游戲?因?yàn)槲冶救艘仓皇情_(kāi)發(fā)過(guò)一些簡(jiǎn)單的游戲,并不是專業(yè)進(jìn)行游戲開(kāi)發(fā),所以接下來(lái)我會(huì)更多地介紹一下如何利用微信的能力來(lái)開(kāi)發(fā)小游戲。
選擇小游戲引擎
微信跟引擎商也有比較密切的合作,一般現(xiàn)在的游戲引擎都會(huì)支持發(fā)布到多個(gè)平臺(tái),對(duì)微信小游戲這個(gè)新平臺(tái)而言,已經(jīng)有一部分引擎做了適配,比如Cocos Creator、Egret Engine以及LayAir Engine。適配的主要工作,類似之前提到的weapp-adapter,把wx API的能力,和引擎銜接起來(lái)。
比如引擎一般會(huì)把小游戲平臺(tái)和webview平臺(tái)對(duì)標(biāo),適配過(guò)程就是把wx API對(duì)應(yīng)到webview的能力,同時(shí)把只存在于webview能力的依賴去除,比如不再依賴BOM、DOM。已適配的引擎都有相應(yīng)的文章介紹如何把游戲發(fā)布到微信小游戲平臺(tái)。
設(shè)備/環(huán)境適配
小游戲會(huì)有API提供獲取屏幕的寬高、設(shè)備像素比等能力。小游戲開(kāi)發(fā)完成后,在開(kāi)發(fā)者工具也可以發(fā)起真機(jī)測(cè)試的請(qǐng)求,微信提供了不同設(shè)備的測(cè)試集群,幫助開(kāi)發(fā)者提前去發(fā)現(xiàn)問(wèn)題。基礎(chǔ)庫(kù)提供的wx API本身是一個(gè)不斷迭代更新的過(guò)程,對(duì)于使用了新能力的小游戲,需要做低版本兼容。
微信登錄
小游戲的登錄過(guò)程,跟小程序是類似的。需要用戶自己去定義登錄狀態(tài)。appsecret/session_key代表的是小游戲開(kāi)發(fā)者和微信平臺(tái)之間的一種信任約定,比如支付、上報(bào)托管數(shù)據(jù),平臺(tái)方需要驗(yàn)證access_token(只有appsecret才能換得到),和用戶相關(guān)的還要驗(yàn)證session_key的簽名,才能保證請(qǐng)求來(lái)自于小游戲開(kāi)發(fā)者/用戶,而不是惡意的第三方和隨意捏造的用戶。
access_token是一種應(yīng)用態(tài)的access_token,和用戶無(wú)關(guān),需要保證全局維護(hù)一份,應(yīng)該有一個(gè)中控的模塊去保證access_token有效,同時(shí)在有效期內(nèi)直接使用本地cache的access_token,而不是每次使用都去生成新的access_token,否則可能遇到調(diào)用頻率限制的錯(cuò)誤而影響服務(wù)。切記appsecret/session_key不要放到前端代碼中去,否則可能會(huì)被壞人利用損壞小游戲開(kāi)發(fā)者/用戶的權(quán)益。
緩存
緩存類型包括數(shù)據(jù)緩存和文件緩存兩類。數(shù)據(jù)緩存即key-value存儲(chǔ),適合結(jié)構(gòu)化類型的小數(shù)據(jù)存儲(chǔ),上限為10MB。文件緩存提供了一個(gè)完整的文件系統(tǒng)API,包括目錄/文件的增刪改讀,適合針對(duì)經(jīng)常使用的網(wǎng)絡(luò)資源做本地緩存,上限是50MB。
和瀏覽器不同的是,微信只提供了基本的存儲(chǔ)管理能力,并不對(duì)存儲(chǔ)什么,和存儲(chǔ)滿時(shí)刪除什么做一些操作。開(kāi)發(fā)者自行靈活定義緩存以及淘汰策略,比如對(duì)經(jīng)常訪問(wèn)的資源存儲(chǔ)到文件系統(tǒng)以及在文件存儲(chǔ)滿時(shí),清理一些最近不常訪問(wèn)的文件。
開(kāi)放數(shù)據(jù)域
開(kāi)放數(shù)據(jù)域是一個(gè)封閉、獨(dú)立的 JavaScript 作用域,和執(zhí)行游戲邏輯的環(huán)境——稱為“主域”隔離。其目的是在保證用戶隱私的前提下開(kāi)放用戶數(shù)據(jù)給第三方,提升小游戲的整體用戶體驗(yàn)。以下為物理視圖,主域的入口為game.js,開(kāi)放數(shù)據(jù)域則是一個(gè)獨(dú)立的目錄,其入口文件為index.js。
主域和開(kāi)放數(shù)據(jù)域的通信受到嚴(yán)格的管制,基本原則是只進(jìn)不“出”。
?只進(jìn):允許外部的數(shù)據(jù)進(jìn)入開(kāi)放數(shù)據(jù)域,即主域可以隨時(shí)postMessage到開(kāi)放域,以及開(kāi)放域引用主域準(zhǔn)備好的本地資源
?不“出”:不允許開(kāi)放數(shù)據(jù)域的數(shù)據(jù)被上傳到第三方服務(wù)器去。因?yàn)殚_(kāi)放數(shù)據(jù)域里面,index.js是可以直接訪問(wèn)到用戶敏感數(shù)據(jù)的,比如同玩好友數(shù)據(jù)。當(dāng)然最終開(kāi)放數(shù)據(jù)域需要index.js在綜合各種數(shù)據(jù)后把數(shù)據(jù)以圖形圖像的方式渲染到sharedCanvas上,在主語(yǔ)sharedCanvas允許draw到主域的上屏Canvas上,最終用戶會(huì)在顯示屏上看到game.js畫出來(lái)的好友排行榜、群排行榜或好友超越等社交互動(dòng)信息。
在開(kāi)發(fā)數(shù)據(jù)域中的數(shù)據(jù),開(kāi)發(fā)者沒(méi)法把數(shù)據(jù)拿出去和游戲數(shù)據(jù)做關(guān)聯(lián),所以如果需要在開(kāi)放域下展示的游戲數(shù)據(jù),比如分?jǐn)?shù),開(kāi)發(fā)者需要將該數(shù)據(jù)通過(guò)上報(bào)接口把游戲數(shù)據(jù)托管到平臺(tái)。這樣就可以在開(kāi)發(fā)數(shù)據(jù)域里面就取到相關(guān)數(shù)據(jù),其應(yīng)用場(chǎng)景有好友排行、群排行榜、超越好友提示等。
分享
包括自定義分享和系統(tǒng)菜單分享,可以分享到群聊、單聊。也可以把分享上下文與特定的群關(guān)聯(lián),實(shí)現(xiàn)一些群PK、群排行榜的場(chǎng)景。分享是一把雙刃劍,需要謹(jǐn)慎使用,一方面避免過(guò)度騷擾用戶/群聊,另一方面增強(qiáng)社交互動(dòng)提供好的游戲體驗(yàn),需要找到一個(gè)合適的平衡點(diǎn)。
支付
小游戲在安卓下支持虛擬支付,它的方式目前只有一種:即貨幣托管的方式。主要分為2個(gè)流程:
1.充值:RMB -> 游戲幣,這里開(kāi)發(fā)者只需要拉起支付的流程,平臺(tái)負(fù)責(zé)把用戶RMB兌換成對(duì)應(yīng)的游戲幣,存儲(chǔ)到用戶對(duì)應(yīng)的游戲帳號(hào)上
2.使用游戲幣購(gòu)買道具:開(kāi)發(fā)者可以扣除對(duì)應(yīng)的游戲幣,給用戶發(fā)放游戲內(nèi)道具,扣除游戲幣的過(guò)程需要有一定的事務(wù)機(jī)制,去保證在網(wǎng)絡(luò)異常的情況下交易正常。扣除游戲幣的接口支持根據(jù)訂單id去重,意味著網(wǎng)絡(luò)超時(shí)等情況下,開(kāi)發(fā)者可用同樣的訂單id去重試扣除,直至返回明確的響應(yīng)。
以下為簡(jiǎn)單時(shí)序圖,部分角色針對(duì)開(kāi)發(fā)者無(wú)需關(guān)心的部分做了相應(yīng)簡(jiǎn)化處理:
性能
小游戲常見(jiàn)的性能問(wèn)題,一般是內(nèi)存造成的。如果內(nèi)存占用太多會(huì)被微信客戶端主動(dòng)關(guān)閉,因此開(kāi)發(fā)者在用戶游戲過(guò)程中要及時(shí)釋放不再使用的內(nèi)存(js代碼去除引用,或主動(dòng)調(diào)用對(duì)應(yīng)資源的釋放接口,如果有的話),特別是Canvas和Image類大型對(duì)象,同時(shí)可以主動(dòng)調(diào)用wx.triggerGC觸發(fā)底層回收對(duì)應(yīng)資源。
對(duì)于和游戲邏輯相對(duì)獨(dú)立的工作,可以考慮在worker中去實(shí)現(xiàn),小游戲提供了獨(dú)立的worker線程執(zhí)行js邏輯的能力。
版本更新機(jī)制
小游戲啟動(dòng)的過(guò)程分為冷啟動(dòng)和熱啟動(dòng)。冷啟動(dòng)是指內(nèi)存中無(wú)該小游戲的運(yùn)行實(shí)例的情況下,啟動(dòng)小游戲的過(guò)程;熱啟動(dòng)是指小游戲的運(yùn)行實(shí)例在內(nèi)存中還存在,只是暫時(shí)切換到了后臺(tái),這時(shí)用戶再次觸發(fā)小游戲回到前臺(tái)的過(guò)程。
小游戲會(huì)在冷啟動(dòng)時(shí)檢查小游戲的版本,如有新版本,在下載回本地后,下一次冷啟動(dòng)即可使用最新版。當(dāng)然,我們也提供了API可以供開(kāi)發(fā)者決策在有版本可用時(shí),是否需要強(qiáng)制更新。
運(yùn)維
特別提醒,小游戲有完善的后端監(jiān)控,可以通過(guò)“運(yùn)維中心”開(kāi)啟,比如腳本錯(cuò)誤監(jiān)控。腳本錯(cuò)誤主要由運(yùn)行過(guò)程中未捕獲的異常觸發(fā),需要重點(diǎn)關(guān)注。該類異常,可能會(huì)導(dǎo)致用戶小游戲前端的js邏輯暫停執(zhí)行。
同時(shí),平臺(tái)也提供了完善的數(shù)據(jù)分析服務(wù),可以通過(guò)“小游戲數(shù)據(jù)助手”進(jìn)行數(shù)據(jù)分析。
以上就是關(guān)于獨(dú)立游戲開(kāi)發(fā)者要回編程嗎和請(qǐng)問(wèn)有什么好玩有趣的恐怖游戲推薦下的相關(guān)問(wèn)題解答,希望對(duì)你有所幫助。