2013年8月6日 星期二

COSCUP 2013


今年是第二次參加開源人年度聚會 COSCUP,很幸運的在 47 秒內搶到限量 500 張的門票,和去年比較不一樣的地方:
  • 場地從中研院換到國際會議中心,應該是因為人數的關係,不過我猜 TICC 沒有下次了(笑),期待明年的小巨蛋(誤)。
  • 八軌議程,同個時段最多有八場演講可以選擇!
分享一些這兩天簡單的筆記:

DAY 1

第一天有點小遲到,好險大會準備的 NFC 識別證快速通關,加上場地夠大,還很多位置可以坐。

Open Data Initiatives for Taiwan

一開始開場是由 行政院政務委員 張善政 演講,主要是聊一些台灣政府目前 Open Data 的情況,認識了兩個網站:
前者是政府的資料開放平台,後者是最近很紅的「寫程式改造社會」零時政府。

座談會:Open Data 面面觀

莊庭瑞:政府 open data 才有機會知道資料是錯的,如果不公開,永遠沒有人會發現資料有錯。

Open Source Engine powering Big Data in the Cloud

完全聽不懂(失落),不過外國人念 Hadoop 聽起來好像在念 ぱるる

開源硬體有什麼意義?

Facebook 的 OCP (Open Compute Project) 讓很多人開始對 Open Source Hardware 抱有憧憬,認為可以像 Open Source Software 一樣,激盪出很多新的設計和發明。事實上是這樣的嗎?
Open Software VS Open Hardware
  • 擴充成本,硬體比軟體還高很多。
  • 軟體語言本質一樣,易學,硬體相反。
  • 軟體易模組化
OCP (Open Compute Project)
  • 只公開規格,沒開源。
  • 規格只適合大用戶。
最後講者 Ben 介紹自家開發的服務 Evdience Taiwan,主要是透過電話來錄音,適合報料蒐證。

g0v.tw 零時政府:從開放源碼到開放政府


講者為零時政府創辦人 clkao,以 Open Source 比喻政府的觀點還蠻有趣的:
  • 民主 = 接受 patch
  • 立委 = committer
  • 政府 = code in action
  • 公民社會 = open source
在成果展示中,我最喜歡失蹤兒少開放資料平台計畫這個點子,404 頁面與慈善公益結合。

當設計遇上opensource,人人都可以是設計師

講者為 Kamm,主題跟設計相關,認識了一些網站跟專有名詞:
  • WikiHouse - 建築設計的 open source,這超讚,離自己組小木屋的距離又更近了。
  • SketchUp - Google 3d modding tool。
  • Rhinoceros - 3D modeling software。
  • Grasshopper - 搭配 Rhino 參數化建模的工具。
  • RepRap - 開源的 3D 列印原型機。
  • Thingiverse - 3D 設計的社群。
  • CNC - 電腦數值控制工具機,這裡應該指大型的 3D 成型機吧。
  • Pure Data - 不太確定,好像是 3D model 的一種格式。

Yet another introduction to Git - from the bottom up

ihower 大大的演講,主要是講一些 Git 底層的運作原理,可是我聽不太懂 囧。
如果你能不用 git addgit commit 來 commit code,就可以不用聽這場演講了。

App on Server: NAS 上的 App 開發與商業模式

後悔來聽這場,基本上就是在廣告 QNAP NAS 這台機器,應該去聽騰訊的 HTML5 圖像引擎萌典才對。

An intro of web scaffolding tool using yeoman generator


這場是介紹用 Yeoman 打造一個屬於自己網站的 scaffold。

一小時 RWD 就上手


這場的講者是最近很紅的裝置藝術師 Even 大大,主要世界介紹一套不錯的 RWD column grid tool「SUSY」。

Build your own Trello within 200 Lines of Code

這場主要是用「Meteor」快速開發出 Trello 的原型,Meteor 最大的特色應該就是 client 跟 server 都在同一份 code 裡面。
另外認識了一個很棒的共筆網站「iCoding」。

AngularJS 開發實戰


這場講者是 保哥,主要是介紹 AngularJS 的核心架構,非常有幫助。

DAY 2

前一天結束一回到家就睡死了,所以第二天比較早起,早上是一連串跟遊戲開發相關的議程,非常期待。

行動遊戲 App 開發與 Open Source:Kamigami 的雙平台經驗

主要是介紹講者 笨笨的小B 團隊自行開發的遊戲引擎 Kamigami 的經驗分享:
  • LibGDX - 類似 XNA 的 Android game framework。
  • CocoaPods - iOS 套件管理。
  • Maven - Android 套件管理。
  • NuGet - .Net 套件管理。
  • 注意授權 License,建議只挑這幾個,BSD/MIT/Apache2/MS-PL。

Asynchronous programming with Combinator

講者是來自神來也的女性 Server 程式設計師! (受小弟一拜)。
Memory leak 沒經驗的程式設計師容易漏掉,有經驗的程式設計師沒睡飽的話,也會漏掉。

Modern Game Engine with Opens Source


講者 Owen 大大是 Space Qube 的開發者!
主要是介紹自行研發的 LynxEngine 遊戲引擎用到哪些技術:
  • Lua/LuaPlus/Mono (ScriptSystem)
  • Box2D/Bullet/PhysX
  • FreeImage
  • Zlib
  • wxWidgets
  • bmFont
  • FreeType

Using Lua to Build a Component-based Architecture for Game Apps

上午場的壓軸,是 半路 大大的演講!一大早出門忘記帶書來給他簽名了>"<。
主要是介紹用組件式開發來解決物件繼承會發生的「鑽石問題」。
寫太多 magic code 的話,哪一天睡不好,就是維護你程式的人在詛咒你。

Open Code: Why Linux's openness enabled it to succeed where all others failed.

也是一場全英文的演講,請到 Linux kernal 開發者 Greg KH ,基本上完全聽不懂 (泣)。
與現實世界相反,程式設計的世界中,low-level 的 programmer,level 一點都不 low,low-level 不是沒人要做的事,而是能做這些事的人不多。

DesignSpark 免費設計資源與 Raspberry Pi 新應用


講者是來自 RS Components 的香港小姐,中文講得好像有點吃力 XD,介紹了一個很棒的網站「DesignSpark」。

前端工程師如何與團隊合作:以開發 Drupal 專案為例

雖然對 Drupal 沒有興趣,但想聽聽 F2E 的團隊合作心得:

Raspberry PI and the future

最後一場,雖然對 RaspberryPI 有很興趣,但這場是英文。

Lightning Talk

因為今年的閃電秀過程太精彩了,忘記筆記,所以只挑幾個我想的起來分享:

Registrano

由 hlb 大大創辦,負責本次 COSCUP 線上訂票的服務,創下 47 秒 500 張門票秒殺的紀錄。
「怎麼晚一分鐘就沒票了,報名網站在搞什麼」。

Logdown

最近很火的 markdown blog 服務。

Mr.Bus

Python 正妹。(喂  ̄▽ ̄)==O) ̄#)3 ̄)☆

心得

今年議程非常豐富,大致上聽了:
  • Game 4 場
  • Open Data 3 場
  • Web front-end 3 場
  • Artist & Maker 3 場
  • Cloud & Backend technology 2 場
  • Tools & Utilities 2 場
  • OS & Embedded System 1 場
本次心得:
  • 最近政府議題夯,大玩黑畫面梗。
  • 今年看到好多人跌倒 = ="。
  • 開源精神遍及 Open Data,Open Hardware,Open Design!
  • 遇上好多網路上 foloow 的大大 :D
  • 可以聽到其他業界朋友談論自己公司的八卦(咦?

參考

2013年8月2日 星期五

我想做的遊戲


進入遊戲業兩年多了,但網誌上跟遊戲相關的文章卻很少,所以在截稿前夕,就來寫一篇跟遊戲有關的文章吧!
雖然這兩年間學到不少遊戲開發的相關知識,但這篇不寫技術,這篇純粹想聊聊「自己想做的遊戲」。
每位遊戲開發者一定都會有自己想做的遊戲,但絕對不會是目前你工作上的這款(笑),雖然嚮往成為獨立遊戲開發者,但看過半路叛逃的分享後瞭解,獨立開發遊戲並不容易,儘管如此,還是想分享自己心中的那一款完美遊戲

我想做什麼樣的遊戲呢?

簡單來講,有三個要素:

遊戲 X 生活服務 X 教育

遊戲?生活服務?教育?在仔細解釋前,先介紹幾款遊戲給大家認識:
  • OZ
  • Greed Island
  • 動物之森
  • 神奇寶貝

OZ

OZ 是在日本動畫 夏日大作戰(2009) 中的一個虛擬世界社交網站,
「OZ」與第二人生概念相似,但依照自己的經驗來講「OZ」應該更接近日本社交網站mixi的想法。
由於「OZ」系統與現實世界之間有著極高的整合度,來自世界各地的許多企業與政府組織都於此設有部門來進行互動,這使得在作為虛擬世界的「OZ」混亂也陸陸續續影響到真實世界的生活。

雖然是虛構的故事,但 OZ 中有幾個特色還蠻有趣的:
  • OZ 世界中擁有10億人口 (比 Facebook 多1億),幾乎是每個人都有一組帳號。
  • Client 端有 PC,手機,TV 等,與近年來跨平台特性一致。
  • 行政進駐,遊戲世界可以與現實服務做連結,例如:納稅,防災..
  • 企業進駐,直接在遊戲中的商城購物,也是一個與現實服務連結的商務平台。
  • 即時翻譯多國語言,這個感覺快實現了。
其中行政與企業這塊,就是我上面提到的遊戲結合生活服務,近年網路服務也逐漸往資料開放(API)的方向發展,要在遊戲世界中實現這些服務已經不是夢想。

Greed Island

貪婪之島 是日本漫畫《Hunter × Hunter》中的一個虛擬遊戲。

這是一個把現實世界當作遊戲的一個概念,遊戲中的角色,道具,事件都是用漫畫中的「念」製作出來的,當然,我們不可能用念能力來製作遊戲(笑),不過其實也可以把它看作擴增實境(AR)的延伸應用,貪婪之島最令我著迷的概念就是,「只要照著遊戲循序漸進,玩家本身就會得到成長」,與我的座右銘「最有趣好玩的RPG,就是自己的人生」相呼應,是理想中的「充滿遊戲的現實世界」。

動物之森

這款就比較正常一點了,是由日本任天堂製作,我把它定義為治癒型輕鬆生活遊戲。
這是個沒有固定劇情的開放遊戲,玩家可以在裡面獨自生活,不受預設的劇情、任務限制,許多人(小孩子或成人)享受這樣與有趣動物角色"對話"的遊玩樂趣。透過使用電玩主機的內部時鐘,這個遊戲可與真實時間相對映,因此有著實際的事件發生。

這款遊戲最早從超任時代就有了,一直到現在的Wii,3DS,都還是熱門保證的暢銷遊戲,我自己是從NDS版開始接觸,可以把它想像成自由度很高的「牧場物語」,基本上遊戲沒有你需要完成的任務,不用打怪升級,只需要跟村民聊聊天,佈置房間,種花草,抓蟲鳥,然後收藏在博物館,很悠閒的一款遊戲,跟大部分遊戲比較不同的,也是我很喜歡的一個系統,就是與現實時間同步,清晨到夜晚,春夏秋冬,都跟現實世界同步,特定日期還會有事件,例如聖誕節,所以每天都會滿懷期待的開啟遊戲,進入這個可愛的動物世界,雖然有下雨下雪這類天氣效果,但這個就不會跟現實世界同步了(雖然技術是做得到),總之,這是一款沒有壓力的遊戲,我很想做出這樣的遊戲!

神奇寶貝

上面才說到我想做輕鬆沒壓力的遊戲,結果這邊就要介紹這款要花大量時間培養寵物,練功破關的遊戲(笑)。
和一般人不同,這應該是我第一款接觸的RPG遊戲(國小六年級),讓我深深著迷,廣大的世界冒險,豐富的神奇寶貝,平衡的遊戲架構,與現實玩家的交流互動,都是這款遊戲迷人的特色。
不過,我提出這款遊戲想聊的不是上述這些,我想分享的是,這系列遊戲背後設計的世界觀。神奇寶貝的遊戲世界,其實都是參照現實某個地區的地圖來做參考的。

以上圖為例,右邊是日本九州的地圖,左邊是神奇寶貝紅寶石的地圖,基本上就是把九州往左轉90°。 當然不純粹是只有地圖參考這樣而已,對應的地點也會根據現實該地方特色,埋一些伏筆在遊戲劇情裡面,以巴哈姆特玩家分享的這篇文章來舉例,遊戲中有三隻神獸,長的很像原子彈,而且三隻神獸都能學習到「爆炸」這個絕技,然後呢?有趣的是,把這三隻神獸在遊戲中出現的地點與九州地圖做對照,可以發現分別出現在「長崎」,「宮崎」和「大分」,這三個地方是第二次世界大戰中,發生過大規模空襲的地點!這種藉由從玩遊戲來學習知識的概念我非常喜歡(好想以台灣為背景做一款遊戲啊)。


所以,我想要做怎樣的遊戲呢?

上面講的漏漏長,所以我到底想做怎樣的遊戲呢?老實講,我還沒有一個具體的架構和想法,但上面提到的遊戲中,都有我很欣賞,很想實現的概念在裡面:
  • OZ:深度整合行政+企業的服務在遊戲中。
  • 貪婪之島:玩遊戲的過程中,玩家本身也會得到成長。
  • 動物之森:與現實時間同步,沒有壓力的治愈系遊戲。
  • 神奇寶貝:藉由遊戲設計,讓玩家學習知識。
再回到開頭提到的,我想做的遊戲三大元素「生活服務」,「遊戲」和「教育」:

生活服務

與其說我想做遊戲,不如說我比較想做服務,一款提供現實世界服務的遊戲,可以在遊戲世界中看YouTube(電視),在遊戲中收發mail(信箱),在遊戲中閱讀RSS(報紙),在遊戲中購買amazon(購物)等...,近年來越來越多的網路服務都走向多螢一雲,跨平台的方向,也都有提供API讓開發者應用,節省許多自行研發的成本,加入這些元素有助於玩遊戲同時,也能得到現實的回饋。

遊戲

Gamification這個詞最近很紅:
Gamification(遊戲化),網站開發者認為遊戲化是現代的一個趨勢,遊戲化就是把遊戲的元素注入生活,是要讓生活更有趣,以及讓大家打破對遊戲的刻板想法,就像是以前玩遊戲比較偏向逃避現實,但是現在遊戲把虛擬的世界帶到現實,像是最近的電影阿凡達,LBS程式Foursquare,都是把我們跟以往認為是虛擬的東西跟現實連接。
乍看之下好像跟上面的生活服務是一樣的,差異是一個是「遊戲中結合服務應用」,一個是「服務中加入遊戲元素」。
而我真正想要表達的,是結合這兩者,一款可以讓你得到現實成就與回饋的遊戲,在遊戲中完成的每個事件,得到的每件獎勵,都是跟現實有連結的,不會只是一般打寶打怪升級這種一時的空虛快感。

教育

最後是教育,遊戲的開發在技術上來講絕對不會比其他領域來的輕鬆簡單,但是遊戲卻往往給人不務正業的觀念,尤其台灣大部份的遊戲就更別提了(看看那些電視上播的廣告),想抬起胸膛跟親朋好友說我的工作是在製作遊戲都有點困難,加上近年來手機平板普及,開發遊戲門檻降低,雖然對我們來講是好事,但同時也降低遊戲品質,沒有內容的遊戲充斥市面,重點是還賺大錢,這樣還有誰會想專注在遊戲內涵的思考?所以我常常在想,如果我自己要做一款遊戲,我會想從給小朋友玩的遊戲開始做,想想童年那些美好的回憶,那是段最單純看待遊戲的時期,不論是在遊戲中也好,現實中也是,教育一直都是很重要的課題之一,如果一款遊戲能讓我們的孩子學習到有用的知識,不但小朋友們玩的快樂又有成就,父母親也肯掏錢投資在孩子的教育競爭上。

結語

以上,聊了一大串外加一些小抱怨,雖然看似過於理想,但相似概念的遊戲一直都陸陸續續出現,現階段的我當然不可能把這個目標實現,只有持續關注遊戲的發展,不斷充實自己,收集所需的相關資料,當機會來臨的那一刻,才有能力好好把握住,感謝看完這篇文章的您,在此共勉之,加油!

參考文章