it鐵人賽技術分享

今天這篇文章的東西或許跟體感復健扯不上邊,但是這是公司少有揪團參加分享類型的公開活動,所以還是要跟有在看我們部落格的觀眾分享一下。這是由技術長發起帶領技術相關的人,連續寫30天自己有興趣的主題,期間跨過聖誕節、跨年,對我們的心智上是很大的考驗,但參加過程挺有意思的,心境上的轉換大概是:

  • 5天(我不知道要打什麼)
  • 15天(好累喔 好想放棄喔)
  • 20天(啊?打了20天了喔)
  • 25天(我發現我打不完,還有好多要打)
  • 30天(結束了好爽!!!)

一起參加這種活動真的滿好玩的。

好,進入正題

這系列文章,包含了Ruby on Rails, ReactJS, Redux。 至於為什麼想寫這系列,主要還是因為網路上很多文件都是分開設計,分開設計也沒錯其實,只是切得太開對rails 要傳遞的object不好處理。用官方推出的React-rails套件也可以,但是對asset precompile很不好施力。所以最後我選擇react_on_rails這個gem下去實作。

下面每天的文章標題都可以直接點進去看文章喔!!!

Ruby on rails

這系列文章裡,這個部分講了基礎的CRUDRoute、還有API設計。 主要是處理後端的MVC,跟Database溝通等等,讓前端reactJS跟Redux有東西可以吃。

Day 2, Rails 開始

Day 3, MVC 跟 scaffold

Day 4, Controller的CRUD

Day 5, 最後的RR,Rails routing

踏入React

這個子系列,先介紹了我要用的gem react_on_rails,然後大略的講了ReactJS幾個重點,然後講了npm跟webpack這些前端的模組化工具,好讓我把前端的東西好好整理在一起。最後,做一個假的ToDo List — ReadingList,並規畫他的前後端架構

Day 6, 先寫下接下來的目錄!

Day 7, React_on_rails gem 我後來還是放棄官方的了

Day 8, React_on_rails 先玩點範例 邊玩邊學

Day 9, React_on_rails Doc 的重點整理

Day 10, npm, webpack… 那些好用的工具寫一起

Day 11, 兩個React_on_rails範例

Day 12, React props and state 藏在component裡的變數

Day 13, React Lifecycle 不搞懂就掰了

Day 14, React components 各種寫Component的方法

Day 15, Reading List 假的todo list (切、分工)

Day 16, Reading List – Rails的部分

Day 17, Reading List – Rails部分-2

Day 18, Reading List – Rails部分-3

Day 19, Reading List – React部分-1

Day 20, Reading List – React部分-2

Day 21, Reading List – React部分-3

整進前端框架Redux

這邊就是介紹三個Redux主要的功能Store, Reducers, Action,並且解釋一下State要放哪裡的疑慮。最後再把前面Reading list的APP加入Redux,並且deploy上heroku。

Day 22, Redux – 先理解一下

Day 23, Redux 一樣先玩範例!

Day 24, Redux Action / ActionCreator 根本是歸納法

Day 25, Redux Reducers – State管理大師

Day 26, Redux Store 中控室

Day 27, Example: Reading List

Day 28, State in Redux or React? 搞混了嗎~

Day 29, Deploy上heroku吧!

總結

很多的Gem確實都有包含一些Rails的東西在裡面,但仔細想想他又應該只屬於前端的東西。 我只是想把前後端完整分離,讓後端專門跟database溝通,然後透過API告訴前端他該得到的資訊。 把前端的東西就用NPM整理再一起,要minify、要分割,就用webpack的模組化套件去處理。 這樣做完以後,對我而言,確實要改的方向簡單很多,也比較好分工。

希望這系列的文章有幫到需要的人,至少打完以後讓我自己不清楚的地方更加明瞭,也很感動我能連續打完30天的鐵人賽。


在我的號召之下,公司其他兩位同事也一起參加鐵人賽,順便PO上他們的文章:

  • 美術篇: http://ithelp.ithome.com.tw/users/20103836/ironman/1216

    這次跟著公司參加了鐵人幫的連續三十天發文比賽,覺得好累,不過在參賽過後,繪圖的思緒比起之前清楚了許多,也發現到每天抽出一、兩個小時的時間做一件事雖然是困難,但只要有毅力其實是可以做得到,而且賽後也讓我更有自信可以去挑戰更困難的事情。

  • 工程師篇:http://ithelp.ithome.com.tw/users/20103833/ironman/1205
    這次鐵人幫跟著老頭 Paul Hegarty 30天收穫良多真的是一次Demo學到很多東西,但是還是太趕了,每個Lecture 結束後都有作業,但實在來不及,想必做完作業因該會有其他收穫,缺點是有些從Swift2到Swift3.0的語法不同要自行去查找,不過IOS10 Swift3的版本快上線了,總而言之感謝Paul Hegarty,感謝鐵人。每天每天寫雖然後面像寫日記,但還是有收穫的。
廣告

平衡評估系統研發計畫

有看粉絲團的大家,應該知道我們現在再研發一套新的系統-平衡評估系統,平衡評估對治療師們是無比的重要,站姿平衡、坐姿平衡、坐到站、閉眼平衡等等,都是治療師們每天必做的工作。近日看了一部Youtube影片後,給了我們極大的開發靈感。

片中可以看到動態的偵測使用者的重心,並可以跟著使用者做不同的動作而移動。論文[1]中的方法是透過運算適當的關節旋轉量,並給予各個關節不同的權重,進而得知實際的重心位置。

論文[2]還提供了一種比較簡單的方法,不考慮關節旋轉量,僅以權重及關節三維座標去計算。

在我們研究治療師的需求後,做了一個prototype進行改良:

影片中可以畫出重心的偏移,並提供給他們專業的分布圖,讓他們評估參考。
若有相關需求的人,歡迎跟我們接洽,讓我們能替專業的你設計更符合你需求的平衡評估系統!

[1] A. González, M. Hayashibe and P. Fraisse, “Estimation of the center of mass with Kinect and Wii balance board," 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, Vilamoura, 2012, pp. 1023-1028.
doi: 10.1109/IROS.2012.6385665

[2] Manasrah, Ahmad Adli, “Human Motion Tracking for Assisting Balance Training and Control of a Humanoid Robot" (2012). Graduate Theses and Dissertations

Medical Japan 龍骨王專題報導

大家還記得我們去年也有參加過Medical Japan嗎?新朋友或忘記的人也可以同時看看之前的文章>>[Part 1] 2015 龍骨王大阪出差,  [Part 2] Medical Japan 介護相關的介紹

很快的,一年又過去了!!
IMAG0813

IMAG0814
很快的,一年又過去了,2016/2/25這天我們公司預計要參觀日本醫療器材展,來到這語言不通的日本,前一天看了要做到哪一站,然後就安安心心的出發了。殊不知,列車坐到以後,轉了一圈尋找指示牌,竟然完全沒有看到我們該何去何從,還好,列車上沒有任何一個人轉彎或脫隊,通通都往同一個方向前進,我們也就傻傻的跟著大家走,連地圖都不想翻了。結果,對!那就是我們要去的地方 Medical Japan !!!

IMAG0815

上面的展場配置圖,在此專題介紹下列公司及產品(也是我最感興趣的產品)~~~

  1. http://capimedi.com/support/bedside/img/EUCALIA-TOUCH.pdf
    他們的產品把很多原先紙本的東西數位化,用大家廣為熟悉的iPad進行操作。住過院的朋友都知道,當你住進去的時候,護士就要來開始對你進行詢問:吃素?過敏?哪些可以做、哪些不能做、醫院如何逃生……,實在很浪費護理師的時間,於是他們就把這些很runtime的事情數位化,在結合看診紀錄、求救、還有Youtube、數位電視等等的娛樂,讓你生病住院也有iPad可以解悶,實在是很人性化的設計,節省護理師們很多不必要的時間!!
    2016-02-26_1232192016-02-26_123249 他們其他產品請看>>>http://capimedi.com/support/

  2. http://www.princeton.co.jp/polycom/
    IMAG0826
    他們家的東西讓跨醫院的會議能更順利進行,除此之外,讓遠距醫療可以概念上的被實現:因為大醫院support小醫院,協助偏相醫院看診也是很有意思的一種"遠距醫療"
  3. kintone
    會展中有各式各樣的管理系統,很多都是架設在他們家的平台之上,簡單來說就是雲端的資料庫,把他應用在各個需要"管理"的企業。當然,這邊介紹的是醫療管理的應用。同時平台有提供API讓醫院或客戶可以串接對應的服務,也難怪只要產品有管理系統的,都會介紹到他們家的服務。
    IMAG0827這類Saas的服務最近推出越來越多,幾乎都是給你一個後台,讓你可以簡單使用,然後再開放存取的方法,讓你可以自己克制化一些功能。

除此之外還有一些新奇的機器手臂,透過顏色或形狀去分類藥物;護理車利用智慧型手機或平版取代,任何事情都透過掃條碼、外接溫度計、血壓血糖器、心跳脈搏器,讓護理師再也不用推著車一間病房一間病房的跑。

自動化機器
自動化機器

以上就是這次的專題報導,Medical Japan中有各式各樣的應用,有興趣的明年不要再錯過囉~。

ZigFu又要使用KinectV2的使用者有福了~

對於體感,相信大家都不陌生ZigFu這個Unity Assets。

可是在他停止更新以後,一直就都只有OpenNI、OpenNI2、KinectSDK。很不幸的,Kinect竟然還停產了,這真是驚天動地的壞消息。然而,KinectV2的高解析度、高運算力又難以抵抗,於是乎,我們興起了一個念頭:能否將KinectV2適用於ZigFu呢?

經過了我們的研究,ZigFu的架構不算精通也算八成懂,除了他包在Zig.dll裡面的東西我們無法深入研究外,ZigFu其他的Function幾乎都已經理解,剩下藏起來的部分,就發揮「大膽猜測小心求證」的精神,硬著頭皮刻下去!

首先,我們不違反ZigFu收費的原則,也不打破KinectV2對Unity的限制(USB3.0、Windows 8、Unity Pro)!!我們把我們開發的部分大膽公開,讓有使用ZigFu也有使用KinectV2的開發者共襄盛舉,相關教學在我們的GitHub,有興趣的歡迎Fork,有發現問題也歡迎指教歡迎Pull Request,大家一起讓他更精進吧!!

GitHub頁面:https://github.com/LongGoodLTD/KinectOneForZigFu
U
nity Forum Page: http://forum.unity3d.com/threads/kinectone-for-zigfu.352285/

我們是使用ZigFu中的SimpleViewer Scene測試的,也請想用的大家先從SimpleViewer著手喔~

這邊先跳過要安裝驅動程式及下載UnityAsset的部分,並且也請你們參考GitHub修改Zig.cs的code,然後我就直接開啟了SimpleViewer

  • deactivate LabelMap、Image、Depth
    OpenSimpleViewer
  • 插入KInectOneController prefab
    InsertPref
  • 將KinectOneController Object 設定到ZigFu的GameObject
    SetKinectObjToZig
  • 設定BlockMan到Kinect One Engage Single User component
    SetBlockman
  • 再把ZigFu設定到EngageSingleUser component
    SetZigFuToEngageUser

來看看結果喔!

沒偵測到人時他是深度影像
DepthView

有偵測到人,即時去背以及骨架偵測removeBackground(手短、只好讓自己斷頭….)

這也是我們龍骨王第一次Open Source的第一個大Project,歡迎大家指教囉!

 

KInect one (Kinect v2) 錄製FBX動畫

不囉唆,先來看個影片:

============工商段落=============

想加入龍骨王嗎?我們很需要工程師喔~
如果你妳你妳對龍骨王有興趣,請寄履歷到joseph@longgood.com.tw 我們會儘速與您聯絡~

================================

(以下是來自實習生恆毅的教學、筆記文)

動作檔錄影過程記錄

(0.)準備工作,首先,確保你的電腦能夠符合你所要使用的偵測裝置,以KinectV2來說,只能使用Windows 8或是Windows8.1,同時也需要具有USB3.0等等配置。

(1.)接下來要先安裝一些必要的工具,以下是必須要使用到的工具:
可以進行體感偵測的裝置,以下使用KinectV2。
安裝記錄體感資訊的iPi Recorder,以及辨識動作的 iPi Mocap Studio。
可以在以下連結中找到下載地址:http://ipisoft.com/store/

(2.)下載下來之後,依序先安裝iPi Recorder再安裝iPi Mocap Studio,在安裝的過程之中會自動地詢問要不要安裝一些必要工具,一一安裝,安裝完成之後就可以開啟iPi Recorder準備來做動作瞜。
(3.)接下來就是做動作的時候了,再開啟程式之前,記得先將偵測裝置連接到電腦上,確保電腦讀取好了,再開啟iPi Recorder,先選擇想要使用的偵測裝置,這邊先選擇Kinect v2之後選擇「Record」按鈕,就會進入到偵測設置的畫面了(若是同時連接的很多裝置的話,也可以多重選擇喔)。

(3)選擇偵測器

圖3.1, 選擇kinect v2 sensor

(4.)先在SETUP中設置基本設定,之後就可以進到BACKGROUND中設定背景,告訴偵測裝置哪些是背景,裝置放好位置之後,就可以按下「Evaluate Background」,之後靜待機器掃描背景幾秒鐘(掃描背景的時候,人先不要進到畫面之中喔!),再掃完背景之後,就可以用「Show Background」來檢查人物跟背景有沒有分得夠乾淨了。

(4)基本設定

 

圖4.1,  基本設定

kinect v2 評估背景

圖4.2, Evaluate background

(4-3)偵測中

圖4.3, 評估中,畫面中不要有使用者

(4-4)偵測完畢

圖4.4, 抓出背景了!之後的動作這些都不會考慮進去。

 

(5.)完成之後,就可以開始錄影了,進入到「RECORD」之後選擇「Start」,就會開始錄影,建議錄影最一開始的動作以T字動作開始,因為在之後便是動作的時候,基礎動作為T字動作,在辨識上會比較不會出錯

(5)錄製動作

 

圖5.1, 錄製動作

(6.)錄完影片之後,會跳出一個視窗,其中有一個按鈕可將其送至 iPi Mocap Studio中,選擇後將會自動開啟 iPi Mocap Studio。

(6)傳至運算軟體

 

圖6.1, 匯出至 iPi Mocap

(7.)進入到 iPi Mocap Studio之後要先選擇該影像是屬於男還是女以及其身高,然後就可以看到Kinect所擷取到的深度影像與影片在3D畫面之中,確認影像深度資訊等沒有問題之後,將時間軸拉到最一開始。

(7)選擇男女身高

 

圖7.1, 選擇男女、身高

(8.)接下來調整場景中人物的位置,讓其對齊Kinect所讀取到的動作,也就是讓兩個T字人物動作貼合。(所以第5步一開始要做個T字形的動作,以利對齊)

(8-1)人物還未對齊

 

圖8.1, 讓紫人疊上藍色的人

(8-2)對齊完成

圖8.2, 對齊結果

(9.)對齊完整之後,選擇右邊「Tracking」中的「Refit Pose」,確認兩者個T字動作沒有問題,之後就可以再選擇「Track Forward」,之後要等待一段時間(錄製越長等越久),程式會開始每個影格的去計算人物的動作。

(9-1)Refit Pose

 

圖9.1, Refit Pose

(9-2)Track Forward

圖9.2, 逐格向前追蹤

(10.)完成之後,再選擇「Jitter Removal」選項,依照比例讓偵測動作可以更加平滑化,同樣也要等待一段時間。

(10)Jitter Removal

 

圖10.1, 移除抖動雜訊

(11.)最後再次確認捕捉出來的動作沒有問題之後就可以輸出了,選擇左上角「File」,往下選擇「Export Animation」,之後就可選擇要輸出的動作檔名,確認之後就會將動作輸出了。

(11)選擇輸出

圖11.1, 匯出動畫

(12.)若要提供給Unity使用,可以輸出FBX的格式,就可以讓Unity讀取到了。

(12)選擇FBX

 

圖12.1, 選擇輸出FBX給Unity用。

之後呢,只要將這個FBX檔案丟到UNITY中,就可以看到UNITY的動作了!!!

2015台北遊戲開發者論壇 參加心得 DAY 2

《DayTwo》 7/24星期五 天氣:嗨到不行! (From 實習生 恒毅)
經過了昨天一整天的講題,想到今天的講題中還有兩堂「雷亞遊戲」的講題,真的是讓人感到萬分的期待,而我特別想要了解開發歷程分享或是如何與團隊互動相關的議程,因此今天選擇的也是跟此相關的議程拉。
同樣的早上的課程是全部的人一起的,沒有教室的區分,第一堂講題是由唯晶數位總經理所帶來的「打造 IP 手遊成功方程式」,恩…不過其實稍微了解一下大概要講述的概念其實與我創作遊戲的價值觀還蠻有差異性的,因此就果斷決定不去聽了! 至接跳到下一場重頭戲「雷亞遊戲」所帶來的講題吧!

《「發售之後,你想留下的」》─ 游名揚
這個講題由雷亞遊戲CEO同時也是最新上市的遊戲《Implosion 聚爆》的製作人來主講,主要在於分享雷亞至今三年多來在市場上,如何尋找營收和品牌上的平衡點的過程。
「Terminator(魔鬼終結者) VS Photoshop」為這個演講破題,這兩種東西有何關聯呢?
Terminator至今已有30年歷史,同樣Photoshop則是從1987年至今,兩者同又有著長久的歷史。講者繼續往下分析Terminator屬於電影類型,而PS則是軟體服務,在兩者上有一種「可累積性」的差異存在,電影的可累積性較低,與軟體服務不同,軟體可以藉由不斷不斷的更新因此相較之下就具又較高的「可累積性」,而遊戲產業則有一種介於兩者之間感覺,公司的營運方針會影響著會比較靠近哪一邊。
接著講者說明,公司在營運上,如下圖不外乎是將資金投入到製作,製作完成後上架銷售或是營運,取得的收益大多會再繼續投入到下一款遊戲的開發中,然而在這些不斷的循環之下,有甚麼東西是所謂「具有可累積性的」?

資金→→→製作→→→→上架銷售→→→收益→→個人取得
↑                    ↑ ↓         ↓
↑                    營運          ↓
↑                                  ↓
└ ← ← ← ← ← ← ← ← ← ← ← ┘

講者繼續將「可累積性」的概念套用在個人、公司、產業上面去說明,對於個人來說,在不斷的製作上市的過程中,最明顯可累積的東西當然就是作品了,再來還有製作的技術力、製作經驗以及非常重要的自信心等等。
那麼對於公司來說,在這樣子的循環之中,甚麼東西又是屬於「可累積性」的呢? 當然就是自家IP(Intellectual Property智慧財產權)、品牌、創作的方法以及文化了。
那麼在提到了品牌的同時,講者說到,他認為開發也是屬於行銷的一個部分,所謂「無法量化的內容」,因為當你花了更多的心力在開發遊戲上時,自然而然的玩家也會互相地去介紹遊戲,進而達到行銷的部分效果。
最後來到「產業」的面相,在產業中具有可累積性東西便是:擴大創作需求、合作範圍等等,而在介紹這個部分的同時,講者以自身健身的經驗來說明,健身中分為「徒手訓練」和「機械訓練」兩種方式,當我們做的是徒手訓練的時候,不只是我們想訓練的肌肉會成長,同時也會練到其他相關的許多小肌肉群,而機械訓練的時候,因為機械會幫助你進行很多部分的出力,因此你只能訓練到正在訓練的部位,講者將這樣的方式帶入到「可累積性」的概念上,當我們在徒手訓練的時候,也會漸漸地累積許多小小的成長與進步。
講者認為,在台灣這個地方,我們擁有一流的人力,但是我們缺少的是大型合作的機會,希望可以不斷地去累積這些屬於「可累積性」的內容,讓整個產業不斷的成長。

然而一個公司當然是會需要賺錢才能生存,那麼該開發什麼樣的遊戲才好呢?
講者將其定義成兩個主要不同的方向「品牌導向」、「營收導向」。所謂品牌導向的遊戲該具備的要素為,這款遊戲著重在遊戲性、美術設計、完整的遊戲體驗等等,而營收導向的遊戲則會考慮較多的市場性、課金能力等等,而一個良好的公司應該要同時具有品牌導向的遊戲與營收導向的遊戲,藉由營收向遊戲提供穩定的資金能夠繼續開發品牌遊戲,進而不斷的去累積這些具有「可累積性」的內容。
接著講者己續往後提到,在製作的過程中突然的出現身體上的病情,好險在最後診斷中顯示只是虛驚一場,因此在往後的生活中又有新的一些領悟。
整場演講下來,最後主講者將重點重新地說明了一次,就是簡單的兩句話「多做可以累積的東西,多做讓自己快樂的事情」。

非常有收穫的一場演講,特別是在品牌與營收之間有了更好的區別,今天挑的演講還有最後一場還是雷亞的演講,非常的期待阿。

《別太敏捷遊戲開發:《Implosion 聚爆》開發經驗分享》─ 鐘志遠
最後一個講題,同時也是這兩天下來影響我最深遠的講題,這個講題中很有趣的敘述了在製作遊戲中「人與人」之間很重要的一些要素,也解答了我心中一直有的問題。
好吧!那我們就開始進入講題吧!
這個講題為雷亞遊戲近期上市的作品《Implosion 聚爆》的首席工程師,並同時負責該專案之管理工作的 鐘志遠先生為主講者,主要在講述遊戲的開發過程中,嘗試運用Scrum敏捷開發的經歷與在過程之中遇到的問題與解決方式。
Scrum敏捷開發是一種敏捷軟體開發的方法學,簡單來說它提供了很多的步驟與方法讓團隊在進行軟體開發的時候,可以更有效率地去進行開發,其中有很多的步驟都有其加速開發明確性等等,本人研究的還不夠多,不過有興趣的人可以去搜尋一下。

講題開始的時候,講者簡單的介紹了一下自己,接著說明他讀的一本Mike Cohn的書「agile game development with scrum」,覺得Scrum是一種很棒的方式,於是就開始嘗試使用了,但是還是會出現許多問題,「時間估計總是有未完成的工作、做到一半時找到更好的方法」、「每天的進度表也只是把昨天的複製貼上」、「美術與程式工作不同,難度時間無法精準的估計」,結果最後大家開會總是客客氣氣的。
然而在這些問題出現之後,團隊的走向就很有可能踏入了誤區,在一開始看到Scrum的時候,可能將其當成了一種「神奇的方法」能夠過速的完成開發,但其實更多要注意的是應該要去培養團隊「持續改進」的方式去製作,運用像是「調整→觀察→問題→方針→調整」不斷的去循環,講者提到之前他犯的一個錯誤,開發團隊中其中一人提出了一個構想,但是他因為覺得不好而很快地就將它打掉,殊不知其實他是和許多的人討論出來才提出的,在這樣的狀態下,就會產生「挫折感」,就會去「靠北XXX」發文(哈哈哈~),因此「團隊文化」是非常重要的一件事,很重要所以講三次。

透過Scrum的說明回到了一個很重要的一個關鍵,那就是「人與人」之間的互動,講者提出兩個很常見的問題:
1.專業沒有被尊重
2.專業沒有辦法接納來自非專業的看法
的確,這也是我所在的團隊所面臨的問題,講者繼續說明,在這樣子的狀態下,在會議與討論上就會時常出現「似是而非」的結論,長久下來就會產生「不信任感」,其實問題就像冰山一樣,表面顯示的也只是一點點而已,這也是團隊文化所要非常注意的一點。
每個團隊成員,身上一定都會帶有100%的專業,每個人都會想要做好自己所負責的內容,而在這樣強烈的專注之下,時常會出現「專業的盲點」,「每個人只看自己眼前的部分」,美術想畫出最好的圖、程式想寫出最好的系統、專案管理想維持最好的進度運作等等的的問題,但是其實「局度最佳化的問題」並不是最重要的,團隊的文化與潛意識也是更重要的一部份,因此各個職位間「專業VS非專業」需要去抓出更好的平衡點。
同時講者也提到一個很重要的因素,當我們正專注在眼前的問題的時候,我們就可能會陷入「專業的盲點」之中,而在這樣子的狀態下,並不是因為不相信與不尊重,而是因為我們專注前方的任務,將自己的背後交給夥伴去掩護,務求在互相信任的狀態下,不斷的去改進團隊之間的文化,營造更好的團隊,尊重專業,專業了解非專業,在講題的最後則是以《刺客教條》著名的語錄「Nothing is true ,Everything is permit. (萬物皆空,萬事皆允)」作為結束。

最後的Q&A時間:
有些人問到了有關於Scrum內容的問題,因為了解不多,在這邊就不多敘述了。
Q作為專案的領導人,在團隊討論之中,會不會發表很多意見?
A其實當你是一個越接近Leader的時候,就要越傾向一個聆聽者,不應該在討論的過程中做出太的干涉。

Q如果希望能讓團隊的人也了解這些方式,應該要怎麼做?
A兩個月後會有影片上傳(小開玩笑地說)。

活動這邊算是一個尾聲了,整個過程下來,非常的讓人感到興奮也學到了很多新的知識,很多的內容套用在我們身上的時候,真的也是相當的受用阿。
以下這個問題是我覺得非常有趣但是卻有點忘記是在哪一個講題中所聽到的了,因為蠻有趣的,就當作文心得的結尾吧。
Q當你的團隊已經出現了「不信任感」的問題,抑或是面臨了毀滅的狀態下,應該要怎麼做?
A這應該是一個很簡單的答案吧,講者反問說「你跟你女朋友吵架的話,你要怎麼做?」。
好好的去溝通,建立團隊文化吧。

================================================
想加入龍骨王嗎?我們很需要工程師喔~
如果你妳你妳對龍骨王有興趣,請寄履歷到 joseph@longgood.com.tw 我們會儘速與您聯絡~

2015台北遊戲開發者論壇 參加心得 Day 1

2015台北遊戲開發者論壇 參加心得 (From 實習生 恒毅)

這已經不是幸運可以形容了,總之真的是非常感謝龍骨王的幫助,這次才能夠參加期望已久的"台北遊戲開發者論壇",講題的內容也真的是紮實到了極致,特別是對於正在準備畢業專題的我來說,給了我很多新的思考想法,以及以前完全沒想過的概念。
不過這是重點在於參加的心得啦,所以就趕快進入到活動的主題吧。
《DayOne》 7/23星期四 天氣:酷到爆炸!
這是展覽的第一天,早上的議程一共有兩個講題,特別是其中一個講題是製作「紀念碑谷」的遊戲總監,而第二個講題則是有關 Youtube和Youtuber在推廣遊戲上的關聯性,不過因為早上還在協助公司展覽攤位上的事物,這兩個講題就忍痛先略過吧哈哈。
時間很快地就到了下午了,那我們就進入心得的第一講吧!

《ARM 前瞻技術看行動遊戲平台的未來發展》 ─ 莊智鑫
吃過午飯之後趁著人潮還沒湧進會場,先進去找了張位子坐下,這次的活動兩天在早上與下午都有不同的講題,早上在每個時段都是共同的議程,而到了下午會場將會被切成三個區塊,已A、B、C三個講題同時進行,大家可以選擇在該時段想聽的講題參加。
因為「ARM前瞻技術」與下一個「tonypai」的講題中間是沒有休息的,所以就先聽聽看多了解一下啦。

講題中提到ARM著重在晶片的開發,他們的技術應用在各個不同的地方,很多大家都耳熟能詳的公司都有使用他們的晶片技術,不過因為本人沒有在這方面的知識(還真的是幾乎全無阿…),在此就不多說太多的想法了,總之其實是很了不起的東西(喂!就這樣子帶過了阿!)。
不過其中講者有提到,他們也有很活躍的社群,有興趣的大家可以多多去看看。
http://community.arm.com/welcome

這一堂講題只有30分鐘,和下一堂相加起來剛好一小時,那我們就無縫銜接下一堂課吧。

《獨立開發新手也能做的簡易 APK 內容防護措施》─ tonypai
在FaceBook上很多Unity社團中專業的潛水員我本人,對於tonypai這個人名當然不會感到陌生(特別是大頭貼阿!),當初在議程表上看到這個講題,真的是感到非常的興奮阿,因為本人對於獨立遊戲非常感興趣,同時也完全符合新手的條件,簡直就是一堂必須聽的講題。
標題下的非常清楚,「獨立開發新手也能做的簡易 APK 內容防護措施」,那麼到底會怎麼講呢? 非常酷的直接現場DEMO耶!
講者在初步的說明之後,就開始用電腦快速地開始進行DEMO,對於簡易的防護措施提出了幾種方式,但其實也都說明了更進一步的破解方法(好危險啊這個!)。

現場也示範了三種防護與其破解方式:
1.無防護的狀態
2.藏Coroutine的方式
3.代碼混淆的方式

不過其實最後說到了一個很重要的重點,那就是「道高一尺,魔高一丈」,身為遊戲開發者,我們當然不希望遊戲被破解,亂改參數破壞平衡等等,但是與其花上一大堆的時間思考該如何反破解,還不如好好的去將遊戲做的更好,增加更好的遊戲體驗,在防盜上在請專精於這方面的專家來做,才是更好的一種方式。

因為本人還是很初學的程式,沒有辦法將DEMO的過程與手法完整的說明,不過講者有使用到一款名為ILspy的程式,有興趣的人可以研究看看這篇文章。

「.NET反組譯工具:ILSpy, Telerik JustDecompile」
http://kevintsengtw.blogspot.tw/2011/09/netilspy-telerik-justdecompile.html

連續兩場講座只是短短的一個小時,已經感受到有點越級打怪的感覺的XD,不過反而是對於之後的講題更加感到興奮阿,下一個講題選擇了一個一小時的講題,在短暫的休息時間之後,就前往會場找好位子開始了。

《如何將 30MB 的 APK 簡化成 6MB》─ 林育任
起初我總是覺得30MB也不算是很大的,為甚麼會需要壓縮到剩下6MB的這個步驟,不過講者一開始提到的動機?馬上就回答我的疑問了。
首先,使用者在安裝遊戲的時候,檔案越大的遊戲一定很自然地會降低下載的意願,所以檔案當然要適當地去壓縮大小。

講者說到,在中國的市場中有著一個月5元、30MB的流量的模式,以及預裝市場的模式,因此檔案大小將會大大的影響自己遊戲的普及率和玩家想使用的心情。
預裝市場指的是當使用者購買手機的時候就會先幫你安裝在手機上面的的方式,但此方式限制了APP的大小,只有5MB與10MB的兩種模式。
在知道了這麼多小檔案的優點了之後,能夠把檔案變小才是真正困難的地方啊,講者接著開始說明PNG格式與JPEG格式的差別與使用性。

以下簡單的概述格式意思,有興趣的人可以在搜尋更多相關資料:
JPEG:可以做到很好的壓縮且不會有太大的圖像失真,但其無法儲存透明部分,因此盡量將其使用在背景等等大型圖片上面。
PNG24:可以做到透明度的變化,但其檔案大小較大,減少此圖檔的使用,將其用在重點上面(商城等等)。
PNG8:只能做出透明與不透明兩種選項,但是檔案相較PNG24小很多,遊戲中的多數圖檔應使用該種模式。

簡單的敘述完圖檔格式的差異之後,講者進一度開始說到如何去運用OpenGL的一些顯示模式來將JPEG的底色濾掉,讓JPEG也可以做出去背的動作。
再來則是運用變色的動作讓同一個圖片可以有更多變化性,減少一大堆同類型的圖片。
講者也提到,遊戲中所要使用的文字,可以將其所有要用的字存成BitMap來減少檔案大小。
壓縮到現在,應該已經壓縮了非常多的檔案大小了,但是若是還是需要再壓得更小的時候,就可以開始將畫面中的UI做重新組合的方式。比方說可以將所有左右對稱的圖片裁切剩下一半,剩下的運用程式的方式產生,或是將寫條等等UI,將頭尾切下、中間可以留下一小段在做拉長就可以了將所有要用的圖片及盡可能的縮減,34MB最終便可達到6MB。

吸收了不少新知阿,接著又是半個小時的休息時間嚕,一樣提前10分鐘前往會場,沒想到還是一樣只剩後面的位子有空了呢。
OK!開始瞜!今天最後一場。
《成功建立你的行動遊戲品牌》─ 高偉傑
講題的名稱聽起來不是說非常有霸氣的感覺,但是萬萬沒有想到,這場演講是我今天最大最大的收穫,筆記也是滿滿記了一大頁。

講者非常有自己的想法,全程沒有使用PPT,雖然少了超大型的PPT,但是講到的內容卻是非常有意思的,絲毫沒有因為PPT而變得沉悶。
講者從「好遊戲的定義」破題,講者認為一款好遊戲必須要具備三個要素:「競爭」、「重複性」、「好玩」,而且這邊說的遊戲不只是電玩這方面的,舉例當今的熱門球類運動也都具有這樣子的要素在。
競爭:遊戲中需要有競爭的元素,可以讓玩家感到刺激感,當然這不只是侷限於人跟人的競爭,
重複性:好遊戲需要有其可以重複不斷體驗的內容。
好玩:最重要的就是要「好玩」,遊戲能夠讓人獲得樂趣。

簡單的提過「好遊戲的定義」之後,講者開始說明,建立遊戲品牌的同樣也又三大要素:「市場」、「品質」和「時間」。
「品牌不是用一大堆宣傳手段去傳達,而是明確的做到了遊戲之中」,品牌的三大要素之一「市場」,所要表達的是切入市場的正確性,講者以自身的遊戲工作室「Game Stew」為例來說明,該公司明確的定義自家的品牌的遊戲走的是「復古」和「反差」的特性,主打3、40歲經歷過早期遊戲世界的大叔們,運用復古的遊戲畫風或是玩法,帶給玩家實際上玩起來比看起來的還要好玩的「反差感」。
第二點「品質」,講者建議大家,不要讓做遊戲成為你的「工作」,而是要讓它成為你的「生活」,如此地去把自己的遊戲做到好玩,因為若是要建立出自己的品牌,「品質」一定是讓玩家留下印象的一大要素。同時講者也建議想要做品牌遊戲的大家,帶著第一步作品,就決勝負的心態下去製作遊戲。
第三大要素「時間」,就像講者所說的「品牌就像酒一樣,需要時間慢慢地去成長」,開發者應該要去規劃時間的流程以及自己產品的上架,以Game Stew為例,該公司以平均6個月初一款新遊戲的速度穩定的再推出遊戲,要建立品牌至少要有兩款遊戲品牌才會慢慢地去形成,講者也特別提到,雖品牌需要時間去形成,開發者也要為了品質努力去做出好的遊戲,但是別讓開發時間太長以至於玩家開始出現「這間公司還存在嗎?」的疑惑。
到了這邊講者提到當你做的遊戲開始有一定的數量時,就可以開始推出Bundle合輯包,販售Bundle所賺得的金額甚至會跟一款新遊戲推出時的熱賣期相近呢(太好賺啦!)。

在對於品牌的幾個要素的說明分析之後,講者開始分享自己製作遊戲15年以來的一些想法與經驗,講者認為獨立遊戲「不是由人民投票出來的東西,他是有自己的粗糙感和棱角的東西」,因為當為了符合所有人了想法而去製作遊戲的時候,遊戲會像一顆圓球一般,很難留在玩家的心中,因此請大家不要害怕去製作一些有棱有角的遊戲吧。
講者也有提到,其實大家都知道的遊戲,不見的就是很多人做的遊戲,比方說像是正統的RPG遊戲,就沒有很多人在製作,而講者也告訴大家,當你決定要製作獨立遊戲的時候,就要開始思考要不要去製作品牌這個部份了,先把路想好,再去走路。

最後的Q&A時間:
因為講者自己的遊戲主打西方市場,有人提問到對於海外的市場該如何去定位客群的設定?
講者也很霸氣的提出兩種方式,最快速的方式便是:「不要理他」。因為西方著重在個人化與一種英雄主義的特性,因此客群對於擁有自己的味道的遊戲會感到興趣,講者也建議大家不要去製作同性質的東西,應該要去製作自己的味道。若是真的想要了解西方的喜好等等,可以多看西方的卡通、電影,了解目標的文化。

說到這邊時間也到了,今天的講題就到這邊結束了,因為我對於獨立遊戲製作也感到非常有興趣,這個講題也對我非常的有幫助,同時也對於自己專題有了更多反思的空間。
講題結束大家也就收拾東西回家啦,滿心期待明天重量級公司「雷亞遊戲」的講座啦!

================================================
想加入龍骨王嗎?我們很需要工程師喔~
如果你妳你妳對龍骨王有興趣,請寄履歷到 joseph@longgood.com.tw 我們會儘速與您聯絡~

醫院讓給急性患者,走,我們回家做復健

noooo
圖文不符現在正夯。

體感工作坊實在太熱門了,還記得怎麼安裝嗎?前情提要在給大家軟體安裝教學:軟體安裝教學 ,這些前情提要很重要很重要很重要!

好,今天為什麼要寫這篇文章呢,因為有民眾詢問:醫生說可以回家做運動,能不能讓他們玩Kinect?
一般的Kinect運動可能太激烈,沒關係,體感工作坊教你做簡單的小遊戲,邊玩邊復健!

我們決定把體感工作坊的程式稍做修改,把人的移動速度及球掉落的速度做成參數,讓大家可以自訂數字~來,遊戲影片(從8秒開始 first round):

看到了嗎?中間調整了兩次的參數,分別是 “球速=0.1 & 靈敏度=5″ 以及 “球速=1 & 靈敏度=15″,人物移動的靈敏度差很多~球的速度也是。

另外,我們不只如此!

我們決定把原始碼公開~讓更多更多有需要的民眾下載。內涵安裝教學、軟體、及驅動程式,根本是懶人包。

>>>> 在這裡 http://bit.ly/1bOnYI7  <<<<

你有Kinect嗎?你看到Source Code了嗎?打開Scratch現在只能用滑鼠對不對?沒關係!這邊有密技 –> Scratch_Kinect
看完你就可以把他改成Kinect體感,開始動動動囉。

這個版本是沒有接雲端跟報表輸出的喔~~一般民眾應該不太需要,如果你需要的話請再跟我們接洽~~有穩定的雲端功能視覺化圖表、還有各式各樣的參數調整跟我們接洽才再來談談我們的Know-how吧

另外另外,Source Code僅供娛樂使用,要視自己可以運動的幅度作調整,有任何問題都可以跟我們討論。可是千萬不要忘了偉大的治療師跟醫師喔!!

最後我們來俏皮一下,看下面的圖猜一句成語吧~

當龍骨王遇上OpenCV

龍骨王OpenCV了~~~OpenCV對求職者而言,必須先把你的CV (Curriculum vitae)給Open,才能讓人資們快速找到你;對我們龍骨王而言,我們不是要找工作,我們接觸的是強大的Open Source軟體: Open Computer Vision.

是的,OpenCV,全名叫做 Open Computer Vision,主要在處理電腦視覺中一定會碰到的問題,像是影像處理、分析、人臉辨識、Sensor介面、以及機器學習。
我們一直在做的體感偵測技術,就是深度影像及彩色影像的結合,在原先的Library中,已經處理像是距離偵測、關節座標、人物去背等等繁雜的工作。這次結合了OpenCV,我們實作了如何從影像中擷取特定線段,這邊先介紹我們使用的OpenCV的內建函數

先來看看我們的灰階影像Gray

 

(真想把自己給P掉)

1. 邊緣偵測:先把原始影像灰階處理以後,丟進函數做邊緣偵測,把其餘不必要的資訊濾除,讓複雜的資訊單純化,好,看看邊緣偵測的結果。
Canny是不是很帥啊?這樣就看不出我了,而且複雜的顏色都變簡單的線條了~

2. 線段偵測:將僅有邊緣影像的資訊分析,取得長度夠長的線段,並保留線段的端點座標,並以此端點座標作分析,來看看我們的邊緣偵測以後會有哪些線段吧。
HoughLinesP

OpenCV實在是太強大了,好多功能可以讓我玩,說實話,體感偵測搭配上電腦視覺,真不知道以後龍股王的遊戲到底會怎麼樣!!

 

政大徵才月~~龍骨王來啦!!

不囉嗦,先給你information!

活動訊息:http://career.nccu.edu.tw/event/career-fair/
公司訊息:http://career.nccu.edu.tw/event/corporate/%E9%BE%8D%E9%AA%A8%E7%8E%8B/

F109 龍骨王、
F109 龍骨王、
F109 龍骨王。

很重要所以要說三次!!

地點在四維堂,快來找我們,我們很厲害~~~~
四維堂在哪其實我也不知道,我只記得政大很大很大。

實習生真的是很可愛很活潑的一群小朋友,替我們公司增添了很多樂趣,而且每個實習生都很厲害其實,真不知道我們到底是燒了多少香才有這樣的福氣~~~。

阿還有,時間是早上10:00~16:00,晚來就看不到我們了喔!!

恩? 原來政大再辦這活動 還有抽獎的部分?不來走走抽抽獎然後深入認識我們嗎?不管怎麼樣,就是明天政大四維樓見啦。