2011年3月23日 星期三

小精靈發佈

老實說,我沒想到這個遊戲是以【作為我結拜兄弟的生日禮物】這樣的方式結案
不過我覺得雖然是以這樣的方式結案,不過目的是一樣達到了

自己從頭跑完一次製作遊戲的流程
把所有試玩者的意見都修改了 
嘗試了把舊的遊戲要素重新融合的構想
寫出了很機巴的AI

最後當作我結拜兄弟的生日禮物,也挺有意義 

遊戲一共兩關,原本有許多關卡構想的,後來都因為忙著做一個又一個的專案而中止
第一關是傳統的小精靈
第二關則是融合碰碰車與小精靈這兩款遊戲,玩家吃到旗子後,按空白鍵可以放煙霧,第二關的AI遠比第一關要高出許多,想挑戰的人可以試試

發佈檔案在下面的連結

Kazuya

2011年3月8日 星期二

BabyHome匿名功能出包之我見

來!先來複習一下這起事件
http://udn.com/NEWS/LIFE/LIF1/6176321.shtml

其實,在我來看,這不是一個技術問題,而是哲學問題

我每次只要一想到這件事,我就忍不住一直笑,為什麼呢?我們從幾個角度來切入思考,你就會發現這整個事件的邏輯有多荒謬



隱私
人真的很妙
你把你最最最私密的事放到最最最公開的社群網路上
然後指望一個你完全不懂的程式技術來捍衛你的隱私
這就好比是你把錢拿給陌生人保管,還期待他能幫你賺錢一樣的不切實際
如果說真的是私密的事,就不該放到社群網路上,如果你放到了社群網路上,就不能期待他永遠保密,連美國的外交機密都被公開了,你那點家務事放在一個民間社群網站上可能保密嗎?如果真能做到,那個程式設計團隊就不會幫寶貝屋寫程式,他們會幫五角大廈寫程式

小結:分享隱私的吸引力確實很迷人,但後果是致命的,這就叫做致命的吸引力



匿名
我想說到這邊,你應該還沒體會到這背後恐怖的意義,所以接下來我要講的就是匿名這件事
這也是最讓我笑不停的地方
就算程式修改好了,這些匿名也只是假匿名
如果是真的匿名,不管程式有沒問題,根本不可能知道是誰寫的文章
因為真正的匿名發文,系統是不會記錄文章與發文者之間的關聯
現在這些會員以為程式修改好了,匿名了,安全了
但那只是程式造成的假象

換言之,只是你眼中看不到而已,但並不表示他不存在!


匿名技術的做法有很多種
但不外乎是在前端透過javacript操作DOM把資料隱藏起來的,要不就是直接在後端把個資等敏感資料直接忽略不讀取,但不管是哪種做法,後面的資料庫還是原封不動地記錄著,記錄著文章與發文者之間的關聯,只要透過幾個簡單的SQL語法,就能輕鬆的查出幾點幾分誰在哪邊發什麼文


所以,這些會員以為現在很安全了
因為他們從畫面上看不到,別人也無法從畫面上查到他們的名字
所以可以肆無忌憚的發文了
但是系統卻原封不動地記錄著
你的隱私其實正完整的被記錄下來
等待有心人揭發

小結:矇上眼睛就以為看不見,摀上耳朵就以為聽不到,你以為真理在心中嗎?錯!真理在資料庫中,但創痛絕對會在你胸口


互信
在真實世界中,人很難彼此互信,用種種方法建立關係,利益互換,恐怖平衡,才能建立互信基礎,但在虛擬世界中,卻簡簡單單就掏心掏肺,再精明幹練的人上了網就變成像小孩一樣,什麼都信,或許是因為隔著螢幕,有一層朦朧美吧!或許是陌生人所以比較沒有心防,所以什麼都敢講



你會隨便路上找一個人分享隱私嗎?你會到台北車站拿著擴音器對全體旅客分享隱私嗎?


那你為什麼會想要在社群當中分享隱私,還指望人家永遠不知道,這在我這個技術人員眼中,跟拿擴音器在台北車站機哩刮拉其實沒什麼差別,差別只在於,用講的比較快.....

小結:當你以為全世界都不知道你是誰,赤裸裸的躺在網路沙灘上做日光浴時,你已經被看光了!


系統安全
好,一定會有人問啦!講那麼多,那為什麼不直接做真正的匿名就好,非要搞個假匿名呢?
答案很簡單,就是系統安全性問題

如果今天做到了真正的匿名,什麼都不記錄,不是不行,只是這樣做下去,萬一將來發生了什麼糾紛,那是真的找不到的冤親債主的,你找網管也沒用,再來對於網管來說,如果有人故意搗亂,比方說發廣告信洗版,他也無從擋起,這對系統安全並不是件好事,為了滿足某些人戴面具脫光衣服給人家看的慾望而犧牲掉系統安全,我想任何一個有腦的設計者都不會這麼做,我也一樣

小結:在私密性跟系統安全性之間,兩個極端都是玩火


解決之道
那到底有什麼辦法可以保護自己又利於管理呢?
最好的方式就是完全透明,權責自負,把真實世界的規則帶進來
然後你就會發現,去信賴一個連你自己都不懂的東西來保護你最珍貴的秘密,是非常荒謬的,社群網站其實就跟同學會一樣,你的態度應該是把他當成你日常生活的一部份,而不是情感的避風港,更不是隱私的保險箱,這才是在網路世界中保護自己的不二法門
人類期待電腦可以幫助人類做許多許多的事,尤其是管理,但最後,還是回歸到人管

2011年1月30日 星期日

[Flex應用] 動態多國語系模組(Flex+php+MySQL)

好久沒更新BLOG,主要是本法師真的是忙到快被鬼拖走.....
事實上還真的是蠻多東西可以更新的

不過忙歸忙,該做的研究還是要做

在21世紀裡,相信將會是一個地球村的時代,網站也不例外,所以多國語系往往變成網站的必要條件,只是以傳統的做法,做多國語系要不就是事先預定要做幾國(如中、英、日),要不就是先預留幾個欄位以利後續擴充,但說來說去都不脫寫死的方法,UI部分畢竟是固定的,可以透過語系設定檔的方式來做到動態的效果,但資料庫呢?如果說今天有一間公司,他本身有自己的產品資料庫,現在擴大營業了,要走向亞洲區,所以原本的正體中文與簡體中文不夠用,他還要多日文與韓文,此時想必資料庫的結構還有後端程式碼都必需要跟著改,不僅如此,連後台上架的表單也要跟著改;如果再過幾年,他又擴大營業,跨足歐洲,這下又要多英、德、法.....等歐洲語系,然後過幾年後,公司業績不佳,結束了某些國家的業務,語系又要減少,我想講到這邊,如果你是用傳統的方式作多國語系的話,應該已經瘋掉了

有沒有什麼辦法可以避免這樣的窘(冏)境?透過一種設計模式,做到一個真正動態的多國語系,不管你要增加還是減少語系,只要透過簡單的設定,所有介面包含資料庫都會跟著動態調整,這就是這次研究的主題

先來看成果
先設定語系,多個語系以逗號隔開
然後就會動態產生對應的語系欄位
表單也會動態的變化,產生出對應的語系欄位
今年是兔年,以兔子為例,輸入正體中文
輸入英文
輸入日文

然後就對應顯示到各語系欄位上

 好,到這邊都是一般的狀況,如果說現在突然要多一個新的語系

回到語系設定裡面,把要新增的語系打上去,我們以德文為例,新增德文
顯示的欄位就多了德文

新增的表單也自動多了德文欄位
修改的表單也跟著改變了,而原本的資料,透過修改的功能,也就能新增新的語系資料
輸入德文的兔子
修改完成
如果這時要減少語系
到語系設定裡面,把不要的語系刪掉,以日文為例
日文就消失了
當然表單也伴隨修改了
當然這只是一個概念的展示,其實稍微有一點sense的話,就可以聯想到這樣的設計模式可以套用到具有後台的產品資料庫上,範例中的textarea(也可變成text input),就是產品後台的說明 (或產品名稱),然後只要一新增或減少語系,前端的UI就會自動多一個或少一個tab,而後端的程式及資料庫在這種設計模式下,將具有彈性調整的能力,不管你如何增減語系,都不需要變更後端的程式,也不需要變更資料庫的結構,這個簡單範例,我是以Flex+php+MySQL實作,當然你也可以用其他相關的程式來實作

我也把這個範例的連結附給各位,有興趣的可以上去玩玩看
http://www.cloudpeak.idv.tw/multilanguagedemo/multilanguagedemo.html

Kazuya

2010年12月4日 星期六

阿扁到底會關多久?

阿扁到底要關多久的問題?
這個問題要考慮兩點
1. 刑期
一般假釋條件是以「服刑的二分之一(初犯)」或是「三分之二(累犯)」 
2. 累進處遇的分數
累進處遇的分數要到2級, 且作業、教化、操行每項成績分數連續三個月保持三分以上


刑期的話 要看最後合併執行刑是多少 我猜14年應該跑不掉
阿扁之前在看守所關的750天 算簡單一點2年好了
(14-2)/2 最快也要6年才能假釋


再來是累進處遇的分數
2級要幾分呢?
行刑累進處遇條例 19條大家可以看一下

                                第一級  第二級  第三級  第四級
├──┼───────────┼───┼───┼───┼───┤
│五  │有期徒刑九年以上十二年│二一六│一八○│一四四│一○八│
│    │未滿                  │分    │分    │分    │分    │
├──┼───────────┼───┼───┼───┼───┤
│六  │有期徒刑十二年以上十五│二五二│二一六│一八○│一四四│
│    │年未滿                │分    │分    │分    │分    │
├──┼───────────┼───┼───┼───┼───┤
│七  │有期徒刑十五年以上十八│二八八│二五二│二一六│一八○│
│    │年未滿                │分    │分    │分    │分    │
├──┼───────────┼───┼───┼───┼───┤
│八  │有期徒刑十八年以上二十│三二四│二八八│二五二│二一六│
│    │一年未滿              │分    │分    │分    │分    │
├──┼───────────┼───┼───┼───┼───┤
│九  │有期徒刑二十一年以上二│三六○│三二四│二八八│二五二│
│    │十四年未滿            │分    │分    │分    │分    │
├──┼───────────┼───┼───┼───┼───┤


所以要看檢察官定的執行刑 先以12~15年 來算好了

每個月可拿的分數  行刑累進處遇條例 20條
(一)教化結果最高分數四分。   
(二)作業最高分數四分。   
(三)操行最高分數四分。 

但是施行細則裡有說 (21條)

監獄管理人員對各級受刑人之成績分數,應依照累進處遇由嚴而寬之原則,
嚴加核記。各級受刑人每月教化、操行成績分數,在下列標準以上者,
應提出具體事證,監務委員會並得複查核減之。  
 一、一般受刑人:   
(一)第四級受刑人教化、操行各二.五分。   
(二)第三級受刑人教化、操行各三.0分。   
(三)第二級受刑人教化、操行各三.五分。   
(四)第一級受刑人教化、操行各四.0分。 

然後作業的分數是
作業成績記分標準如左:   
一、一般受刑人作業以一般勞動能率(工作數量)為課程時,其每日成績分數依左列標準記分:
(一)課程超過者四分。   
(二)課程終結者三.五分。   
(三)課程完成十分之八以上未終結者三分。   
(四)課程完成十分之六以上未滿十分之八者二.五分。   
(五)課程完成十分之四以上未滿十分之六者二分。   
(六)課程完成十分之二以上未滿十分之四者一分。   
(七)課程完成十分之二者零分。 


假如不要算上特殊的加分或扣分, 作業分數算上滿分
4級受刑人,一個月可以拿的分數  9分 16個月後,可以升到3級
3級受刑人,一個月可以拿到分數 10分,18個月後, 可以升到2級 
total 34個月 還不到3年就可以集滿

但是如果不作業的話
4級受刑人,一個月可以拿的分數  5分 29個月後,可以升到3級
3級受刑人,一個月可以拿到分數 6分,30個月後, 可以升到2級  
60個月 大概5年可以集滿分數 

所以看起來阿扁作不作業, 對他的假釋影響不大
但是累進處遇的級數不同, 在監獄裡的爽度也不同, 比如說接見, 要三級才能接見非親屬
(但是有立委可以送小籠包所以沒差這樣??)

而且以他其他案子來說, 最後執行刑到上限20年的機會很大...
對阿扁來說, 最快的方法,應該是期望2012能民進黨當選, 然後把他放出來這樣


最後補兩個八掛
1. 北監的伙食, 其實比北所的看起來衛生好吃多了
2. 阿扁沒有特權...才怪
   北監這幾年超收的嚴重, 一間牢房5~6坪, (有圖有真像 http://ppt.cc/mweA)
   要擠16~22人, 以阿扁4級的菜鳥, 普通人的話應該是去擠這種牢房才是
   怎麼可能住獨居房然後2人1間這樣...
   還是有享受到前元首的禮遇啦

新分類成立

這邊要先公告一件事給各位朋友知道,就是有個新分類出現了,叫做【逍遙法外】,這個分類,主要是談專業的法律問題,當然,講到這邊,認識我的人都知道,這個區一定是我老婆來主筆了,因為他是法律人,我不是,特別公告出來的原因也是如此,一方面告訴大家這一塊不是我寫的,另一方面則是告訴大家有什麼法律問題的話,可以在這一個區塊提出詢問,我老婆會盡力協助各位解決法律問題的

各位,好久不見

各位朋友

好久不見了!
距本法師電腦爆炸,大概有兩三個月的時間沒更新BLOG
主要是本法師跑去度蜜月一個月,回來後一堆辦公室的事、專案和研發計畫等著本法師去處理
所以也沒時間更新BLOG
真的是很抱歉啊!

我會盡可能更新的

2010年8月23日 星期一

遊戲設計概論(3)-4

3.4    獎賞回饋
有付出就有收穫,這是在遊戲世界中不變的法則,當玩家付出了努力達成了某些目標,在遊戲設計上就必須給予玩家獎賞回饋,這樣才能不斷的刺激玩家完成下一個目標,隨著一個個目標的達成,最後就會堆疊到遊戲的最後目標。

1.    種類設計
獎賞的種類有很多,可能是角色能力的提升,可能是道具,可能是得分,可能是進一步的遊戲資訊,不過在所有的獎賞中,都不跳出一個原則,就是對玩家造成一種永久或暫時性的提升效果,使得遊戲變得更簡單。當玩家完成一個小的目標時,所給予的獎賞往往是暫時性的提升效果,如子彈數增加、隱形…..等,一方面讓玩家接下來的關卡較好進行,二方面也補足玩家為完成前一目標所耗費的補給,所以暫時性的效果往往都是消耗品的補給。永久性的效果,則是發生在玩家完成一個階段目標之後,遊戲會給予玩家能力提升或給予永久性的道具,如車輛、特殊武器、習得新法術…..等,目的是讓玩家成長變強,以邁向新的里程碑,而當玩家得到這樣的獎賞時,也會特別有成就感,進而凸顯該目標的重要性。

2.    程度設計
決定在什麼狀況下給予何種獎賞固然很重要,但獎賞的程度設計也是重點之一,玩家非常的精明而且挑剔,如果說完成一個目標給予的獎賞太小,這目標會被跳過,如果給的太大,那玩家會更貪心,希望下一個目標的獎賞能夠更大,這樣會造成獎賞通膨的現象。獎賞的程度設計一定要有他的潛在規則,不能時有時無,也不能大小失當,比方說,如果今天在惡魔城中,打倒頭目時,會掉補血球,但如果突然有其中一個不會掉補血球,玩家勢必非常錯愕,甚至起度爛,因為下一關會很難過。再比方說,如果有一個遊戲,打倒普通小敵人時,就會掉出增加HP最大值的物品,這個獎賞就過大,到最後玩家的HP會非常非常的多,多到他連吃都懶得吃,這時加HP最大值的獎賞就通膨了,變得毫無意義。

3.    期望設計
在獎賞的設計中,最後一個要注意的重點是,設計者必須決定獎賞的期望設計是隨機性還是可預期性。舉例來說,超級瑪莉裡的金幣,每蒐集到100枚可以加一隻,這就是屬於可預期性獎賞,只要玩家努力蒐集100枚金幣,就可以加一隻。但如果說今天改成每蒐集到一枚金幣,有1/100的機率會加一隻,這就變成隨機性獎賞,雖然以機率的中央極限定律來看,讓玩家蒐集個10000枚金幣下來,兩種獎賞方式加隻的次數應該是一樣,但在心理學上對玩家的影響則大不相同。可預期性的獎賞,帶給玩家的遊戲張力是有峰值的,當玩家剛開始遊戲時,並不會很熱衷於蒐集金幣,而是隨著遊戲的進展逐漸蒐集,但是到了50枚以上後,玩家會開始注意金幣的存在了,開始積極的去蒐集金幣,當到了80枚以上時,玩家甚至會願意冒險去做高難度的動作吃到金幣,或是找到隱藏的金幣磚塊,以求多拿幾枚金幣,趕快加一隻,加一隻之後,玩家對金幣的追求曲線又再度回到谷底,週而復始。而隨機性的獎賞則是玩家隨時都在期待加隻的來臨,但這個期待不會有峰值,永遠都是平的,因此也不會特別冒險去蒐集金幣,心態上會變成雖然有期待,但路上碰到吃一吃,碰個運氣看看就好。因此雖然獲得獎賞的機率一樣,但是對玩家的行為則大不相同,這兩種獎賞的期望設計並沒有好壞之分,端看遊戲類型以及你希望玩家在遊戲中的行為去設計。

4.    提示設計
前面已經提到獎賞一定與玩家達成的目標有關,如果是大的獎賞,這很容易辨識,但一些暫時性的小獎賞,如補血、補魔、加分等,玩家很容易發生吃到了但不明白效果在哪的狀況,所以這類的獎賞必須伴隨著音效或圖片效果,如吃到補血藥,發出效果音,血條亮一下,然後變長,這樣就能把玩家的動作與物件和發生效果連結在一起,玩家馬上就知道,原來這玩意兒叫補血藥,吃了會補血。