Re: [閒聊] tmi2-mudlib 的更改

看板mud (網路地下城/文字遊戲)作者 (小太保)時間11年前 (2014/06/18 15:13), 11年前編輯推噓4(401)
留言5則, 3人參與, 最新討論串16/27 (看更多)
網頁好讀版: http://www.ptt.cc/bbs/mud/M.1403075582.A.920.html 本次釋出 20140618 版本,最重要的目的在於解說何謂「素材」。 比方,某位 tmi2_v3_改 的使用者,以區域生產組合製作了一個區 域,則它只要釋出「相關設定」,其它 tmi2_v3_改 的使用者就可 以立即在自己的 mud 製作出相同的區域,甚至還可以先略做修改再 丟進自己 mud 的區域生產組合。 以 sanc 的「菲里德古堡外圍」為例,底下就是釋出素材範例 // hiei@sanc 2013/02/01 // 怪物名字提供: opb@sanc // 房間怪物資料 // ({"怪物檔名",等級,"種族","單位","id資料","怪物名稱",是否自動攻擊}) #define AREA_CLONE_MOBS ({\ ({"mob1",81,"魔物","朵",({"vampire-bite flower","flower"}),\ RED"吸血"HIM"噬人花"NOR,1}),\ ({"mob2",83,"魔物","隻",({"tour-magic cat","cat"}),\ HIY"巡曳"HIB"魔法貓"NOR,1}),\ ({"mob3",84,"魔物","位",({"nail-bone soldier","soldier"}),\ RED"釘"NOR"鈀"HIP"骸骨兵"NOR,1}),\ ({"mob4",135,"魔物",({"shadow knight","knight"}),\ HIP"黑"NOR+MAG"影"HIP"騎士"NOR,1}),\ }) // 房間 long 資料 // 玩家 opb@sanc 2013/07/09 // 底下即三段敘述 #define AREA_LONGS ({\ ({\ "一走進這裡,立刻感受到一股莫名的壓力",\ "這裡長年不受日照,漆黑陰森的氣氛,令人不寒而慄",\ "因為古堡受到的詛咒,花園裡也是充滿著詭異的氣氛",\ "走到這裡,映入眼簾的盡是一幅殘破又雜亂的畫面",\ "在這暗無天日的花園中穿梭著,視線似乎有點模糊",\ "走在蜿蜒的小路上,寂靜中偶爾聽到微弱的聲音",\ "好不容易來到這裡,眼前仍是一片陰暗,空氣中的濕氣更重了",\ "終於又向前走了一段路,四周氣氛變得越發詭譎",\ "到處遍佈著的斑斑血跡令人觸目驚心,不曉得已存在多久",\ }),\ ({\ "遍佈滿地的是散亂而不完整的骸骨",\ "沿途看到的石牆上,佈滿雜亂的藤蔓",\ "遠方有一個乾凅的噴水池,裡面的是暗紅色的血漬",\ "道路的盡頭處有個看似駝背的人影,手裡似乎拿著釘鈀",\ "竄動的噬人花,正在啃食著地上的骸骨,發出可怕的聲音",\ "看著高聳的古堡,卻弄不清楚是近是遠",\ "空氣中迷漫著一股令人不舒服的潮濕氣味",\ "這裡的花草樹木常常透著一股陰氣,似乎正打算著要吞噬什麼一樣",\ }),\ ({\ "遍植在此處的噬人花,彷彿因為你的出現而動地更厲害",\ "看著眼前的景象,心裡不禁懷疑這裡曾經真的是個花園嗎",\ "令人完全不願在這裡多待一秒,只想快點離開這裡",\ "地上的骸骨說明了這裡曾經埋葬了多少冒險者呢",\ "路上的石像已看不出原來的樣子,這座古堡究竟有多長遠的歷史呢",\ "昏暗的花園讓人分不清方向,不知道走到了盡頭還是另有出路",\ "站在原地向天空望去,除了古堡幾乎什麼也看不到",\ "你必須緊繃全身的神經,才能應付隨時會出現的事物",\ "你心想再不快點走出這個花園,可能就會成為花園的一部份了",\ }),\ }) 地圖資料 x x-x x-x x-x-x-x x-x-x | | | | | | | | x-x-x-x x-x x x x x-x-x | | | | | | | | x-x-x x-x-x-x-x-x-x-x-x x-x-x x | | | | | | | | | x x-x-x-x x x-x-x x-x | | | | | x-x x-x-x x x-x-x x-x | | | | | | x x x-x x-x-x-x x-x | | | | | | x x-x-x-x-x x x-x x-x | | | | | x-x x-x-x x-x x-x x | | | | | | | x x-x-x-x-x x x x-x-x-x-x-x | | | | | | | x-x-x-x-x-x-x x-x-x-x-x-x-x-x-x-x-x-x 001 002-003 004-005 006-007-008-009 010-011-012 | | | | | | | | 013-014-015-016 017-018 019 020 021 022-023-024 | | | | | | | | 025-026-027 028-029-030-031-032-033-034-035-036 037-038-039 040 | | | | | | | | | 041 042-043-044-045 046 047-048-049 050-051 | | | | | 052-053 054-055-056 057 058-059-060 061-062 | | | | | | 063 064 065-066 067-068-069-070 071-072 | | | | | | 073 074-075-076-077-078 079 080-081 082-083 | | | | | 084-085 086-087-088 089-090 091-092 093 | | | | | | | 094 095-096-097-098-099 100 101 102-103-104-105-106-107 | | | | | | | 108-109-110-111-112-113-114 115-116-117-118-119-120-121-122-123-124-125-126 這份地圖實際參考底下的地圖檔,並以 drawmap 繪成 http://imgur.com/SZyE89x.jpg
在 sanc 看到的地圖如下 http://imgur.com/kMJi7VN.jpg
可以發現兩者是非常像的。 房間名稱的設定部份 040: 菲里德古堡外圍 - 大門 - <= 從南城森林接過來的入口 057: 菲里德古堡外圍 - 主館入口 - <= 進入古堡的地方 019: 菲里德古堡外圍 - 北館入口 - <= 進入古堡北館的地方 001: 012: 108: <= 這四個房間名稱都是 菲里德古堡外圍 - 衛哨 - 126: 其它房間的名稱: 菲里德古堡 - 外圍 - 以上就是用在 area_room.c 裡面。 拿到這份素材的人,它可以只用「地圖」的部份,也可以增加使用 「區域敘述」的部份,或是連「怪物設定」也一起參考,甚至「全 部照參使用」亦可。 這樣就能實現 tmi2_v3_改 mud 之間的區域及怪物資料的釋出、移 植及共享,而且其過程非常簡單。 而且不只素材可共享,素材也「俯拾皆是」,像上面菲里德古堡外 圍的地圖就是實際參考了線上遊戲的地圖檔以 drawmap 繪成。 而網路上光是線上遊戲地圖何其多!更不用說是單機遊戲的地圖了 如仙劍奇俠傳: > ls 鎖妖塔* 1 鎖妖塔 2 鎖妖塔2 1 鎖妖塔3x 1 鎖妖塔5 1 鎖妖塔6x 3 鎖妖塔1 1 鎖妖塔2x 2 鎖妖塔4 1 鎖妖塔5x 6 鎖妖塔7 1 鎖妖塔1x 1 鎖妖塔3 1 鎖妖塔4x 4 鎖妖塔6 2 鎖妖塔7x 用 drawmap 畫這些圖是花不了多少時間的。 底下的區域規模當初甚至花不到兩週的時間就完稿 http://sanclaechan.myweb.hinet.net/felid.png
日後 tmi2_v3_改 會有一個目錄專門存放我已經畫好的地圖、所創 造的怪物、以及所寫過的所有敘述,做為「基本素材」。 以上便是 tmi2_v3_改 釋出的核心意義之一,我希望所有拿到這份 mudlib 的人,都可以僅憑一人之力就架構出自己想創造的世界,之 後也都會 follow 這個原則,即茅場晶彥所命名的「The Seed」。 未來所需要的並不是「一個 mud 需要多少人力的投入」,而是「 有多少人願意讓 tmi2_v3_改 開枝散葉及共享素材」,甚至還可有 限度地做到下圖茅場晶彥的理想(tmi2 頻道就是一種呈現): http://i.imgur.com/EgXCN.jpg
因為目前「訊息」可透過「tmi2」指令傳送,既然訊息可以,那麼 「玩家資料檔」一樣可以。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.157.53 ※ 文章網址: http://www.ptt.cc/bbs/mud/M.1403075582.A.920.html ※ 編輯: laechan (210.61.157.53), 06/18/2014 15:14:51 ※ 編輯: laechan (210.61.157.53), 06/18/2014 15:15:10

06/18 20:00, , 1F
06/18 20:00, 1F

06/19 21:37, , 2F
下次幫寫個更新步驟(不會蓋檔) 謝謝
06/19 21:37, 2F

06/19 22:30, , 3F
我個人是己更新了啦,建議而己
06/19 22:30, 3F
有打算寫。我目前是先讓它解壓縮之後確定不會蓋到你原先放在自己 電腦下的 tmi2_v3_改 目錄,因為名字不會一樣,我之所以要把壓縮 檔內的目錄名字最後加上日期,就是為了避免解壓縮之後會跟你原先 使用的目錄名一樣。 然後這時候就有兩個目錄了(這才是重點),這時最主要的是要做 1.舊目錄的 /data 資料夾,蓋掉新目錄的 /data 資料夾。 這樣你在舊目錄做的許多有存檔的更動,就能搬到新目錄用。 這就是為什麼資料檔都要集中於 /data 下存放的主因(聖殿經驗)。 聖殿就是沒有這樣做,所以現在要備份資料很麻煩。 2.舊目錄的 /u 資料夾,蓋掉新目錄的 /u 資料夾。 這樣你在你自己目錄下所寫的東西,就能在新目錄沿用。 這就是為什麼我自己反而不創 /u/l/laechan 目錄的原因,因為只 有拿到這份 lib 的人才需要,我自己本身是修改者並不需要。 3.舊目錄的 /adm/etc/groups,蓋掉新目錄的 /adm/etc/groups,這 樣舊目錄所設定的 groups 資料,就能移植到新的目錄。 我現在幾乎不動這個檔案了。 4.如果你有改到 bin 目錄下的 config 檔案的話,那個檔案也是蓋 掉新目錄的 config 檔,這樣比方 mud name 就會套用你的設定。 以上四個做好後,才啟動 mud、登入角色。這時你就能 login 你在 舊目錄創的角色,而且權限會 follow 舊目錄的,/u/x/xxx 你自己 的目錄也會有舊目錄的資料,/data 下也會有你在舊目錄對系統所做 的一些資料的增刪(/data/一堆.o檔)。 然後舊目錄盡量保存起來,直到下一次的更新,這樣你想起還有什麼 東西要搬時,至少還找的到資料。 其它目錄如 /adm/daemons、/adm/etc/preload檔、/std、/cmds、.. 等等我一直在動,也會修改已存在的檔案,這些建議都直接用新目錄 的。 然後唯一不用擔心的就是「練功區」,按照我的規劃,如果使用區域 生產組合去寫練功區的話,需要移植的就不是「整個區域」,而是那 六大元素: area_room.c area_room.h map1 map1x script_room script_mob 所以妥善保存每一個練功區的這六個檔案,就等於保存了一整個區域 ,像你在最初就不一定要將區域寫在 /d/area,寫在自己的目錄下就 很容易能做保存。 ※ 編輯: laechan (61.224.75.116), 06/20/2014 00:04:20

06/20 00:04, , 4F
上面如果有遺漏的再提一下
06/20 00:04, 4F
※ 編輯: laechan (61.224.75.116), 06/20/2014 00:12:47

06/20 00:22, , 5F
東西不多,有遺漏我可能也不會發現XD
06/20 00:22, 5F
文章代碼(AID): #1JeJl-aW (mud)
文章代碼(AID): #1JeJl-aW (mud)