學(xué)得動不?新的概率編程語言上榜,這貨能搞游戲建筑電路圖

雖然我們?nèi)粘9ぷ骰蛘邜酆镁幊虝r用的編程語言多數(shù)屬于大面兒上的通用編程語言,比如Java啦、Python啦、C++啦等,不過現(xiàn)在的編程語言并非只有通用編程語言一種,還有一種編程語言被創(chuàng)建出來是為了某個問題或某個特定領(lǐng)域或者方向的編程語言。這次機智客和大家一起學(xué)習(xí)接觸的就是特定方向的新編程語言:概率編程語言MarkovJunior。


它的推出,就是為了解決隨機性的問題。比如我們在游戲中見到的迷宮,原本是為了突出隨機造成的可玩性,可是當我們玩多了,就會發(fā)現(xiàn)它們千篇一律,再顯得隨機,玩多了也能熟悉它們的規(guī)律和刻板。而用概率編程語言MarkovJunior生成的批量游戲迷宮,則是徹頭徹尾的無重復(fù)性不可預(yù)知,根本讓你摸不到它下一個結(jié)構(gòu)模樣的規(guī)律。除非你瞎蒙猜到。

雖然代碼展示的例子是2D迷宮,不過這只是一個簡單演示。它其實可以生成2D迷宮,還可以生成類似一層層建筑的3D迷宮,和我們物理世界的建筑不同的是,這個3D建筑是隨機的,跟女孩子的心理一樣是猜不透的。由于它是借鑒了馬爾科夫算法(Markov algorithms),本身“毫無記憶”,由當前狀態(tài)決定下一狀態(tài)的概率分布,然后通過制定的一系列規(guī)則,來形成需要的效果。所以規(guī)則不同,隨機性強,拓展延伸性也強。以此延伸出來,這個概率編程語言MarkovJunior,不僅能生成2D迷宮,3D迷宮,而且還能生成地形圖、隨機河流、電路圖。


為嘛會想到搞這個編程語言吶?原來這款概率編程語言MarkovJunior的作者是個游戲開發(fā)者,所以我們也能想象到為嘛前面介紹的語言生成應(yīng)用,多半和游戲領(lǐng)域有關(guān)了。大概也正因為這哥們是游戲開發(fā)者,所以機智客看到在GitHub代碼項目頁面顯示這個概率編程語言MarkovJunior的項目用的底層語言是C#編程。畢竟現(xiàn)在好多游戲所用的游戲引擎就是使用C#啦,JS啦這類腳本語言編程。有一說一,C#在游戲界的地位真是顯赫,一般避不開。


雖然我們在文章開頭說學(xué)習(xí)接觸新語言,不過呢,現(xiàn)如今的我們,經(jīng)濟低迷到無力,競爭內(nèi)卷得發(fā)狂,個人奮斗到躺平。那么,現(xiàn)在的你,還能學(xué)得動嗎?此處有手動狗頭。嗯,用得著,學(xué)得動,就學(xué)唄,反正這貨是基于C#編程語言開發(fā)的,有C#編程語言基礎(chǔ)的,大抵不會有多少障礙。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容