MUD 危險了 ? - MUD Game

Dinah avatar
By Dinah
at 2019-07-13T17:39

Table of Contents

本來打了一堆...改成閒聊一下。

身為 mud 的 coder 及管理者,我目前並不鼓勵任何人投入 mud
多人遊戲的開發,因為目前要「多人」很難,要投入人力去「開
發多人遊戲型 mud」更難。

我很早就有想過這一點,比方以區域來說,我自2013年起,就有
寫一些輔助工具,用來縮短創作區域的時間,目前已能做到可在
短時間內:

1.產生區域 x-x 地圖及建議行走路線
2.依照 x-x 地圖產生區域房間,其路線與 x-x 一致
3.依三段敘述原則,寫三個陣列存每一段的敘述,再隨機組合它
們,就能產生每個房間所需的敘述
4.不撰寫怪物檔,改撰寫怪物設定集,再透過程式讓它讀取設定
write_file成怪物 .c 物件檔,再透過適當寫法讓這個區域總
是有怪物,怪物量總是維持在一定數量內。
5.怪物掉落物的部份,不撰寫實體物品檔,而是改撰寫虛擬物品
設定集,就能讓怪物改掉落虛擬物品。
6.甚至也不寫 npc 了,改撰寫 npc 設定集,房間載入時就依照
設定集產生 npc。
7.甚至也不在房間寫 init 去寫任務或 ask/answer 這些了,撰
寫任務系統,通通使用 quest 指令就搞定了。
8.甚至撰寫副本系統,讓同一個區域可在同時間產生多個副本,
滿足多個玩家想同時打這個區域(且各自獨立)的期望,還可以
辦比賽,同時進副本,看誰最快通關。
.
.


可是寫了這麼多,最終會卡在一個東西----素材。


素材是什麼呢?比方以小說刀劍神域為例,桐人最後釋出了茅場
晶彥給他的 the seed 世界的種子,這東西是什麼呢?依照小說
的描述:

==============================================================
世界的種子.

那是茅場開發的,為了能運行基于完全潛行系統的全感覺VR環境
,它還擁有一系列文件名以"THESEED"開頭的接口程序.

茅場整理了自動運行的SAO服務器的"cardinal【カーディナル】"
系統進行縮編【ダウンサイジング】,不僅留下了小規模服務器
能運行的部分,也留下能夠讓其在更高級的服務器上運行的游戲
開發支援環境組件包

也就是說,想要創造VRWORLD的話,就算利用回路一般的服務器,
只要將接口程序下載,進行3D建模設計,或者干脆利用現成的配置
,如果程序能夠運行,就能誕生一個世界。
==============================================================


素材指的就是上面的開發支援環境組件包。

例如以星海爭霸這個遊戲來說,它的地圖編輯器就類似這樣的東
西,它提供了很多組成區域的素材,讓使用者可創建各式各樣的
區域。

https://www.youtube.com/watch?v=pNhJPQvW-pc

mud 房間的組成要素之一,區域敘述,我上面提到的三段敘述組
合方式,就有一點像是在寫這個區域所需的房間所需的敘述的素
材:

第一段敘述群──┐
第二段敘述群──┼─隨機組合成一個房間敘述
第三段敘述群──┘

而我思考的「素材」則是更根源的

區域敘述素材一──┐
區域敘述素材二──┤  ┌─第一段敘述群──┐
區域敘述素材三──┼──┼─第二段敘述群──┼─隨機組合成一個房間敘述
.    │   │ └─第三段敘述群──┘
.    │   │
區域敘述素材X──┘

以沙漠這樣的區域為例,一般會有一些常見的詞兒,例如:

沙漠、沙地、黃沙、飛沙、沙礫、荒涼、死寂、燥熱、酷熱、炙
熱、豔陽、寬廣、無邊、流砂、綠洲、仙人掌、駱駝、蠍子、禿
鷹、地平線、.....

透過適當的組合器,可隨機組合出下面的東西:

酷熱 寬廣 無邊 黃沙

在這片既酷熱又寬廣無邊的黃沙裡

荒涼 沙地 禿鷹

幾隻飢渴的禿鷹盤旋於荒涼的沙地之上

死寂 蠍子

四周是死寂的世界,除了幾隻偶爾會突然躦出來的蠍子

然後組合成一個基本的房間敘述:


在這片既酷熱又寬廣無邊的黃沙裡,幾隻飢渴的禿鷹盤旋於荒涼
的沙地之上,四周是死寂的世界,除了幾隻偶爾會突然躦出來的
蠍子。


我認為最基本的,是要提供素材,以及適當的素材組合方式,至
於像「在這片既酷熱又寬廣無邊的黃沙裡」這樣的敘述則可以透
過人腦去「腦補」,不一定要提供完整的自動產生方式,也就是
說:

超詳細的素材 + AI級的組合程式 → 馬上可用的敘述

不需要。

      ┌─────────────────────┐
          ↓ │
夠多的素材 + 適當的組合程式 → 產生隨機組合 → 無法用,捨棄 →┘

└───→ 可用,靠腦補產生可用的敘述

至少要能做到這樣。

當很多相關的物件都有足夠多的素材+適當的組合程式,可藉此
產生可用的各式各樣的「描述」時,mud 說穿了就是一堆描述的
組合,開發才會快,才會順。

也就是說,傳統上,所謂釋出一個 mudlib 給人架 mud,以現代
的角度來看,那個幾乎得從無到有去開發,並開發到一個程度才
能真的拿來玩。應該要釋出的,是裡面已包含架 mud 所需的各種
素材包,我拿到這個 mudlib,比方我要寫什麼,素材包裡面就已
包含我想要的各種材料,我直接拿來用就好了不用從無到有。

那 mud 實際上是各種文字的組合,可隨意複製貼上,這代表開發
敘述(描述)的環境不一定要寫在 mud 裡頭。什麼叫開發環境不一
定要寫在 mud 裡頭呢,底下我曾貼過的東西就是例子:

http://sites.google.com/view/randomapv1


我可以在「外部」產生出我想要的東西,再複製貼到「mud 內」


同理,我上面提到的東西也一樣,我們假設將來有一個網頁工具
,它的介面如下


請選擇物件: 區域 請選擇區域類型: 森林 [執行]

第一段敘述產生區
┌───────────────────────────────────┐
│#define LONG_MSG1 ({\                         │
│"越往樹海的中心走,越感受到自己踏入的是一座非常古老的原始森林",\   │
│"道路上遍佈著落葉,但令你感到奇怪的是,斷枝卻十分稀少",\       │
│"存在已久的森林總是有幾個令附近的城民感到恐懼的傳說",\ │
│})         │
└───────────────────────────────────┘

第二段敘述
┌───────────────────────────────────┐
│#define LONG_MSG2 ({\                         │
│"森林覆蓋範圍每年都在變化,彷彿這些林木是種在會移動的植披地毯似的",\ │
│"明明就沒有風,頭頂卻傳來像是風吹過的樹枝嘎吱聲響",\         │
│"這座森林的可怕傳說,一定程度降低了附近城民屯墾的意願",\       │
│})         │
└───────────────────────────────────┘

第三段敘述
┌───────────────────────────────────┐
│#define LONG_MSG2 ({\                         │
│"道路被層層交錯纏繞的巨大根藤覆蓋\,嚴重拖慢著前進的速度",\      │
│"遍佈著落葉的道路走起來有點滑,走起路來得小小翼翼哪",\        │
│"一路上都看不到啥人,真不曉得眼前這條看似道路的東西是怎麼形成的",\  │
│})         │
└───────────────────────────────────┘

使用者可以一直按 [執行] 鈕,它會一直產生隨機的三段敘述集
,看到中意的就是複製貼上,甚至可自己再改一下,就能產生適
合自己區域的三段敘述集,貼到以指定的 mudlib(the seed) 所
架的 mud 所指定的地方 save 起來,就能讓自己的區域產生出敘
述。

概念是這樣。

當區域的房間敘述可藉由工具產生時,想想這可節省多少開發時
間,然後不只是區域敘述,比方 npc 的中英文名字、技能名字、
npc 的描述語句、怪物的攻擊方式描述、技能的招式名、技能的
招式敘述等......通通都有對應的工具可藉以產生。

例如以 sword 類的持劍 en 類攻擊為例,可能有:

$N手握$W對著$O使出$S
$N手握$W, 對$O使出$S
$N手握$W, 一招$S劃向了$O
$N順手揮出$W刺向$O
$N使出一招$S擊向了$O
$N反手使出了$S砍向$O
$N手握$W, 一招$S砍向$O
$N手握$W, 施展$S斜刺$O
$N手握$W, 一招$S疾刺$O
$N手握$W, 以一招$S直劈$O
.
.


各位想想看,劍類的 en 攻擊可能很多 mud 都有,都要寫,難
道叫每個架站的人或是 coder 都從零開始寫嗎?那會浪費多少
寶貴的時間----只為想這些每個 mud 都有的東西。



雖然這篇是重打的但好像還是講了落落長一堆..抱歉..

想說的是,如果真的要從現在開發一個新的 mud,那應該優先思
考的,是怎麼在一開始,節省大家花在「開發」上的時間。


(後續還有很多多人共同開發會面臨到的問題先不談)


比方假設要寫 SAO 的艾恩葛朗特區域,它是一個百層區域,每一
層實際上都類似一座大陸區域(裡面為大大小小各型區域的複合)
,那可以思考的是,有沒有什麼快速開發這類區域的手段?


--
Tags: 線上

All Comments

Hazel avatar
By Hazel
at 2019-07-17T15:49
這個寫出來會拿去當故事/小說產生器
Ida avatar
By Ida
at 2019-07-21T13:59
推活躍的Laechan大
Callum avatar
By Callum
at 2019-07-25T12:09
用心推
Eden avatar
By Eden
at 2019-07-29T10:20
主角群人設產生器是做得到的
Ophelia avatar
By Ophelia
at 2019-08-02T08:30
人設產生後,有時就能有故事架構靈
James avatar
By James
at 2019-08-06T06:40
用心推
Faithe avatar
By Faithe
at 2019-08-10T04:50
用心推

15兄弟求健檢

Todd Johnson avatar
By Todd Johnson
at 2019-07-13T17:08
https://i.imgur.com/B4ezjTj.jpg https://i.imgur.com/kyCEqF0.jpg https://i.imgur.com/7ttrIA6.jpg 前兩張是打積分賽要使用的 配紫投,想問兩金塞打線較好, 還是一金放牛棚(肉蕭)? 還有想問一下最近剛回鍋, ...

狂魔像主教怎麼玩有想法嗎?

Delia avatar
By Delia
at 2019-07-13T14:05
抽到兩張覺得這卡很有趣試著組了一套 https://i.imgur.com/J7G2O3B.jpg 因為要讓魔像回來被傳染了也不可惜 只帶加速護符用的怪 還有召疾駛用來偷打人的怪 結果發現除了主教內戰以外通常沒什麼勝算 唯一收頭手段撒旦9T才能下 通常都要1X回才能贏 對方只要有10T內完結的 ...

MUD 危險了 ?

Aaliyah avatar
By Aaliyah
at 2019-07-13T13:18
※ 引述《kruz (路人)》之銘言: : ※ 引述《farmerlu (君子風)》之銘言: : : 本板在過去的一年裡, 每個月都有文章. : : 但今年從四月後沒有了 (如果我不算的話) : : 也就是現在到了關鍵轉折點了 ? 再不復興改良, 就危險了? : : 我設想的改良方式, 是保留 mud 的精神 ...

OCP 2019 S2 Week 5 Day 2

Elvira avatar
By Elvira
at 2019-07-13T10:56
比賽時間 6/13 ~ 8/9 每周四 19:00 ~ 21:00 、每周六 11:00 ~ 13:00 直播網址 https://www.twitch.tv/overwatchzhtw (中) https://www.twitch.tv/overwatchcontenders (英) ...

請問現在主流武器是什麼?

Puput avatar
By Puput
at 2019-07-13T10:53
畢竟之前很久沒玩,這兩年才回鍋練個技能 我一般打怪就拿個鎖鏈 andamp; 鋼瓶放個海德拉+火花 一個懶人系打法 但我看每個打王的都全身無斬裝 所以現在還是無斬裝強勢嗎 可是一套無斬裝好貴呀 雖然鎖鏈還滿好用的,不過想追求更有效率更高傷害 欸都 還是只能換無斬裝嗎 - ...