[閒聊] 區域編輯器 confarea.htm

看板mud作者 (揮淚斬馬雲)時間2年前 (2021/09/27 11:32), 編輯推噓4(406)
留言10則, 4人參與, 2年前最新討論串1/1
github gist https://gist.github.com/laechan/d5ffd26215017878df2eac34d74bcc07 還有一些東西沒寫好等以後再改,但是大致可以 demo 了。預設存取 本機目錄是 d:\mud,程式語言是簡單的 javascript(難的我不會)。 demo畫面1 https://i.imgur.com/TxaXxBx.jpg
demo畫面2 https://i.imgur.com/QT8uPl9.jpg
demo畫面3 https://i.imgur.com/qMntoQF.jpg
基本的構想,就是希望在一個網頁頁面下,就能編輯區域內的各個組 成元素,包括區域地圖、區域敘述、區域整體設定、區域怪物、怪物 掉落物等。 sanc 最早由我主導設定的新型態區域,在其區域目錄下一般會有底下 幾個檔案: area.h 區域怪物相關設定檔 area_long.c 這東西 #include 底下並負責產生三段敘述 └area_long.h 區域三段敘述設定檔 └long1.h long2.h long3.h area_room.c 該區域所有的房間皆 inherit 這個檔 gmonster.c 該區域所有的怪物皆 inherit 這個檔 map1 區域地圖 001-002-003 型式 └map1x 區域地圖 x-x-x 型式 mob/ 該區域怪物檔案產生及存放處 mob_drop 區域怪物掉落物相關設定檔 script_area 該區域房間檔案產生前讀取的產生樣本 script_mob 該區域怪物檔案產生前讀取的產生樣本 傳統編輯區域的方式,是房間檔一個一個編輯、怪物檔一個一個編輯 、怪物的掉落物物件檔案也一個一個編輯,....全都編好後區域就完 成了。 sanc 的新型態區域產生方式則是,當上面的東西都一個一個編輯完 成時,等於我的區域實際上就已經完成了,我只要再執行一些指令 就可。 例如。只要執行以下指令即可產生區域房間檔(不管幾百個): > trans map1 to here by script_area 而 map1 則透過 map1x 產生,map1x 則透過以下網頁產生 sanc 區域地圖產生器 https://sites.google.com/view/randomapv1 而 confarea.htm 可以做到當左邊貼上 x-x 的地圖時,在右邊就自動 完成 001-002-003 .. 這樣的地圖,如下 https://i.imgur.com/h1hkrFa.jpg
就以這個為例,在沒有寫 confarea.htm 前,我一般是先用地圖產生器 產生出三張 x-x 的地圖,然後丟進 sanc 裡頭再透過 makearea 指令, ←┐ 產生對映的 001-002-... 地圖。 │ │ 那為什麼我要寫 confarea.htm 呢? │ │ 因為我已經懶到連這件事都懶得手動去執行了。──→─────────┘ 我覺得很累,沒勁,無氣力。 同樣的,我連要改 area_room.c、編寫 long1.h、long2.h、long3.h、.. 等等的檔案都很懶。而且通常我是一個一個檔案開出來編輯的,後來我 就想到說,反正它們都是文字檔,那就放在同一個記事本檔案內編輯就 好啦! 如下畫面 https://i.imgur.com/KO2lEmz.jpg
它的缺點很明顯,就是檔案落落長,而且常常得 ctrl-home、ctrl-end 以及游標得經常往上往下移動做各種對照及修改。 所以才產生寫網頁來執行這些作業的想法。如網頁所呈現的,它就類似 一個整合的編輯器,在同一個頁面可以編輯產生區域所需的各個部件, 而且可輕鬆以滑鼠做上下移動對照觀看,並且讓它做最有效的資訊呈現 ,例如 map1x 在左邊,map1 在右邊,例如 area_room.c 拆成三個部 份呈現在左、中、右,這樣就不會太長,例如撰寫適當的按鈕讓它保有 地圖及怪物的擴充性等。 而存檔、讀取按鈕讓它可個別執行每個檔案的存檔及讀取。 而當整個網頁一打開時,它就馬上去讀 d:\mud 目錄下有哪些東西,馬 上就將它們做載入及呈現,等於我其它已寫好的區域只要下載到該目錄 ,再打開網頁,馬上就能知道這個區域有哪些設定,並方便我立即做各 種編修或選取複製等作業。 簡單的說,我想有經驗的都知道,coding 區域這種事,隨著年紀的增 長,會變得越來越無力,會覺得很懶,不想動,會有不想再去幹這種事 之類的想法,以及會經常半途而廢 coding 不下去。 confarea.htm 算是我處於該狀態下所找到的其中一種解法。這意思是 ,如果是用 confarea.htm 來寫,或許我就比較有機會能夠完成區域, 它具有以下優點: 一、所有該寫的東西都整合在同一頁面,馬上就能知道還缺什麼未完成 二、容易編寫、順眼、舒服的操作頁面,或許就能讓我繼續寫下去 三、要編修舊區域也很容易,先下載下來,網頁一開就載入了 下一個目標大概就是副本及任務編輯器吧我猜,sanc 有這兩種東西, 但是都跟 coding 區域有著相同的問題,未來希望不管是副本或任務也 都能輕鬆地彈指完成,我實在是受不了傳統的 coding 方式了。 Laechan@Sanc -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.66.104 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/mud/M.1632713564.A.4B4.htmllaechan:轉錄至看板 mud_sanc 09/27 19:14

09/28 12:42, 2年前 , 1F
推!
09/28 12:42, 1F

09/28 20:24, 2年前 , 2F
感謝分享
09/28 20:24, 2F

09/28 20:26, 2年前 , 3F
收入精華區z-3-8-9 感謝L大!
09/28 20:26, 3F

09/29 11:26, 2年前 , 4F
推推推 完全同意結論部分XD 我也幫原始物語MUD做了
09/29 11:26, 4F

09/29 11:27, 2年前 , 5F
一套web版區域編輯器,不然我覺得應該永遠沒動力擴
09/29 11:27, 5F

09/29 11:27, 2年前 , 6F
展新的區域了
09/29 11:27, 6F

10/01 01:58, 2年前 , 7F
第一代diablo出來的時候我們就弄了類似的,但那個時
10/01 01:58, 7F

10/01 01:59, 2年前 , 8F
候這樣搞cpu load變很高IO也會掛 XD 現在我們的玩家
10/01 01:59, 8F

10/01 02:00, 2年前 , 9F
能互動比有新區域還有興趣 就沒有再繼續這塊了.
10/01 02:00, 9F

10/01 02:00, 2年前 , 10F
以現在的硬體真的可以弄很多特別的區域出來.
10/01 02:00, 10F
文章代碼(AID): #1XKJjSIq (mud)