區域編輯器 confarea.htm - 聖殿英雄傳說 MUD

Jake avatar
By Jake
at 2021-09-27T19:14

Table of Contents

※ [本文轉錄自 mud 看板 #1XKJjSIq ]

作者: laechan (揮淚斬馬雲) 看板: mud
標題: [閒聊] 區域編輯器
時間: Mon Sep 27 11:32:33 2021

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 方式了。


[email protected]

--
Tags: 線上

All Comments

Gilbert avatar
By Gilbert
at 2021-10-01T07:58
懶就是創造的原動力
Todd Johnson avatar
By Todd Johnson
at 2021-10-04T20:41

「超越災禍者」登場紀念活動公告

Audriana avatar
By Audriana
at 2021-09-27T17:03
情報來源:https://shadowverse.com/cht/news/detail.php?announce_id=1995 情報懶人包:明天起登入共送8包 10/1開始貫例的10天箱戰 情報詳細內容: 各位玩家您好 為記念「Dawn of Calamity / 超越災 ...

台v小小雪 今天開新卡包 好懶的組牌 來抄

Selena avatar
By Selena
at 2021-09-27T16:10
今天開新卡包 好懶的組牌,來抄抄呆萌天使的想法 不過用她的牌組應該能上分吧 直播網址yt: https://youtu.be/4CthCCoLKKA 直播網址tw: https://twitch.tv/hosinoyasetsu Dc群有sv群歡迎大家一起來聊天:https://discord.gg/ ...

Jake看Overwatch 2

Ursula avatar
By Ursula
at 2021-09-27T15:49
職業選手/教練 Jake對OW2的想法與分析 https://bit.ly/39I1E3w ============================== 5v5是個巨大的改變。每個玩家的個人技術都至關重要。 在一代,決定團戰走向的坦克是最重要的角色。 一代過去五年來大概只有三大陣型:Dive/ Rush/ ...

超越災禍者暫用卡牌組

Todd Johnson avatar
By Todd Johnson
at 2021-09-27T12:44
情報來源:https://shadowverse.com/cht/news/detail.php?announce_id=1983 情報懶人包:本次暫用卡牌組 https://i.imgur.com/XGeYkbI.png 維護後登入可以獲得一張暫用卡牌組兌換卷 ...

區域編輯器

Kumar avatar
By Kumar
at 2021-09-27T11:32
github gist https://gist.github.com/laechan/d5ffd26215017878df2eac34d74bcc07 還有一些東西沒寫好等以後再改,但是大致可以 demo 了。預設存取 本機目錄是 d:\mud,程式語言是簡單的 javascript(難的我不會)。 d ...