Playmaker_DuelingBlades

PlayMaker 初試

PlayMaker係一個Unity Plugin for Finite State Machine (FSM),
可以drag & drop咁edit個state diagram。
如果你試過用code寫有關state ge嘢你就知道佢有幾好啦XD
其實買咗佢好耐一直冇時間試,
而家終於可以試返夠本:P

 Asset Store – Playmaker
Playmaker_DuelingBlades
DreamfallThumb

基本功能

  • 建造一個State
  • 喺個state度加transition(每一個transition對應一個event),定義個transition會去邊個state(drag個transition就會拉到條箭咀出黎)
  • 喺個state度加action,一到呢個state佢就會做曬成個state嘅action。本身有好多action可以㨂,或者自己做custom action
  • Action可以控制send邊個event同幾時send,如果個state有相應嘅transition,個FSM就會switch去個transition所指嘅state
  • State可以接收global transition,無論佢本身喺邊個state一收到global event都會跳去相應嘅state
  • 有variable可以用。當喺action填資料嗰陣可以直接填上值或者variable。可以令variable顯示喺inspector度
  • 一個FSM只有一個current state(呢個絕對係feature唔係limitation!)。當個editor play緊個FSM dialog會highlight current state/行過乜嘢state。可以喺個state度set break point做debug,亦可以即時睇到每個variable嘅值(睇到值呢個feature應該歸功於unity XD)

用途

  • Organic AI - 好多時生物嘅AI都係一個FSM:patrol,follow,fire,die⋯
  • Trigger - 例如一度門,有”打開”同”關閉”兩個state
  • Stated Control - 如果做一尐複雜嘅control,例如touch dragging gesture,可能會需要考慮”touch down”之前同之後,”touch up”之前同之後做唔同嘢,有2至4個state
  • Stated UI – 例如Button會有Enable/Disable兩個state,或者可能會有唔同state show唔同function

如果用code做FSM,
好可能就係一個function implement一個state,
未必做到尐同state有關嘅功能,
例如返到上一個state,檢查執行緊乜嘢state,
離開state個陣做某尐action,從外部接收event等等。
更改transition可能要search返個function喺邊,
然後夾硬改個function call@@
改code個陣又要好記得個workflow係點,
或者要自己做好個doc記低佢。

PlayMaker嘅好處就係你做個個machine本身就係一個diagram,
做FSM有關嘅改動都好方便。
佢亦要求每一個state/event都要命名,
其他人一睇唔知detail都知道個大概。
就算係自己改返自己嘢,
見到個diagram都會remind返好多嘢。

缺點

1. 每一個action都係一個script
雖然可以做custom action但係比較麻煩,
就算係做加減乘除都要用action做,
所以如果做大量procedural嘢就會好煩,
一個一個action係咁加會耐過打幾行code好多。
不過可以用send event嘅方法call其他MonoBehavior,
PlayMaker FSM就做返FSM相關嘢然後call 其他script procedure。
如果佢有個好方便嘅UI link去相關嘅script就正囉~

2. 重用性低
例如有一個state有好多action,
想做另一個有同樣action嘅state只可以copy and paste⋯
(或者save template再paste返出黎但係都係冇分別 lol)
除非你做咗個custom action出黎比唔同嘅state用。

3. 唔支援array
本身係冇任何同array有關嘅action/variable type,
更加唔洗講looping。
就算做咗同array有關嘅custom action,
looping 好可能都係由兩個state互相指住黎做。
暫時未諗到有咩好方法可以處理,
大不了所有array有關嘅嘢交返曬比script做

4. Edit mode有bug
呢個可以話係最大嘅缺點~_~
有時undo嘢會有bug(undo的確係唔易做嘅事⋯),
好多時undo完要reload個editor先見到佢係undo咗,
有時改完action sequence之後field value會錯@@
總之做完嘢save咗先,有咩事就reload個scene :P
不過當你做好個diagram去run就未見到有bug,
都係edit個陣尐細bug無傷大雅

其實頭兩個缺點都可以用custom action解決,
而且做custom action都幾好玩㗎XD
大家有興趣可以試下。

初試後感

第一次試我故意將所有都用PlayMaker做,
成個UI Logic同Control都係,
結果當然好悲劇XD

Screen Shot 2014-06-08 at 10.43.14 am

因為每一個button都起碼要做一個state,
咁十幾個button就有十幾個state,
再加幾個state去check邊粒button比人禁,
就變咗一個大到唔想睇嘅diagram XD。

亦由於state嘅重用性低,
加一個case又起碼要加一個event一個transition同一個stage,
為咗方便又要加一個variable(下面再詳細講),
所以如果想加一個同之前類似嘅button都要搞一輪zzz

當中有個FSM設計咗幾個global event,
諗住好似function call咁,call一個event做一樣嘢,
但係每次call都要用幾個action去set幾個parameter,
再用一個action去call,
可能仲要寫多個stage去等個FSM return

結論當然係應該將同FSM冇乜關係嘅嘢抽返比script去做XD
同埋個diagram唔應該做曬個UI hierarchy,
簡單尐講就係唔好一個button一個state,
唔好搞到個UI越多個diagram越大。

啱啱上手個陣會有少少唔知尐state放邊度嘅感覺,
(我嘅意思係放喺diagram邊度,純綷係用家視覺問題XD)
不過用咗一陣之後就OK,
一排stage最好就打直排唔好打橫排~

以下係尐值得注意嘅嘢:

  • Annoying Active Browser
    我唔知Windows版係咪都係咁,我用Mac版開咗PlayMaker Editor之後佢個自動開Action Browser,然後用Cmd+Tab去另一個panel個陣佢會loop住select PlayMaker Editor <-> Action Browser。解決方法就係將Action Browser merge去PlayMaker Editor,成為同一個panel
  • Event “Forwarding”
    “Get Mouse Button Down”  Action係會等Mouse Button Down然後sent一個event 。如果一個state用”Get Mouse Button Down” Action去下一個state,而下一個又有”Get Mouse Button Down”,咁下一個state又會因為咁去再下一個state。因為佢用咗Unity嘅”Input.GetMouseButtonUp”,同一個message loop都會收到同一個result。
    仲有呢個唔知係唔係bug:如果喺state A收到event 1會去state B,然後state B收到event 1會去另一個state,就算個FSM只係收到一個event 1都會連續跳state,更可能因為咁出現dead loop。所以某尐位我會delay 0.1秒先send event。呢個問題有待查證。
  • Variable for GameObject value
    就算你想reference嘅GameObject係喺個scene度,我建議你開個variable裝住佢而唔係直接set落個action度,一來要改動嘅時候只要改個variable就改曬全部action,二來可以display in inspector令你見到曬呢個FSM用緊邊尐GameObject
  • FSM callback
    如果FSM A等FSM B做完嘢先去下一個state,但係又唔想FSM B直接reference FSM A(Modular Programming!!),可以喺FSM B開一個GameObject variable,係FSM B做嘢之前set個variable做FSM A,再用”Send Event By Name” action 通知個variable ge FSM。不過咁做令呢個callback只可以有一個receiver(PlayMaker冇支援array⋯)。或者call script再call其他FSM。
  • Save FSM as a Prefab
    如果你唔將個FSM GameObject save做Prefab,然後你個project上咗version control同人地夾黎做,咁個scene file其他嘢conflict咗就會連累埋個FSM。但係save做prefab之後prefab嘅variable對scene GameObject嘅linkage會冇曬,然後又好可能會出尐不必要嘅error(尤其是”Call Method” action)
    解決方法係所有action都唔好直接reference GameObject,而係用variable
    至於”Call Method”我就直接comment了CallMethod.cs第102行(errorString += “Behaviour is invalid!\n”;)
    記得唔好改prefab FSM然後revert to prefab,如果唔係連scene嘅FSM variable都冇曬reference。應該係改scene FSM然後apply to prefab

改良提案

  • Script linkage
    如果可以加粒掣係同script有關嘅action度,一click就彈去個句function就好囉,不過unity plugin黎講應該做唔到。
    或者做一個script execution action然後可以加幾句script。
    Variable嘅class應該要implement operator,唔洗下下都會dot佢個value出黎
    現在:variable.Value = value;
    建議:variable = value;
  • Every frame
    好多原有action都有”Every Frame”呢個flag,用法係當個FSM stay喺嗰個state個陣,個action每個frame都會做嘢,唔洗做多個transition過一個frame loop比自己咁煩。但係唔知點解唔係個個action都有。其實應該要改到個super class本身就有
  • Comment Block
    我見其他graphical programming都會做一個冇用ge rectangle放喺一堆note下面說明個堆係乜,可以寫埋字做說明

以我所見PlayMaker都算係幾好玩幾幫到手嘅嘢,
有賴Unity Asset Store尐update都做得幾好,
雖然要比錢買但係值得一試~

11544-sim

Outline Shader 之災

正想喺Unity用Outline Toony Shader,
點知發現佢會成日穿窿
原來個Shader係令每個face都向外移動少少黎做個outline,
所以如果個model有兩個相鄰嘅面形成一個好尖嘅角,
佢地之間個條邊就好有可能會穿窿啦zzz
有尐人直頭唔用Outline Toony Shader @@
加多個黑色model做邊,
但係咁做問題亦都好多,而且要render多個model。

所以我研究咗好耐去解決呢個本身以為好簡單嘅問題orz
暫時最佳辦法就係割走尐邊位,然後Recalculate個vertice normal。

Recalculate Vertex Normal in Unity

Blender預設嘅情況下,
vertex嘅normal會同個face一樣。
所以Outline Toony Shader會將唔同嘅黑色面分離。
Screen Shot 2014-06-01 at 1.19.07 pm
除非用”Recalculate Normal”然後export做3ds file,
或者喺unity import setting重新calculate normal。
喺Unity Project Panel㨂咗個model之後就可以喺Inspector喥做:
Screen Shot 2014-06-01 at 1.27.17 pm
之後同一個位嘅vertex嘅normal就會merge去同一個方向
Screen Shot 2014-06-01 at 1.28.11 pm

Bevel

做完Recalculate normal之後可能都仲未夠好,
例如我要處理呢個mobel:
Screen Shot 2014-05-30 at 5.08.09 pm
個三角形有三個角度不一嘅角,
同邊位上面嘅面形成90度角。
尖嘅角會令Normal偏離,令outline變到好幼,
會同冇咁尖嘅角形成對比:

Screen Shot 2014-06-01 at 1.35.32 pm

呢個時候就可以用Blender可以用Bevel㨂選角度大嘅edge,
然後造多個面去replace佢。
㨂咗個model之後喺property個panel㨂
Object Modifier -> Add Modifier -> Bevel
Screen Shot 2014-05-30 at 5.13.06 pm
然後㨂角度大嘅角黎割
Screen Shot 2014-06-01 at 1.43.11 pm

Screen Shot 2014-06-01 at 1.43.33 pm
較好個settings記得禁Apply先至export~
Screen Shot 2014-06-01 at 1.52.42 pm
(Figure1: Bevel-ed model with 16 triangles)

注意1:我冇去割走90度嘅角但係佢地都改進咗,
因為新嘅model喺每個邊位都畫多咗polygon,
咁佢recalculate normal個陣就會順滑咗。
當然割走曬每個角就最滑但係就會render得慢尐~

Screen Shot 2014-06-01 at 1.59.43 pm
(Figure2: Bevel-ed model with 32 triangles)

注意2:model本身嘅顏色(對光源嘅反應)會因為normal而改變,
留意Figure1本來平的面上對平衡光會有彎的光影而Figure2沒有,
因為Figure1的vertex normal被Recalculate改動太大,
上半部被視為”向上”而下半被視為”向下”,
整個面形成一個彎的normal field。
至於呢個現象好唔好就見人見智啦~

搞個咁簡單嘅effect搞咗我勁耐orz
其實會唔會有更聰明嘅方法做呢?⋯

kc8048_profile2

點先可以影到隻錶靚尐呢?

連續幾日都好忙,
而家得閒少少去咗研究點影隻錶,
發現原來唔係咁易⋯

kc8048_02
求其攞上手影

kc8048_03
求其攞上手影2 XD

kc8048_04
想加個燈令佢反光,但係⋯⋯

kc8048_05
背景白隻錶陰係完全錯曬XD

kc8048_06
發現光度好緊要,越光越好

kc8048_07
呢張減走咗個反光位

kc8048_08
呢張我企到好高喺燈下面影XD
尐光打到隻手好滑XD

kc8048_09
減走反光位

kc8048_10
改咗個背景會唔會好尐呢?

kc8048_11
斜少少?⋯⋯反光見到自己添XD

kc8048_12
最好個張  ( 0  皿 0) +
背景係張假皮凳~
錶面左上角個四個放射圖案係四幅畫,
(其實我係影完先發現XD)

結論係:

  • 亮度夠對比先會夠,顏色先至夠鮮
  • 反光位亦增加對比
  • 錶面可以有反光位但係唔好太多,最好喺邊緣有少少
  • 錶裏反光效果唔錯
  • 背景&反光影像好重要!~XD
KC8048_banner5

Kenneth Cole KC8048

最近買咗隻錶Kenneth Cole KC8048

Kenneth Cole KC8048

Kenneth Cole KC8048

喺ebay買連運費千幾蚊,平過喺門店買好多~

事源係有日約咗人喺尖東食飯,
我早到去咗海港城行街,
發現原來一隻自動機械錶只係二千幾蚊,
同我想像嘅幾萬蚊好大出入XD
個款仲要好似好正咁,
就記低咗個Brand出網搵,
結果發現網上面買仲平,仲多款㨂。
(P.S. 後來發現某些網上店仲有保養@@)

事後好奇心太大嘅我上網搵吓隻錶係幾時出,
原來係好難嘅事⋯基本上冇乜人會記埋幾時出⋯
最後發現咗個錶店 http://www.nywatchstore.com/kc8048.html
然後Google Search “site:http://www.nywatchstore.com/ kc8048″,
再set埋時間限制先會顯示呢個page係”Mar 25, 2011″建立 orz
其他website個時間唔知準唔準,或者係2011年之後先建立,
咁就當住係2011年先啦⋯

同時又發現咗KC9343
本身都諗緊係咪要鋼帶,
但係諗諗吓都係皮帶斯文尐:P

創業比賽/活動

喺Facebook見到人地Share咗一篇同創業比賽有關嘅文
而我亦啱啱參加緊個創業活動,有感而發。
內容大致係講創業比賽對創業者幫助好低,
喺嗰度所識到嘅人一係就連構思都冇,
一係就諗住有咗個構思就有人會幫佢做而又有同樣嘅Share,
而筆者認為最重要的不是構思(idea),
而是執行力(execution)。

本人參加緊一個創業「活動」,某程度上比「比賽」好好多,
有人講talk,有workshop要你組隊,有exercise要你做,
唔係只係叫你throw個business plan見investor就算。
至於創業比賽,我唔多唔少都知道係點嘅一回事。

創業比賽只係想推郁你(Kick-off)

如果話創業比賽完全了解唔到創業就未免太遍激,
我會話創業比賽可以令你了解到嘅嘢只係好表面,
只係去到點「開始」就冇啦。

好多人覺得咁樣根本唔足夠,
係,係唔足夠,
但係如呢個世界好多人連點開始都唔識,或者唔敢,
創業比賽就係一個Kick-off,推動吓你,就係咁多。
如果你知道點做,夠膽做,又唔係話好想去搵投資者,
其實真係唔洗去比賽

如果講話要個活動做到足夠令人成功創業,
講真,有乜可能,
或者我唔希望可能。
創業本來就係好睇個人嘅能力,團隊合作,
一兩個活動點會做到足夠。

點化無知嘅人

公開活動嘅參加者自然係乜人都有,
好多人傻傻地以為有構思就大曬,
我認為呢個正正係創業活動嘅作用
就係想一尐知道點做嘅人點醒佢地,
利用大眾嘅言論話佢知創業有咗構思仲要諗點做,
自己喺執行其間有乜貢獻。

我認為該文筆者寫嘅呢篇文就係想點醒尐人,
但係我認為唔應該叫人唔好去比賽,
應該叫多尐人去,自己都去埋,
面對面點化下尐無知嘅創業者

帶眼識人

我覺得又唔係全部嘅參加者都係無知,
其實係有一個好低嘅機率會見到一尐有見地嘅人,
而又未搵齊伙伴然後去創業活動識吓尐人咁。
搵唔到個咁好嘅人,識多個人知多樣嘢都冇壞。

至於一尐冇構思就去創意比賽嘅人,
我唔覺得佢地去比賽係浪費時間,
因為創意就係要多過一個人去為同一個構思去努力,
佢冇構思,但係接納咗人地嗰個,然後一齊做,
我覺得冇問題。
你如果本身有一個構思,其實你可能就係需要一尐冇構思嘅人
或者去吓呢尐活動,咪推動到佢去構思下囉。

或者你會認為咁做太浪費時間,不如去另一尐活動好過,
例如一尐創業嘅Committee嘅活動,講座,
但我覺得唔同活動係唔同嘅渠道,有佢自己嘅作用。

執行成效與團隊

筆者話「創業最重要的不是構思,而是執行力」。
我認為「計劃最重要的不是構思,而是執行成效」。
而執行成效同構思有好大關係。
一個好嘅構思可以確定乜嘢人能夠產生執行力。
一個好嘅構思可以推動成員產生更多嘅執行力。
一個好嘅構思可以令執行力轉化出更加多嘅執行成效。
當然執行成效亦要睇成員個人能力同付出,
構思只係一個平台,一個推動器,一個轉化器。

再者「創業最重要的不是計劃,而是團隊」。
當你有一個好嘅團隊,計劃唔完美,大家可以一齊去改善。
一個好嘅團隊,一個計劃失敗咗,可以去開始另一個。
著眼於一個計劃成唔成功冇乜用,因為計劃嘅成功率好低,
成功嘅創業好多時係要經過無數失敗,
最後有價值嘅只有團隊。

所以我認為盡管喺創業活動搵到合適嘅伙伴嘅機會好低,
創業者都應該要去,
因為只有識多尐人,搵到合適嘅伙伴,先係創業嘅根本。
或者就係要去見多尐人,先知乜嘢係好乜嘢係唔好。
有冇構思,構思好唔好,係重要,但唔係最重要。

程式內購(In-App Purchase)價格定位

寫咗兩篇內購嘅文,
講咗內購質素嘅問題(程式內購(In-App Purchase)分類法),
而家講吓內購嘅價格問題。
我相信好多玩家(包括我自己)
都對某尐遊戲嘅內購格價格有質疑,
咁內購嘅價格又點定呢?
我認為應該由內購嘅本質去評估

內購嘅本質(一):一個實在嘅產品

聽起嚟好似「呀媽係女人」,
但係你諗真尐,睇下人地對內購嘅論述,
又有幾多人真係以「內購係實在嘅產品」嚟睇?
又有幾多開發者以呢個原則對內購定價?
依我睇真係冇乜邊個。
將呢一句說話諗深多層,可以拆開以下幾個概念:

一個需要成本去做嘅產品

開發者比咗金錢時間去做,當然想賣多尐錢,唔係搵鬼做咩~
一個內購,
令程式員做多幾多嘢,
令美術畫多幾多嘢,
令音效/音樂做多幾多嘢,
令遊戲設計者諗多幾多嘢,
全部都係成本。

一個有市有價,有供求嘅產品

就正如一隻下載收費嘅遊戲一樣,
你隻遊戲多人玩,賣貴尐當然好正常,
但係要睇清楚一點,
手機遊戲有冇所謂供不應求呢?
當然係冇啦係咪?唔通太多人下載iTunes Server會死咩?~
就算隻遊戲係網上遊戲要用到server,
server service都唔係咁易會供不應求,
更加唔會話越多人玩個人均成本就上升。
所以我認為就玩家人數而言,你隻遊戲多人玩,
都唔應該因此比冇咁多人玩嘅遊戲賣貴太多。
當然你可以因為名氣大而賣貴尐,呢個下面再講。

好多人將個槪諗放咗入遊戲入面,
覺得遊戲本身就係一個市場
遊戲入面嘅內購就根咗個內購對遊戲嘅影響嚟定,
例如遊戲入面有尐有限嘅卡牌,
然後令玩家炒過個價,比好多錢開發者。
呢個係一個好錯嘅諗法!希望係開發者或者玩家嘅你唔好咁諗。
當然影響力大嘅內購就會貴過影響力細嘅內購,
喺呢度我好難說服開發者,
但係作為一個精明嘅玩家請你諗清楚,
一隻遊戲嘅定價係幾多。
希望你識得一隻遊戲嘅總付出,預先作一個評估,
然後唔好出多過嗰個價。
記得要向唔同嘅遊戲格下價睇清楚,
真正嘅市場係「遊戲業界」唔係「遊戲世界」。
當然,你有錢,比多尐,我唔會反對,
但係我都希望你係了解咗先,覺得值,先至比。

其實只要你諗下,
一隻做咗好耐嘅大作,例如Diablo 3,賣緊四百幾蚊,
一隻做咗唔知幾耐嘅網上遊戲,有人每個月比緊幾千蚊玩,
就會覺得有尐問題。
冇錯一個遊戲仲要睇埋有好多唔比錢嘅玩家,
冇錯我講過以前嘅遊戲定價太低,
但係新式嘅遊戲都應該根據市場,理性地去定價。

P.S. 好多人都唔鍾意尐開發商將尐遊戲抄黎抄去,
但正正只有當該類遊戲有足夠多人去做,
先可以明確地定價。
如果開發商做出一個同另一隻遊戲好類似嘅遊戲,
但可以開發更大嘅市場,或者有助遊戲定價,
咁佢就係做緊好事,係良性競爭。

一個有藝術成份,有名氣成份嘅產品

一個藝術品值幾多錢,一個有名氣嘅品牌可以令產品提升幾多錢,
我認為呢個先至係除成本以外,令內購價格提升嘅最有力理由

攞一尐實物卡牌遊戲做例子:Magic the Gathering
每張牌都好認真畫都好鬼靚,
而佢亦都係出名喺遊戲平衡性同多樣性上面做得好,
佢賣嘅卡有幾貴,大家可以做個參考。

又例如League of Legend (LoL),
唯一一定要比錢嘅內購係外表(Skin,只係令角色睇起嚟唔同),
亦都係有名「最多人玩嘅網上遊戲」,
佢個價都可以攞嚟做參考。
而且值得留意嘅係台服外表比美服平。

一個買咗令自我感覺良好嘅產品

其實同上一個論點差唔多,
又攞返LoL為例,
買左一個英雄外表比其他人睇,
有種好似自己好有眼光嘅感覺。
雖然呢種虛榮感有尐爭議性,好似唔係好健康,
但係我覺得呢種虛榮感應該都算係娛樂嘅一種,
反正遊戲就係娛樂係咪?玩下啫~

產品就要有明確付費指標

亦即係話賣家要令買家可以估計比幾多錢先得到佢要嘅嘢
「冇明確付費指標」就即係話買家比咗錢之後又唔知洗唔洗再比。

例如你買咗一個洗衣機,佢壞完又壞要係咁比錢,
咁就係一個「冇明確付費指標」嘅例子,
因為你唔知佢幾時又壞,賣家一開始又冇同你講,
成件事好似比人呃咗咁。
所以而家買電器都實包埋保養,
咁買家就清楚:比XXXX蚊起碼用到幾年。

又例如你比咗一個RPG嘅價錢去買一隻RPG Game,
點知打完第一關就要你比錢先玩到第二關,
你一定會告到佢甩褲啦係咪?
咁亦都係一個「冇明確付費指標」嘅例子,
因為賣家冇令買家知道個價只係買「第一關」,
玩家比錢前亦估計唔到玩曬個遊戲要幾多錢。

至於有尐遊戲一開始唔洗錢,但係入面有好多內購,
咁就未必係「冇明確付費指標」,
呢個問題要睇遊戲業界嘅一般做法,同埋開發者有冇清楚說明。
如果遊戲業界有一般做法,
咁作為玩家應該有能力去理解並估計支出,
唔可以話唔知然後話人地呃你。
或者有尐遊戲要一直比錢先玩到,
咁只要開發者講清楚係咁,玩家知道大概一個月要比幾多,
亦都唔算係「冇明確付費指標」。

內購嘅本質(二):複合市場嘅分水嶺

呢個內購功能只適合於某「免費增值商業模式」(Freemium Business Model)。
呢度係只係考慮某尐包含會比錢同唔會比錢玩嘅玩家嘅遊戲。

呢個世界一向都係貧富懸殊㗎啦~
如果你話有錢嘅人出曬錢,令一班冇錢嘅人都有錢玩,
你話幾咁和諧呢?XD
而家就係有一個咁嘅方案:
冇錢嘅人一世唔比錢,都仲可以繼續玩,
有錢嘅人比好多錢,得到佢想要嘅好處。

呢種做法可以話機乎所有Freemium遊戲都用緊。
遊戲世界一分為二,甚至更多,
唔同付費能力嘅人玩緊唔同嘅平衡設定
(並唔係話開發者令比錢嘅人有著數,
而係做遊戲平衡嘅時候要考慮唔同付費能力嘅玩家)。
不同嘅內購就係不同平衡設定嘅分水嶺。

而呢條數就要計計佢啦,
假設你隻遊戲要每玩家平均每月比十蚊你先夠數,
而比錢嘅人最多得10%,
咁就即係話比錢嘅人平均每月比一百蚊你先夠數。

用呢個模式嚟定價嘅時候,
設計者就唔應該高估付費玩家嘅百份比,
亦即係話,要接納大量嘅非付費玩家
呢個估量係由市場而定,
付費能力較高嘅一群就係大概少於10%。

內購嘅本質(三):試用期嘅限制

最簡單嘅例子就係開發者本身就諗住賣一百蚊,
但係轉左做免費下載,限住你玩幾耐玩幾多,
然後要你用一百蚊開放所有嘢。

如果用呢個邏輯嚟定價,咁個價就好簡單,
就係成隻遊戲嘅總價值,當返佢係下載收費咁睇。

個案分析

以下指出一尐具爭議性嘅個案,用上面所提及嘅邏輯分析一下:

解放功能

解放內容嘅爭議性應該唔大,總之開發者成本增加當然可以收費,
但係將”功能”當作產品咁賣就有得拗。
我認為如果個功能係開發者額外投放成本去開發,
或者會增加維持成本,
咁當然都可以收費。

例如LoL入面嘅英雄(開放使用英雄嘅功能),
好多玩開Dota嘅人可能會覺得佢Lock住曬尐英雄唔比人用,
但係其實佢每做一隻都要人物/外表/技能重新去做,
個人認為都係值得比錢支持嘅。

但係如果嗰個功能本來就係遊戲嘅一部份,
只不過係一個外加嘅限制令你用唔到,
例如一隻RPG本來你可以行嚟行去,
但係佢限咗你只可以行十步,再行就收錢,
咁我就會用令一個角度睇,就係「試用期限制」。
如果佢個收咗一個錢就乖乖地比曬你玩,咁就OK。
如果佢呢度收完嗰度又收,缺乏收費指標,就似係呃人囉~

節省時間/能力提升

一尐多人連線遊戲嘅內購令玩家節省時間或者能力提升,
可以用「複合市場嘅分水嶺」呢個邏輯嚟定價。
作為比唔起錢嘅玩家喺呢個模式下能力會較低,
但係亦都有好處:就係唔洗錢玩。
如果你唔比錢根本過唔到關,咁就唔好玩啦~

一尐單人遊戲嘅內購令玩家節省時間或者能力提升,
可以用「試用期限制」呢個邏輯嚟定價。
如果你比一次錢唔可以永久地節省時間或者能力提升,
亦即係開發者冇乜持續性開支下係咁收你錢,
咁就好可能係唔合理,

買家得益VS開發者成本

曾經有開發者會設計一個能力強大嘅內購,賣好多錢,
而開發成本只係好少。
作為精明嘅玩家就要清楚內購定價唔應該只係睇買家得益,
為遊戲而付出嘅總支出應該要以遊戲市場而定,
以「一個有市有價,有供求嘅產品」嘅邏輯去定價。

賣家要考慮買家想法,買家要了解市況

其實講到尾內購就係一個新式收費方法,
大前提都離唔開原有收費方法嘅概念
只要大家都覺得合理,其實可能性可以仲有好多。

程式內購(In-App Purchase)分類法

續前文程式內購(In-App Purchase)是福是禍?
(前文概要:內購唔係問題,錯用內購先係問題)
忽然諗到如果將內購分類,
而且喺買嘢嗰喥寫清楚,
會唔會就減低佢嘅邪惡感呢?
當玩家見到隻遊戲嘅內購型態係點,會唔會令佢玩得安心尐呢?

我覺得而家最大嘅問題係,
有尐玩家唔想玩某尐會lock黎lock去嘅遊戲,
或者係要等時間然後要比錢skip嘅遊戲,
或者再複雜尐,某尐遊戲唔可以搭某種內購,
如果一開始玩之前,玩家已經知道左,係咪就解決到問題呢?
如果開發者對不同內購類別有更多認識,係咪會令佢做得好尐呢?

可能你會覺得呢個分類太複雜,會質疑係咪有需要咁做。
我嘅意見係:而家內購大多啦,成為咗手機遊戲市場嘅一大部份,
而且每一個內購嚴格黎講都係一個商品
每一個商品作分類,甚至評分,我覺得都唔係太過份。

內購分類

以下都係尐簡單分類,相信有玩過下手機遊戲都會知:

解放功能/內容

即係買咗之後某尐嘢先可以用,或者多咗幾關。
本人對解放功能有尐保留,但係解放內容收錢其實就好合理,
做多尐內容收人錢天經地義,
不過暫時所見嘅內容內購都係有尐貴。

節省時間

即係有尐嘢要等,買咗就唔洗等。
呢嗰爭議性大尐,好多人都唔想尐遊戲變到係咁等。
但係我認為某幾類遊戲真係要人等好過唔洗等。

例如一尐”某數值”會隨住你”遊戲時間”而上升嘅遊戲,
如果你唔洗佢等,就個個都24/7係咁煲,
然後唔煲嗰尐就唔想玩。

又例如一尐模擬類遊戲,
要玩家等本身就係遊戲一部份,
咁加多個內購唔洗等都合理嘅。

如果隻遊戲本身唔等好過等,
又因為想加個內購就令佢等,咁就⋯⋯

能力提升

即係買左你嘅能力數字上有所提升。
呢個我真係覺得好有保留。
我認為呢個真係只有低手先會咁做。
你高手尐,設計另一個內購,
間接地令佢能力提升,咪仲好~

收集

即係隻遊戲本身有嘢可以收集,例如卡牌個類,
你比錢就有得收集多尐。
呢個我諗都冇乜人會反對嫁啦~

裝飾

好似LoL尐Skin咁,買左對成個遊戲系統一尐影響都冇,
只係外觀上有轉變。
呢個可以話係我最接受嘅內購,
的而且確做到有錢人比多尐錢,又唔影響冇嘅錢人玩。

訂閱/定時收費

即係類似以前線上遊戲月費啦。
其實係合理但係有尐過時,
做得冇其他收費咁好。

潛在問題

不過要將內購分類並說明比玩家知唔係咁易,
以下係我所諗到嘅問題:

難以簡化

內購類別本身有其複雜性,
一尐唔玩開遊戲嘅玩家未必會理解。

解決方案:做尐icon仔出嚟吸引玩家去留意,以及幫助理解。

分類嘅複合性

即係一個內購包含多過一個分類。
最常見嘅複合當然係”石”啦。
玩家可以買”石”然後用石去做幾個分類嘅嘢。

解決方案一:根據複合產品嘅用途再例出唔同類別。
即係一個產品可以多過一個類別。

解決方案二:列出遊戲行動作分類,而唔係列出內購分類,
即係唔會列出”賣石”,
而係列出”石可以買乜”,並遂一分類。

玩家對分類嘅理解

就算玩家知道左尐分類係乜,
佢地都未必知嗰個設計係唔係真係啱隻遊戲。

最差嘅情況係:
個玩家玩左隻遊戲發現某”節省時間式內購”好差,
以後一見到”節省時間式內購”就唔玩。

解決方案一:推廣分類法。
即係喺個分類法出街之前,就講清楚曬成個概念比玩家知先,
講明唔同分類都有佢嘅好處壞處,
唔好一支竹打一船人。

解決方案二:開發者/出版商評分。
可以係簡單地一個組織一個分,
或者複雜尐每一個內購分類都有細分,
可以更詳細了解該組織對不同的分類的運用。

開發者出術?!

例如開發者先出一個良好版本,
令嗰個遊戲嘅內購分類有好尐嘅描術,
或者有更好嘅評分,
然後再出一個版本,更新內購嘅模式,
希望能獲得更高利潤,而內購嘅設計(好可能)會冇咁好,
誤導買家以為係一個好好嘅設計,點知唔係。

解決方案一:當遊戲更新嗰陣,喺內購分類描術註明措術可能未更新,待描術者確認。

解決方案二:如果有評分系統就直接評低分懲罰佢:@

了解最重要

制定規則一向都唔係解決問題嘅最好辦法,
最重要都係大眾對內購嘅理解
無論係開發者定係玩家都應該要了解同批判內購設計。

程式內購(In-App Purchase)是福是禍?

個標題用疑問句,但係其實我係支持程式內購(以下簡稱內購)。
我用疑問句係因為我都唔係話好肯定我係啱,只係個人認為係啱。

請先睇睇呢個反對內購嘅post:
http://www.baekdal.com/opinion/how-inapp-purchases-has-destroyed-the-industry/
佢舉出左一隻本身好好玩嘅單機遊戲,
喺iPad重作變作一隻唔好玩嘅遊戲,
主要係因為遊戲變左好多內購,乜都要等,唔想等就要比錢。
筆者認為一切都係內購嘅錯,
而且呢個風氣破壞所有遊戲嘅收費模式,無法解決,
大家應該為公義取締內購。
我認為佢講出左一個內購引申嘅問題,
但我認為解決方法唔應該係取締內購。

以下分題都好有爭議性,請各自思考答案。

內購係破壞者?

唔知大家記唔記得iPhone啱啱出嗰陣係點,
個世界有幾多人睇好手機程式市場,有幾多睇淡。
想當初唔少手機都係Java Game,有冇幾多人比錢買?
無錯,開發簡單,收費方式簡單,易於向全球發佈等,
都係手機程式興起嘅主要原因。
起初亦都冇人做內購,都係下載收費。
但係而家手機遊戲做到可以同其他平台嘅遊戲睇齊,
甚至超越其他平台,
我相信冇人可以否定內購嘅功勞。

我認為內購不單止冇破壞遊戲市場,
而且係帶領手機遊戲潮流嘅主因。
只係大家以為其他收費方式本應可以賺到同內購一樣多,
但係又賺唔到,就話係內購破壞左,
呢個根本係一個錯覺。
根本本來嘅收費方式可以繼續執行,
只係唔會賺到同內購一樣咁多嘅錢。

而家電腦遊戲(PC Game)同電視遊戲(Console Game)都開始有內購,
但係未算多啦係咪?
明顯係因為市場問題:
流動遊戲界最成功嘅目標市場係「所有智能手機使用者」,
包括非常多嘅「非資深遊遊戲玩家(Non-hardcore Player)」
而連結中筆者嘅評論都係以「資深遊遊戲玩家(Hardcore Player)」嘅角度去睇。
假設隻流動版Dungeon Keeper做到同本身差唔多轉做下載收費,
冇錯筆者會好開心,
但係試問一個唔打開機嘅人,
見到一隻遊戲唔知好唔好玩嘅遊戲,
試都冇得試就話要比錢,
佢會唔會買呢?
冇錯開發者的確可以唔理Non-hardcore Player,
但如果係咁,回到當初開發前期決策階段,
佢仲會唔會揀呢隻遊戲做呢?
我覺得件事可以話係揀錯遊戲去做,
而唔係內購嘅錯。

當然好多決策者因為內購模式太好而放棄其他模式,
但我認為呢個係決策者嘅問題唔係內購模式嘅問題,
下面「內購是萬能,其他模式被摒棄?」再講。

內購係欺騙者?

連結內容下面用搭的士作為比喻,
形容內購收費係欺騙嘅一種,
我認為呢個比喻唔恰當。

你可以試下用同樣嘅邏輯將唔同嘅收費模式放左去其他行業:
瑜珈班一次性收費?
飲下午茶分期比錢?
搭的士要先比會費?
你會發現唔同嘅組合都會出現唔同程度嘅問題,
因為收費模式本來就係要切合產品嘅性質先可以發揮效用

你買嗰隻遊戲嗰陣你就可以喺佢個App Page睇到佢點收費嫁啦!
你唔係「上左車」先知個「咪錶」點跳架嘛係咪?
你亦都唔會「上左車」同佢講定左比幾多錢先「開車」架嘛係咪?
(雖然香港地真係有XD…但唔係法定亦都唔係公開係咪?…)

我認為先免費試玩咗先,知道咗玩乜先,
再根據個人意見比幾多錢攞幾多嘢,
如果使用得當,係對玩家百利而無一害。
你作為一個現代手機遊戲玩家,你就要了解左先,
冇得話你唔知你唔想就話人地呃你

點為之使用得當,
有尐遊戲一早比曬錢好過玩左先諗點比錢,
呢個係另一個問題,
下面「內購是萬能,其他模式被摒棄?」再講。

「玩遊戲應該免費?

引文中一句:
The problem is not asking people to pay, but the deception in that game developers promises that we can ‘play’ for free’.

冇錯,傳統遊戲嘅概念係:
比錢買遊戲,玩唔洗比錢。
呢類嘅遊戲的確承諾左玩唔洗比錢,
但而家係唔係每一隻遊戲都可以做呢一個承諾呢?
呢一個承諾係唔係遊戲開發者必須要作出嘅呢?
答案好明顯:唔係。

要上網先玩到嘅遊戲不在話下:維護伺服器唔洗錢呀?
就算唔洗用伺服器,今時今日,
一隻好嘅遊戲會不斷更新,不斷進步,不斷追加新內容,
更新唔洗做呀?做野唔洗錢呀?
一隻好嘅遊戲會有官方嘅客戶服務(CS),
答你嗰個唔洗食飯嫁?
你可能會話一開始收費個錢可以攞去投資/收息補返條數,
但我覺得呢個係收費高低問題,喺「內購收費太高?」再講,
我只係想講維持一個遊戲嘅人氣唔係零成本,
人氣高唔係只係得開發者得益,玩家都會得益
雙方都應該有責任。

你可能仲覺得以前個套唔做「遊戲維持」嘅方法仲行得通,
請你諗清楚開發者承諾左玩唔洗比錢嘅後果係乜,
請你諗清楚開發者做完一個版本之後點賺錢,
答案你冇可能唔知:就係出多幾個版本叫你買
新版本可能仲冇乜嘢加過,賣緊「一個遊戲嘅價錢」。
請問除左價錢高尐之外,同要比錢嘅新Content/DLC有乜分別?
你唔好同我講新版本改動會大尐,
新Content/DLC質素係開發者嘅問題唔係內購嘅問題
請參考好嘅DLC,例如Civ V.

內購收費太高?

我上面提到內購收費可以支持開發者去維持遊戲,
但係唔係太高呢?
我認為呢個問題非常之有爭議性。

之前出嘅遊戲,賣嘅價錢,
我個人認為唔單止係太低,
簡真係一個自虐行為。
希望唔了解遊戲製作嘅你唔好低估一個遊戲開發嘅難度,
唔好了低估開發遊戲要冒嘅風險[1],
唔好以為遊戲玩玩下唔洗太認真,
唔認真唔冒險唔會做到好遊戲。

究竟而家遊戲界係咪賺得太多錢,
大家應該從整個遊戲界嘅付出,風險,成本效益去諗,
而唔應該執著嗰個內購值唔值嗰個錢
唔單止內購,所有收費方法都要從大方向去考量。
遊戲開發者嘅方法同責任,
就係去搵一個玩家願意比,
而又能夠最賺到錢嘅方法。
你如果唔認同呢一點,
咁唔該你公平尐,將你反對我嘅論點放喺每一個行業諗一次。
你有冇諗過你著嘅個件衫,成本只係得價錢嘅十份之一。
你有冇諗過iPhone嘅成本係價錢嘅二份之一,
然後全世界都話佢賣得太平,
然後又賺到變左全球最有錢嘅公司。
每個市場嘅定價都有佢嘅原因,
你推翻曬成個資本主義咁我冇嘢講。
我認為而家遊戲賺錢比以前多,
唔係因為而家賺錢太多,而係以前賺得太少
你覺得人地定價太高,就應該用良性競爭嘅手法去平衡個市場。

放低開發者獲利唔講,我地講下心態。
如果一個遊戲缺乏持續性收支,
根本好難令開發者繼續維持遊戲嘅素質。
你出到黎做生意,出到黎打工,
我叫你收一舊錢做一年,之後唔收錢繼續做,得唔得?
唔係唔得!~咪Hea你囉~做到咁上下咪唔做囉~係咪?
作為一個玩家,你想個開發者用乜野心態去維持隻遊戲呢?
收月費係一個方法,
咁你又計下啦喎~你想佢收月費多尐定係內購多尐呢?

以前如果冇人唔為錢,
冇人對遊戲開發有萬分熱誠,
根本唔會有人做遊戲[2]。
今時今日二零一四年,
越黎越多人生活富足,越黎越多人打機[3],
傳統遊戲界,手機遊戲界,係一個可靠嘅產業,
唔可以再為興趣而做,做爛個市。

內購是萬能,其他模式被摒棄?

我認為,正如我之前提到,
收費模式本來就係要切合產品嘅性質先可以發揮效用。

連結入面講嘅個個例子:Dungeon Keeper,
明顯就就係用錯方法。
就算你要玩內購,都有分好多種收法呀嘛係咪?
退一萬步講,唔用內購係咪仲好呢?
再退多一萬步講,其實流動版嘅Dungeon Keeper,
係咪應該當係一隻新遊戲,而唔應該同舊Dungeon Keeper比較呢?
其實佢唔好玩係咪其他設計上嘅問題呢?

我認為內購有三大功能

  1. 正如之前提到,佢可以向開發者提供持續性收入;
  2. 玩家決定投放幾多金錢,而且投放越多(理論上)收獲就越多;
  3. 多投放金錢嘅人拉高人均獲利(APRU[4]),間接令低/零投放金錢嘅人得到相應的利益。

如果你嘅遊戲根本唔需要以上三點,
如果你嘅遊戲冇乜育成或收集成份
例如RPG,Board Game類等,
咁你加個內購就係多鬼餘
直接做下載收費咪算數囉。

反之亦然,有育成或收集成份嘅遊戲就應該有相應收費,
正如Diablo3點做都唔會做得好過World of Warcarft[5]。

真正的破壞者

我認為錯用內購模式嘅人先係遊戲界嘅真正破壞者
好多人覺得手機遊戲最賺錢就係內購,
本末倒置,乜都加個內購,
搞到隻遊戲變左四不像。
你想用內購就應該一開始揀個適合內購嘅遊戲
( 請看遊戲設計方針:重點才是重點)。
內購只係一個方法,點用先係問題

附註/引用

[1] 遊戲開發初期通常都係先考慮風險問題:
http://chenglap-blog.logdown.com/posts/100013
http://chenglap-blog.logdown.com/posts/100014

[2] 以前你冇返咁上下實力同Game Console/Microsoft合作都唔洗指意做Game,就算係早排嘅Indie Game Development都唔容易,請睇:http://buy.indiegamethemovie.com/

[3] 暫時搵唔到全球性嘅資料,睇住個北美先:http://mic.iii.org.tw/aisp/reports/reportdetail_register.asp?docid=2830&rtype=freereport

[4] http://en.wikipedia.org/wiki/Average_revenue_per_user

[5] http://www.statisticbrain.com/blizzard-entertainment-statistics/

 

遊戲設計方法:紙上談兵(Paper Prototype)

相信好多做過Web或者本身有做Game嘅人
應該聽過Paper Prototype啦~
咦?你仲未?~快尐去睇下呢個Post先啦!~
關於Paper prototyping的七個迷思
個Post講好多Paper Prototype唔應該做嘅嘢
⋯⋯咁即係做乜嘢呢?
其實即係做乜都得XD
除左個Post講左唔可以做嘅嘢之外。
總而言之係自製唔同大細嘅紙,即場畫上自製嘅圖案,
用紙去表達你個產品嘅所有嘢,
一路做一個紙模型一路設計個產品。

未做過Paper Prototype嘢人可能會唔明白佢有乜用。
可能覺得“唓~我用文字直接寫Game Doc咪得囉”,
又或者覺得“有紙同冇紙有乜分別呢?”。
但係其實你只需要做過一次,
就知道有紙同冇紙係兩個世界

原理

我好想去搵尐心理學有關嘅書去証明呢一點,
不過我唔係心理學專家XD
我做左幾次之後嘅感覺係,其實個原理好簡單:

1. 將概念圖像化

你第一次做Paper Prototype嘅時候應該會發現,
你比平時只係用言語討論諗到更多嘅嘢。
其實係因為人腦諗嘢不嬲都唔用文字,
而係用圖像,動畫,聲音,感覺等等。
將概念用圖像表達會令大腦更容易思考問題,
亦自然提升到你嘅創意。

2. 將概念具體化

如果你未做Prototype就去寫Game Doc,
好可能會墮入”Game Idea”同”Design Decision”嘅迷思[1],
寫左一句”Using Bird to shoot all of the Pigs out” (Game Idea),
咦?夠具體未呢?
而係做Paper Prototype嘅時候,你要做嘅就係攞住張紙當係隻雀,
實實在在咁做一次射隻雀出去嘅過程,
實實在在咁模擬一次點樣撞開尐障礙物,
你就會諗到好多細節:
“其實係咪唔洗用曬尐雀?”
“障礙物係咪應該有分重唔重呢?”
“咦?其實hi親尐豬少少唔應該即刻當殺到佢喎~”
個Game Doc慢慢就由一句變成好多句(Design Decision)。

Paper Prototype就係引導團隊好具體咁去做一個模擬
令成員可以由一個簡單嘅Game Idea,慢慢發展成Design Decision。
你會發現冇紙嘅情況下喺腦海做模擬係困難好多,
而且做左出黎亦確保唔同成員諗緊嘅細節係一致。

3. 節奏快,成效高

試諗下:
寫同睇”Sell your good out and you will get the money”快尐,
寫個Program,禁粒制可以賣嘢然後有個數字表達你多左錢快尐,
定係我撕尐紙仔出黎當貨當錢然後做一次買賣快尐?
再計埋你比紙仔人個陣仲可以用手做埋動畫?
用口做埋聲效?
然後第二個搶左你張紙去表達另一個Idea?⋯⋯

當你好大量咁表達好多細節嘅時候
就會發現寫文字同寫程式係非常煩瑣,
拎起張紙掟黎掟去係非常之方便
文字嘅好處係記錄左之後,邊個睇幾時睇都得,
程式嘅好處係,製成品會非常接近完成品,
但係唔係思考嘅最佳途徑。

無謂紙上談兵,自己紙上談兵

最實際就係自己做一次啦~
記得要有咁仔細做得咁仔細,有咁具體做得咁具體。
仲可以用VC錄低佢做參考添~

引用

[1] Ernest Adams, “Game Idea Versus Design Decision”, Fundamentals of Game Design Second Edition (pp.54), 2010. CA:New Riders.