主流通訊協定介紹(RPC、SOAP、REST)

Remote Procedure Call (RPC):起源於1976年,允許Client遠端呼叫Server的子程式,然後將執行結果返回給Client;當時的傳輸資料常使用二進制格式,為了統一資料傳輸格式,隨後出現了XML-RPC, XML作為資料交換語言的RPC機制。

Simple Object Access Protocol (SOAP):起源於1998年,由於RPC經常被Firewall及Proxy Server阻擋,為解決兼容及安全性問題,採用HTTP(起源於1989)是更好的方法,SOAP還提供了一套標準方法讓程式間可以互相通信。可以簡單把SOAP當作RPC+XML+HTTP(POST only)+有狀態的通信方法。

Representational State Transfer (REST/RESTful)起源於2000年,由於SOAP過於複雜且依賴狀態,REST提倡使用標準的HTTP中的四種動作GET、PUT、POST及DELETE,以及Uniform Resource Identifier (URI)來指定資源,降低開發的複雜性。可以簡單把REST當作PRC+XML+HTTP(GET,PUT,POST,DELETE)+URI+無狀態的通信方法。

發展趨勢:
REST風格相比XML-RPC及SOAP更加簡潔易用,而JSON資料交換語言相較XML更加輕量,目前大多數的Web Service都採用REST+JSON作為傳輸方法。

2019上半年中國AI產業研究筆記

●2018年中國AI領域融資1311億,增長超過100%
●2020年中國AI產業規模將超1500億元
●2013至2018年全球AI論文共30.5萬篇,美國發表5.2萬篇,中國發表7.4萬篇
●2030年中國無人駕駛汽車銷量預計將達190萬輛,出行AI備受關注
●中國自動駕駛技術正朝”L4級高度自動化”努力,世界尚未有人能夠達到”L5全部自動化”
●中國CV市場中68%都用於安防
●當前AI的商業化主要是基於CV,語音,NLP等技術
●中國AI產業目前處於各自為營的狀態,但有產業鏈分工的發展趨勢
●易於使用的自動化ML工具逐漸成為主流,例如AutoML
●隨著5G即將商用,無線通訊效率提升,有助於AI應用升級


Source: https://report.iimedia.cn/report.jsp?reportId=38874

Oculus Quest使用心得與對比

我在對VR產生興趣後,依序體驗過下列裝置:

  • Acer AH101 + GTX970 (自行購入)
  • HTC Vivo (展場試玩)
  • PS VR (展場試玩)
  • Samsung Odyssey + GTX1080Ti (自行購入)
  • Oculus Go (自行購入)

根據上述經驗,以及對技術的好奇心,入手Oculus Quest三日後,得到了一些使用心得,在此跟大家分享。

硬體:

  • 定位已足夠精準,又可以追蹤環境,可見四鏡頭inside-out tracking會變主流;但使用Tilt Brush等應用,手把太靠近頭部時,會無法定位,故outside-in在特定場景無法取代。
  • 每眼1440*1600 AMOLED 72Hz,但紗窗效應比同樣是AMOLED的三星Odyssey輕微。
  • 採用Fresnel lens黑底白字時,眩光比較嚴重。
  • 目測FOV接近110度,IPD可調。
  • Headset和手把,外觀都很精緻,重量很輕。
  • 手把握感舒適,但震動很弱,回饋感差。
  • 手把比WMR省電很多,可能是因為Quest的追蹤技術不依賴光源,因此手把不需耗電的LED
  • 揚聲器音質比Go好,音量更大。
  • 不知道為什麼左右各有一個耳機孔。
  • 越界時可直接看到黑白的外界影像,除了防止碰撞外,移動也不用取下headset。
  • 不用高端PC顯卡和接一堆線,真的很方便。
  • 附帶的超長usb type-c很實用,但有磁吸會更好。
  • 有機會跟game console競爭,畫質接近switch。
  • Go訂製的近視鏡片,因模具不符,無法用在Quest。

軟體:

  • Go買的內容不能在Quest用。
  • 新手教學First steps超美,體驗超棒,女生會很喜歡。
  • 名作Beat Saber、Superhot體驗與PC相同。
  • Sports Scramble是我目前玩過最好玩的VR sport。
  • Vader Immortal畫質比想像中好,體驗很棒。
  • 名作Robo Recall受限於硬體性能,畫質不如PC。
  • Dance Central畫質差,玩法差,體驗差。
  • National Geographic Explore VR畫面夢幻,體驗好。

包裝:

  • 包裝盒厚實堅固且精美,可重複用於日常收納。
  • Travel case很輕巧,獨特設計專為收納Quest。

產業:

  • Facebook Oculus這次從成本、整合及生態上,把VR進入門檻大幅拉低;本來VR PC及headset一組至少要1000美金,現在standalone只需要400美金,而且不用經過繁瑣的設置,有助於吸引更多人入手。
  • Windows MR standalone入手成本也很低,但硬體、整合和內容上還不如Oculus。
  • HTC硬體走高端,但成本、整合和生態全輸,快看不到Oculus的車尾燈了。

遊戲開發筆記彙整

Industry

General

Design

Art

Scene/Level

Story

UI/UX

Programming

Testing

Project Management

Marketing

參考資料

  • 數位遊戲設計達人講座
  • 深入淺出設計模式(Head First Design Patterns)
  • 專案管理知識體系指南(A Guide to the Project Management Body of Knowledge)
  • 維基百科(Wikipedia)
  • 其他(不知出處,查到再補上)

遊戲的商業模式探討

常見商業模式

  • 代工製作(Work for Hire)
  • 先期簽約(Earlier Stage Development)
  • 履約完工保證(Completion Bond)
  • 挑選成品(Pick up Deal)

影響產業獲利的因素

  • 新競爭者進入門檻
  • 現存競爭者之間的競爭強度
    • 創新遊戲開發技術
    • 使用複合式銷售(Bricks and Clicks)擴大覆蓋層面
    • 宣傳攻勢
  • 替代產品或服務的威脅
    • 玩家喜新厭舊的習性
    • 價格對於替代產品的優勢
    • 玩家替換遊戲的成本
    • 同類產品在市場上的選擇數量
  • 買方的議價能力
  • 供應商的議價能力
  • 互補結盟

授權發行

開發商的權益

  • 姓名標示(Attribution)
  • 頭款與利潤分成
  • 擁有權
  • 週邊發行權(Ancillary Rights)

市場(Marketing)

銷售工具(Sales kit)

  • 1~2頁的遊戲簡介
  • 10~15頁的遊戲說明
  • 概念草圖或螢幕截圖
  • 關鍵遊戲樂趣試玩

遊戲銷售

銷售管道

  • 傳統通路
    • 首發
    • 資料片或加強版
    • 促銷降價
    • 合集
    • 平價包
  • 網路商店
    • 首發
    • 更新版

行銷手法

  • 焦點經濟
  • 市場炒作
    • 結合新聞性議題
    • 運用網路搜尋關鍵字
  • 透過社群網路推展遊戲
    • 金字塔人際網路
    • 透過好友動態
    • 人質行銷(Hostage Situation)
  • 與遊戲網站合作
  • 提供試玩
    • 精簡版內容
    • 使用時間限制

如何測試應用程式

測試方法

  • 黑盒子測試(Blackbox Testing)
  • 等價值分類測試(Equivalence Class Testing)
  • 邊界值測試(Boundary Value Testing)
  • 配對組合測試(Pairwise Testing)
  • 白盒子測試(Whitebox Testing)
  • 灰盒子測試(Greybox Testing)

標準化測試:Java驗證(Unified Testing Criteria)

  • 應用程式特性(Application Characteristic)
    • 軟體執行流程
    • 應用程式特性問卷
  • 穩定性(Stability)
    • 程式穩定性測試
    • 電源使用
  • 應用程式啟動(Application Launch)
    • 遊戲軟體安裝
    • 啟動遊戲軟體
  • 使用者介面規範(User Interface Requirements)
    • 清晰的圖形介面
    • 使用者操作介面的一致性
    • 正確且直接進入遊戲軟體各個功能
  • 地區化(Localization)
    • 正確的目標語言
    • 正確的翻譯
    • 正確的拼字
    • 沒有文字顯示問題
  • 功能性(Functionality)
    • 沒有隱藏或不完整的功能性
    • 來電/SMS/MMS/藍芽/紅外線/充電通知的處理
    • 暫停處理
    • 聲音/震動控制
    • 主選單
    • 軟體的反應
    • 軟體的效能
    • 資料刪除提示
    • 錯誤操作的容錯
    • 手機關機
    • 手機本身功能的影響
  • 連線需求(Connectivity)
    • 處理手機不能連網的情況
    • 連網延遲與中斷的情況
    • 正確結束連線(使用IP協定)
    • 發送訊息/啟用藍芽/紅外線通訊
  • 個人資訊管理(Personal Information Management)
    • 處理存取PIM
  • 安全性(Security)
    • 檢查應用程式宣告
    • 敏感資料顯示
    • JAD/JAR資料的一致正確性

如何設計遊戲介面

觀點

PoV(Point of View):這是誰的故事?

  • 講述(Narration)
  • 認知(Perception)
  • 內省(Introspection)
  • 語調(Voice)

視覺表現觀點

  • 第一人稱
  • 單一第三人稱
  • 多重第三人稱
  • 全景觀點
  • 混合觀點

遊戲互動設計的可用性模式

尼爾森經驗法則(Nielson’s Heuristics)

  • 系統狀態的顯示(Visibility of system status)
  • 用使用者習慣的方式互動(Match between system and the real world)
  • 使用者操控的自由(User control and freedom)
  • 使用一致與標準的介面(Consistency and standards)
  • 預防錯誤(Error Prevention)
  • 用提示取代記憶(Recognition)
  • 有彈性且有效率的操作(Flexibility and Efficiency)
  • 美觀與最小的設計
  • 協助用戶了解,診斷原因並且修復錯誤
  • 幫助資訊與說明文件

互動的品質

  • 選擇的多寡
  • 互動的速度
  • 互動的複雜度

如何設計故事情節與事件

發展故事情節

  • 夠強的故事關鍵
  • 故事危機
    • 危機必須切合故事類型
    • 必須把主角的生活搞得天翻地覆
    • 必須讓玩家驚艷
  • 衝突與併發問題
  • 引起玩家的興趣
    • 懸疑(Suspense)
    • 謎題(Mystery)

發想情節

  • 5W1H
    • Who
    • What
    • When
    • Where
    • Why
    • How
  • 因果:推動故事的引擎

故事線

  • ABC故事線
    • A故事:主線故事。
    • B故事:次要角色為主的故事,或是主體之外的愛情故事。
    • C故事:不重要的故事,可能是笑點。
  • 戲劇張力線

收斂故事

  • 限制通往成功之路
  • 讓部分角色退場
  • 減少可能性
  • 善用敵對者

結局

  • 回應開場的結局(Circular Stories)
    • 迷失在老太婆的臭裹腳布中(Lost in exposition)
    • 沒有衣錦還鄉的交代(No homecoming)
  • 線性結局(Linear Endings)
  • 偏離主題的結局(Off-center endings)
    • 失焦(Change focus)
    • 上帝之手
  • 未完的結局
    • 模糊(Dithering)
    • 為續集鋪路

進階的情節技巧

情節裝置

  • 回憶片段
  • 草蛇灰線:預留伏筆(Foreshadowing)
  • 擬人化
  • 出人意料的發展
  • 紅青魚(Red Herring)
  • 不明的結局
  • 作者的化身
  • 打破第四道牆
  • 契訶夫的槍
  • 陌生化
  • 顯靈(Epiphany)
  • 充滿詩意的正義

六種讓玩家繼續追故事的技巧

  • 挑動玩家的好奇心
  • 情節結束的時刻
  • 分支劇情的開始與結束
  • 提出新的問題
  • 雞婆的提醒
  • 別忘了大魔頭

故事事件

故事事件表格

  • 故事事件編號
  • 故事事件類型
    • 行動(Action)
    • 反應(Reaction)
    • 設定(Setup)
  • 挑戰或問題
  • 對象
  • 結果
  • 情緒與理智
  • 下一個故事事件的新目標

事件追蹤表

  • 背景設定
  • 角色的情感體驗
  • 事件目標
  • 行動
  • 發生的衝突
  • 角色的情感經驗變化
  • 主題意義