Sunday, June 11, 2006
線上遊戲申請得到專利?
線上遊戲的概念從MUD而來, 二十年來沒有人想要把這種概念佔為己有
因為那是這麼多年來眾人智慧的結晶, 不是你們急嗯力或嗯希軟公司自己的研發成果
果然只有夠賤的韓國人加上夠蠢的台灣智財權機關才會搞出這種東西
說這種東西是你家公司的專利, 要不乾脆說地球是你媽捏出來的好了
垃圾公司!
Wednesday, October 26, 2005
我的程式之路
猛然想起clipper是我與程式的起點..
回憶起這條好像有點漫長又不太漫長的與程式的緣分
本來自己就不是喜歡按規矩做事的人..
學程式的路上也是一樣..每次總是寫跟別人不一樣的東西..
很多經驗都是從這些另類的方式上學到的..
寫程式對我而言就跟設計一樣..沒有創意就都別玩了
高中時..工藝課莫名奇妙的學了dbase + clipper寫資料庫
結果那時候全班都是寫班級聯絡簿..只是功能完整度的差異
我則用資料庫寫了一個算命程式..用出生年月日作計算跟查詢
老師改作業的時候一句comment都沒辦法下..
所以我那值得紀念的初體驗..就獻給算命程式啦
接著學ETBasic..同學們寫著使用者輸入個人資料然後給回應
我則寫了一個文字模式的快打旋風..可以選角色..有招式..可以對打..還是中文版呢
我到現在還記得寫出來可以玩的時候的興奮感!
也受到這個遊戲的影響..我開始想學QuickBasic
因為QuickBasic可以進VGA mode..雖然當時只有ETBasic可以有中文
學QuickBasic學到一半..看到了當年的一款遊戲[三國演義]..超驚艷
多方打聽之下才知道那款遊戲是用C寫出來的
激起了想學C的念頭..但是當時那種玩票心態加上迷上打籃球就沒學成功
迷上了籃球後我放棄了程式好幾年..從高二開始打籃球打到大一
一直到了遇上電物系的徐琅老師..他帶著我們玩自動控制
我接觸到了LabView..發現用電腦控制環境的奧妙..
但是當時有很多功能沒有..所以要用C寫外掛
我重拾了程式..這一迷..就停不下來了
也讓我有了好好學寫程式的想法
所以整個電物後來的兩年..我都在學程式寫程式..
後來決定重考資科..選資科原因只是因為我焊電路板焊膩了..
我決定要走純軟體的路線..所以放棄所有資工系
目標就是交大資科跟政大資科..
(雖然後來進來唸了以後才知道差異不大..還是得修數位電路Orz)
重考的時候為了躲兵役..去參加了職業訓練班..
那時候教的就是AutoCAD R12..(其實本來想參加調酒訓練班的)
課程前半畫模具那邊也是我學CAD的第一次..
後半教AutoLISP..我真是樂翻了..想不到在職訓班也可以寫程式
然後班上的同學都在寫一些指令自動化的程式
我是用AutoLISP寫了一個射擊遊戲....哈哈哈
有計分..還可以換武器(有雷射..還有大管的加農砲)..可以玩的很high
唯一缺點就是只能在AutoCAD底下跑..
這我超得意的..老師看到的時候真的傻眼..那個表情讓我印象很深刻
他也是不知道怎麼給我意見..
這同時也是我第一次寫出來的視覺化程式..
進資科後由於高中時打的基礎以Basic最熟..加上當時剛好出了VisualBasic
可以很快速拉出介面..對於視覺化的我而言真是再適合也不過了
所以我暫時放下C..專心寫VB..也開始接很多案子
第一個程式就是鴻友的一個面板模擬程式..也是第一次跟工設的人合作..很快樂..也學到很多設計上的議題
後來進了家超小遊戲公司寫遊戲..代理發行的華彩底下有間工作室的工程師負責審我寫的遊戲
他不相信我是用VB寫的..因為當年的VB最常被罵的就是速度慢
(跑虛擬機器ㄇㄟ..沒辦法..)
我用VB寫的程式比許多人用C寫的速度還快..當然優良效率是得歸功於設計良好的演算法跟資料結構
(從那之後我就相信..程式只是工具..設計師的知識跟組織能力才是關鍵)
期間因為課程需要學了Java....可是我實在沒辦法喜歡這個東西
雖然他設計精良..結構比起C++為人稱道的STL更為漂亮
但是我就是跟Java相性不合..我也不知道為啥
後來寫到用RMI寫出一個線上的算命程式(又是算命程式!?)就不想玩了..
(雖然後來不得已還是得玩J2ME..但是我始終不怎麼喜歡Java)
我VB玩了很久..一直到後來開始寫影像程式..終於遇到了瓶頸
因為VB不能操作指標..陣列的處理本就慢..原本虛擬機器造成的低效率對寫影像是相當吃虧
所以我得考慮其他的環境..必須是原生碼的..語言倒是不重要
第一個挑上的是Delphi..原因只是因為她跟VB很像..拉介面輕鬆
學了Pascal....不過Pascal很龜毛..實在不是我的style
很乾脆的換了同一家公司的C++Builder..然後就定下來了..
回到C的懷抱後第一次寫出來的程式..是幫同學寫一個碩士班考試的倒數計時器....應該有幫上一點提醒的忙吧..哈哈
中間也因為案子的需求學了ASP, PHP跟Perl
perl我倒是沒學的很好..頂多改改東西
ASP是當年NOVA裡一家黑心電腦店要做線上交易的平台
於是就學起來了..但是我討厭ASP+IIS的彈性跟擴充性不佳..也懶得寫ISAPI
所以後來改玩PHP..PHP我倒是學的很不錯..到現在都還在用
Flash裡的ActionScript倒是個程式的特例..actionscript是學javascript的語法
Flash很好學..加上視覺化的介面..是我極喜愛的程式環境
只是我有時會找不到程式碼寫在哪裡..這應該是唯一的困擾..哈哈哈哈
至於組語..我也只有為了讓CPU一次開四個pipeline幫我算點學了一下而已
一切還是為了處理影像的速度啊..
中間學過的script類型更是不計其數了..
從clipper,Basic,C,pascal,ASP,PHP,actionscript..一路這樣玩過來
慢慢地..我開始有種可以看到核心的感覺
看得到一切的核心就是邏輯思考..或者說本質也可以
程式也不過就是外殼的包裝而已..只是思考模型的一種具現化
而我也在其中慢慢能夠體會所謂的"機能美","結構美"
與視覺設計最大的差異..就在程式設計的結果都是相同的..甚至是可預測的
只有過程才是展現美的地方..雖然這些過程是由最單純的機械或是電路單元來執行的..
指揮這些由單純單元構成的複雜結構需要的知識更是遠超過所謂程式語言的範圍
學會了C或甚至組語不代表寫得出任何程式..語言總是會回到語言的範疇
真正的problem solving..是跟語言無關的邏輯組織法則以及對問題對象物的真正了解
對我而言..程式是一種藝術..經過精心設計的產物本就是一種藝術
看到精妙程式的感動絲毫不下於看到好電影看到一幅深入我心的畫或是聽到感動落淚渾身發麻的歌曲
但真正令我感動的..是隱藏在程式碼背後設計者的思路與詮釋問題的過程
那個思緒會直透我心..直接浸淫在設計者的設計中..甚至可能改變我的想法或我的設計
這種強烈的意念..反映出來的就是設計者的靈魂!
我寫的程式也同樣灌入了強烈的意念與靈魂
很單純地這樣靈魂的交流感動..就是程式令我迷戀的原因
(不過看到會痛苦的程式碼也是會有的..致傑的程式我到現在還是沒辦法習慣啊..雖然那實在很有個人風格..Orz)
Tuesday, October 18, 2005
耶耶..BCB終於出新版了
從6之後就一直沒看過borland在動....
之前在BDN上還放話說不會再出C++Builder了..
然後看到Delphi2006整進了C#....就想說大概沒望了
結果還是出了..耶耶耶耶..歡呼
看到BCB2006大概比看到Vista還讓我興奮好幾倍吧
BCB讚啦
Monday, October 10, 2005
哇..我居然現在才知道Flash 8的新功能
枉我自以為很熟Flash....
居然剛剛才被一個認識不到兩個小時的人告知flash 8的新功能
Flash 8支援自製DLL!....讚啦
不過用起來很麻煩, 大概是為了安全性的考量吧
另外他也支援外部陣列設進bitmap物件, 理論上效率應該會很高
得找個時間測一測了....
可是Lua的傳指標方法還沒試出來說....T-T
Wednesday, September 28, 2005
帥氣的微軟....
赫然發現....ㄟ?!怎麼SDK不一樣....
我的notebook上面的是DX9 SDK 2004 Summer版
PC上裝的是DX9 SDK 2005 June版
一看才知道2005版的DX9 SDK沒有directshow的sample
好吧..從notebook上抓過去..
居然..不能執行....
猛然想起凱文老師的話..2005年的DX9改為dynamic linking....
好吧..那也就表示我得找到新版的dll檔..不然就不能跑了
一找就發現....靠....微軟你太帥氣了....
DX9 Feburary版 -> d3dx9_ 24.dll
DX9 April版 -> d3dx9_25.dll
DX9 June版 -> d3dx9_26.dll
DX9 Aug版 -> d3dx9_27.dll
意思也就是..我用了Feb版compile出來的程式..要有24號
用Apr版compile出來的程式..得有25號
沒有就不給跑..不然就是要拿原始檔重新compile....
有沒這麼神啊..搞成dynamic linking還每一版就換一次dll檔的名字..T-T
我真是猜不透你啊....微軟
本來是很不想用..可是看在Unicode以及直接支援IME的份上..還是得回到微軟的懷抱..
誰叫我的目標是多國語系呢....
饒了我吧..微軟..我只是想寫個聊天程式啊....
先從聊天機能做起吧
越來越覺得很多事情其實就是要硬著頭皮踏第一步..才有第二步..才會有後來的發展
事前即便想很多..如果第一步始終踏不下去..那又怎麼可能有未來可言
當然為了避免投資錯誤導致全盤皆輸或是浪費了寶貴的時間..把事情切割成小模組是必要的方式
那麼..就先從聊天機能做起吧
如同之前對於巴哈姆特投票結果那篇的分析..聊天以及所謂公會(其實就是群組功能)的機制是否周全是相當重要的
遊戲可能不吸引人..但是這些社交功能卻是更可以主導人氣的最主要項目
而這樣的聊天功能..是共通的..所以先撰寫這樣的模組並不會是無謂的投資
然而..chat其實很好寫..第一學期的Lua課程我就已經在教如何用socket實作出類MSN的chat程式
以及可以跟人線上聊天的機器人(雖然它只會對某些話有反應)
socket是很好玩的東西..可惜最後沒有人想做網路相關的應用..果然大家還是視覺系的..喜歡玩圖學(ㄟ...離題了)
也因為chat太好寫..要做變化或者說要顯得突出就不容易
現在多半都會加入表情/情緒等能夠顯示個人心理狀態的功能
所以? 現在的社交功能就是 chat + group + emotion?
頂多加上PvP..也就是開扁..不管是為利搶奪/為情義/為奇檬子..大概就是上述功能的綜合..手段不管是明殺或是暗害都一樣
人與人之間的互動..除了開扁/對談/身分認同/情緒傳達..還能有別的嗎?
這可能得要參考小路未來的研究成果吧?
虛擬世界是這樣..但反觀真實世界呢?好像也差不多..差異應該是在於手段的種類多寡
那麼友情愛情親情這些情感又如何在虛擬世界中傳達?在真實世界中這些情感的傳達已經是個大問題了..何況是虛擬世界?
再者..情感究竟算不算情緒的一種也是個爭論
真該死..原本說要從最簡單的開始做起..這麼一搞....
又變得很複雜了......Orz
Wednesday, September 21, 2005
Online遊戲為何都是RPG居多?
線上遊戲的發展也超過五年了..
怎麼到現在還是RPG為主?
難道沒有廠商要出其他類型的遊戲?
現在青一色都是按了怪..然後我方角色就打個不停..
不能像action或是shooting那樣想打誰就打誰
說起來應該不能怪廠商啦..誰不想出點不一樣的遊戲啊
關鍵還是在網路傳遞的delay time上....
delay time的問題居然影響了遊戲類型的發展
不過短時間內似乎還是沒有在技術層面解決的可能性
(從其他層面倒是有可能....)
delay time造成的asynchronous問題雖然可以用預測或是加上delta time的方式解決..
但是delay所耗掉的時間並不會回來..
所以必須是某個程度上可預測的行為狀態才有辦法補救
這也難怪人物行動狀態的FSM在線上遊戲大行其道..
因為RPG系統裡人物的行為狀態是有限的..
戰鬥狀態->魔法狀態 -> ...
更重要的是..這些行為狀態的切換並不快..
玩家下決策..改變指令等行為的轉換極少發生在毫秒單位的時間差裡..這對預測系統而言是比較容易handle的
然而action或是shooting類互動對象轉換迅速..考驗手眼腦反應的遊戲..幾毫秒的delay就會出錯..
即便是預測..這種infinite state 也不可能靠著跳frame或是加delta time算的出來..補內插都沒用
雖然把client frame挪到local端來算可以解決這個問題..但是這樣會讓作弊的可能性大增
(但以現在外掛的氾濫..好像並沒什麼差啊XD)
有些遊戲標榜跳脫RPG格局的遊戲方式
例如:mabinogi, freestyle或是之前有一款看似FPS的遊戲
不過在看過系統後..應該仍不脫離這個限制
mabinogi用類似剪刀石頭布....雖然防禦的時候也要輸入指令
但是狀態的轉換還是在可預測的範圍內....
那款看似FPS的其實也不過是視角轉成first person而已-_-|||
頂多算是MMOFPG(沒有S)..哈哈
freestyle應該是比較類似making match的玩法....
配對後team玩team的(比賽嘛....)..跟主server間的互動應該很少
(跟麻將開桌的原理應該是相同的..基本上應該不太能算是MMOG)
不過matching本來就是我的遊戲的主架構..至少我覺得在兼顧遊戲性跟安全性的架構下..用配對的玩法是遊戲類型的可能性較大也比較有樂趣的
但是為什麼沒有廣為流行我也覺得很奇怪..觀察還不夠吧
類似石器跟crossgate(魔力寶貝?)那樣的配對那裡有問題呢?
是因為交易系統?組隊後的自由度問題?擬真度的問題?還是有其他問題?
需要再多一點點時間觀察....
至於上面提到的非技術層面能夠解決的方式..
就是利用遊戲行為學的研究來修改預測系統..
讓預測系統能夠預測各類型遊戲中使用者的可能判斷以提高預測準確度
例如在射擊遊戲中..如果能預測使用者閃躲子彈或是決定攻擊/閃躲的pattern
不用很長..只要能預測到200ms的話..應該就足以彌補現行網路硬體架構的lag
有點像跟棋王對奕一樣..預測是可以做到的..
但是對奕是選擇最佳化的手段..某個程度上並不算是預測..而只是為了贏
真正的預測還是得遵循行為模式的pattern以及個人化的特徵差異
可是..遊戲行為學....誰研究啊....f-_-a
3D Game Programming?
雖然跟自己想寫的東西有點差距....
但終究算是踏出了一步
希望用一學期的課程逼自己把延宕已久的遊戲寫出來
ARPG勉強算是第二志願的類型....
弄個接近TOP的模式也還算是可以接受..
不過還是得想個法子把企劃搞成自己要的類型
美術都給你做了..企劃也讓你那我還玩個屁?
倒是有點想把引擎換成torque....趁機摸熟也不錯
不過有點擔心大學的鳥事重演..哈哈哈哈
Let's WAIT & SEE!
最近想做的事的進度....
嗯....好多事..卻沒有組織也沒有計畫....唉
維持這樣走一步算一步的方式能走多久呢?
要督促自己一下了
Paper #1 (10%)
Paper #2 (20%)
Memex proposal (60%)
MEL for Automation (0%)
Quest3D fused with Lua (40%)
Making customized channel for Quest3D (60%)
Portrait for Game (0%)
Game concept (0%)
Torque (20%)
Design in Game (10%)
MSN AR (10%)
....不敢再列下去了....Orz.....
嗯!走一步算一步吧!
Tuesday, September 20, 2005
Design Optimization within Representation
可能是自己講的很混亂吧..或是書唸得還不夠多
總覺得沒有表達清楚....
但是基義老師的意思倒是很清楚..
至少第一步的segment simplification就被乾淨地否定掉了....Orz
他認為設計的再現重視在如何以"最好"的方式呈現設計..而不在最簡單的方式
(這裡是我認為我沒講清楚導致誤會的地方..最好就是optimization啊)
基義老師倒是有提到在某些設計概念下..只要一隻筆..不需其他媒材就可以達到重現設計的目的
(這跟我想的就是一樣的啊T-T..我想知道的就是在"什麼"情況下..不論是題材或是設計的思考等)
這樣我就可以在最正確的狀況下用最精確的媒材重現設計....
這也就是我所想說的design optimization within representation
至於抽象思考的部份....我連想都沒想到呢..
....看來路還遠著呢..
多看點書後再去找他研究吧....