iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0
自我挑戰組

30天遊戲原型開發系列 第 12

Day11 mudlib研究: 東方故事ES2 (更新1)

今天時間非常不夠用…內容少請見諒

看完RW的程式碼之後意猶未盡,所以找了東方故事ES2的程式碼來看。據說唐鳳當初也曾經參與過裡面遊戲的開發

原始碼下載
ES2 mudlib 規格文件(2.1.4 Draft) by annihilator

ES2算是中文MUD的鼻祖,風格是武俠風,我猜那時候讀金庸小說的人還是很多,剛好MUD實現了大家的武俠夢,這應該也比金庸群俠傳online早非常多(暴露年齡…)。

\ES2\mudlib\feature\char\combat.c
因為這MUD的遊戲風格主要還是戰鬥,所以就先看了這個

東方故事和RW的架構不太一樣,所以還是要熟悉一下

\趕死線.......................

更新1:補完後來看的資料,對於當天沒寫夠的部份,在後面的日子努力就好:)

東方故事ES2在原始碼釋出的內容一樣也沒什麼區域內容,僅留有一個人類初始城鎮的區域—雪亭鎮(ES2\mudlib\d\snow)。
如果要觀摩學習的話,應該也足夠了,最主要還是自己的想像力。

剩下部分是跟系統有關的,只想開發遊戲內容的人應該可以略過。

怎麼從一個mudos開始構架一個LPC library by darks 2001/06/05
這篇很完整解釋從基礎建立MUD的方法,重要的經驗傳承

關於新LIB的一點想法 by jeeny 2001/08/22
談到MUD凋零的部份,如何從文字遊戲中表現最大的張力?這是個值得思考的問題。

以上兩篇都來自於這裡,前輩們整理的wiki,提供給wiz參考

[心得] mud 網頁連線的開發 (以es2系統為範例) by typers 2018/12/14
這篇是讓MUD支援websocket的魔改,還有一些跟系統有關的部份,不過會偏離遊戲內容開發的部份,所以就不放太多了。

總結來說,我在MUD上面學到很多,了解到系統自由度能夠給予多大的設計彈性,明白建構一個龐大的世界底下需要打多深的地基。這些基礎有一些是已經完備好的,只是在於後人如何善加利用。

有兩個蠻在意的問題:

  1. LPMUD內的LPC直譯器可否能加以擴充?或者置換成其他腳本語言lua, python, ruby來獲得新生?(抽象化, 效能優化)
  2. mudlib這種mixin的開發風格怎麼在其他語言應用?

用mixin的風格寫程式真的跟堆積木的感覺很像,在積木種類多到一種程度的時候,真的會覺得想要做什麼幾乎都不是問題,前提是重要基礎建設已經幫你弄好了。很久沒遇到這種讓人感覺到可以一直開腦洞的系統

NEXT: mudlib剩下最後一個想研究的tinymud,然後差不多要開始摸rougue-like之類的東西了。


上一篇
Day10 mudlib研究筆記:簡易導覽、物件繼承關係
下一篇
Day12 mud研究: TinyMUD (更1)
系列文
30天遊戲原型開發31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言