精華區beta PttNewhand 關於我們 聯絡資訊
作者: piaip (piaip) 看板: BBSLua 標題: [文件] BBS-Lua 簡介 時間: Sun Jan 6 21:52:29 2008 如果你是來體驗 BBS-Lua 的,請在板上找任一篇開頭為 [Lua ] 的文章, 閱讀後按下 L 鍵(大小寫皆可) 即可 =========================================================================== 本文件的最新版請至 PTT2 BBSLua 板取得 本文件為推廣說明用,轉錄不需通知原作者 (推文會被不定期刪除,請見諒) =========================================================================== ● 什麼是 BBS-Lua? BBS-Lua 是一個實驗性的計畫,由 piaip 開發並於 2008 年開始在 PTT2 BBS (ptt2.cc) 站開始試用。 正如它的名字,這個計畫的目的就是「在 BBS 上執行 Lua(程式)」。 Lua 是什麼呢? Lua 唸成「LOO-ah」(嚕~啊),它是一個程式語言, 被大量的用在各種遊戲平台中,包括著名的魔獸世界 (Wow) UI 界面 也是使用 Lua 來製作。 Lua 的相關資訊請見 http://www.lua.org/ 所以, BBS-Lua,就是要「讓使用者可以在 BBS 上輕易的用 Lua 寫程式」。 ● 為何要開發此計畫? BBS-Lua 的誕生有好幾個因素。 最主要的因素是來自於它的前身 - 互動式 BBS 動畫。 在 2007 年末, PTT/PTT2 開始實裝新一代的 pmore 2007 動畫系統, 內含了不少互動與即時的指令,用來方便製作多重結局的動畫。 這些指令後來 被拿來試作不少小遊戲,但畢竟是以動畫為出發點設計的系統,沒有變數、迴圈, 於是只要遊戲的狀態與變數一多,需要產生的畫面就以指數成長。 基於這個經驗,我們決定另外創造一個全新的互動系統,以真正的程式語言為基礎, 獨立於動畫之外 - 也就是 BBS-Lua 計畫。 另外,使用此計畫還有不少的好處: - 減輕 BBS 非核心系統的開發負擔 現有 BBS 有半數以上跟效率無關的程式 (包含許多遊戲)。 使用 BBS-Lua 可以 把這些部份全部獨立出來,修改程式也不用重新編譯或啟動 BBS - 方便移植程式 傳統的 BBS 程式雖是用 C 寫成,但各家分岐仍然過大 (Maple 2.x, Maple 3, Firebird, PTT, ...),導致程式碼流通不易。 最明顯的例子就是遊戲: 這家 寫的遊戲要讓另一個分支的 BBS 能跑,通常都要下一番功夫。 BBS-Lua 計畫,可以允許 BBS 的底層南轅北轍,只要支援同樣的 BBS-Lua 標準, 就可以讓 BBS-Lua 的程式幾乎一行都不用改就可以在別處執行。 - 增進程式交流 我們常看到某些使用者提出一些如實況專播之類有趣而新奇的想法,但由於懂得 BBS 程式設計的人實在太少、門檻太高,所以讓這些想法最後都沒有實現的機會。 另外由於傳統 BBS 寫了某些功能後並不能直接方便的搬到其它站台上用,間接降低 了小站開發新功能的意願。 若是一般使用者也能進行創作,相信 BBS 上可用的 服務數目會大增,品質也會增加。 以往你覺得功能不好用、遊戲不好玩、美工不夠好,只能每日一信建議站長改; 現在你可以自己動手作! ● 版權/智財權/著作權的保護? 由於 BBS-Lua 與文章結合的本質,所有的 BBS-Lua 程式碼都是可見的。 所以你可以參考別人的程式來改善自己的程式;但請注意 這不代表作者放棄對該程式的版權/智財權/著作權。 把程式碼藏起來也不代表就是對智財權的保護,所以我們不會改變目前的設計。 相反的,我們鼓勵所有的創作者在程式碼內宣告自己想使用的授權,也希望 所有的使用者能尊重創作者的權利。 當然我們更歡迎創作者們使用各種開放源碼 (Open Source) 的授權, 如: GPL/LGPL http://www.gnu.org/licenses/ BSD License http://www.opensource.org/licenses/bsd-license.php MIT License http://www.opensource.org/licenses/mit-license.php 原始的 Lua 使用的就是 MIT License。 其它更多資訊可參考 www.opensource.org (英) 或 www.openfoundry.org (中文)。 若想使用非程式專屬的授權方式,還可以參考 Createive Commons [創用CC] http://creativecommons.org.tw/ 。 ● 我要如何參與 / 使用 BBS-Lua? 要體驗 BBS-Lua, 可以先找有內含 BBS-Lua 程式的文章。 它們通常會 在文內出現如 --#BBSLUA 這樣的一行。 PTT2 BBSLua 板上 [Lua] [程式] [BBSLua] 或 [範例] 通常都是此類文章。 找到以後,進入閱讀畫面後按下 L 鍵 (大小寫皆可) 就可以執行 BBS-Lua 程式了。 另外,所有的 BBS-Lua 程式都可以在任何時候按下 Ctrl-C 中斷執行。 如果你有程式設計的基礎或是對於製作 BBS-Lua 有興趣,請到 ptt2.cc 的 BBSLua 板,可以找到最新版的語法、API文件與說明。 ● BBS-Lua 的未來 / 以後會有別的 BBS 也支援嗎? 基本上 PTT1/PTT2 應該是會支援,雖然 PTT1 的時程未定(或許在2009前)。 不過也要視 PTT2 測試的狀況而定。 我們無法保證未來一定會實裝。 我們很歡迎別的 BBS 一起來實作 BBSLua ,不過畢竟這不是我們能決定的囉~ 如果未來發展的好,應該是很有機會的事。 關於 BBS-Lua 的發展計畫,我們希望在 2008 結束前能制定一個 1.0 標準版, 有足夠的 API 來完成大部份 BBS 單人環境能作的事 (ex, 遊戲) 及能在單機上執行的模擬環境與 SDK (0.116 後已提供 Win32 模擬器) 2.0 之後則是以兩人以上互動的架構為主軸。 ● 我有問題 / 我找到 Bug / 我想發表程式 目前 PTT2 的 BBSLua 板是最適合作這些事的地方。 -- ※ 發信站: 批踢踢兔(ptt2.cc) ◆ From: 140.112.30.54 ReverbHorn:轉錄至某隱形看板 02/11 18:31 Ekaterine:轉錄至看板 SeekForBliss 02/11 19:57 ottokang:轉錄至看板 OttoCom 04/23 17:28 FinFu:轉錄至看板 FinFu 05/09 00:01 HardBlue:轉錄至某隱形看板 06/12 22:32 ramknarf:轉錄至某隱形看板 09/11 17:19 jangwei:轉錄至某隱形看板 10/30 00:35 mgzx:轉錄至看板 mgzx 11/20 17:28 CYBASTER:轉錄至看板 CYBASTER 02/22 14:45