星期一, 2月 20, 2012

0.5lbs彈幕系統(LUA-based Barrage System, ver.0.5):簡介與火力展示


 ▲ Hans-Christian Vortisch, "GURPS Modern Firepower", Steve Jackson Games, 2002
 
快速連結:0.5lbs彈幕系統:UI與API

0.5lbs彈幕系統(LUA-based Barrage System, ver.0.5)是一款使用OpenGL/GLUT為UI架構、並以lua內嵌語言為基礎的彈幕腳本描述系統。它允許使用者以物件導向的語言結構簡單地建立出……


  事實證明我很不會寫正經八百的推薦/介紹文,而且現在還是禮拜天晚上,時間難得我們就稍微來聊一聊這小玩具的前因後果吧。

 
  當年狂人在Tib的據點第一眼看到東方妖妖夢的演出時,每一個單獨的「彈」的屬性似乎簡單異常,可是利用周期函數配合起來的視覺效果卻是那麼的變幻無窮、風情萬種。從那個時候起,大概就下定了決心,某一天一定要用自己的手重現如此美麗的結構。
 
  後來儘管很快的歸納出所需要的資料結構,但實作時卻在「如何描述動作」上栽了跟頭:當年天真地想要自己開發出一套專用的腳本語言,勉強完成設計,但在自由度與parsing方面的取捨始終不得要領,兩年後修了編譯器設計後更是正式放棄了這個念頭……
 
  直到最近接觸到lua,這整個念頭才在狂人的腦海裡死灰復燃起來。
 
  一開始只是因為這是魔獸世界裡使用者插件(Add-on)中所指定使用的腳本語言,在網路上看了幾篇教學,隨即找到半路前輩的推薦文章(好文推薦!),加上狂人自製3D引擎的計畫也卡在物件資料描述的瓶頸上,乾脆挑了一個主題實際邊看邊學。最後完成的東西便是0.5lbs了。
 
  實際上這裡面的code亂糟糟,UI部分與彈幕驅動部分沒有分離的很乾淨,暫不考慮以引擎的方式釋出。總而言之就先來做點火力展示吧,API以及介面使用說明/程式本體的部分等過幾天有空再補。
  
媽媽說,火力展示最重要的第一要務,便是把自己火力最強大的東西抬出來。In this case,
Vocal Sign "Chorus Master" / 聲符「コーラスマスター」

(展開/收起原始碼)
  
為了達成比較複雜的花樣,code不免變得有點囉囉嗦嗦的,接下來就簡潔性而言,請各位看官觀賞的是這個,
Spell "Fire Ball" / 咒文「火球術」

(展開/收起原始碼)
  
內建追尾彈
Technique "Arcade Missle" / テクニーク「アーケード・ミサイル」

(展開/收起原始碼)
  
永遠的戴寶樂
Skill "Frozen Orb" / スキル「フローズン・オーブ」

(展開/收起原始碼)
  
日文什麼的就不要太在意了,明天還是要上班,各位晚安~
  
 

0 意見:

張貼留言

Related Posts Plugin for WordPress, Blogger...