星期二, 5月 28, 2013

牛仔、咆勃爵士與放屁車

▲ Tosihiro Kawamoto, "Cowboy Bebop Sunrise Art Works Book", Sunrise, 2012

  遊戲名稱:Rally-Man / 放屁人
  遊戲類型:Fan-made / Arcade / 偽八位元 / 放屁車
  所需時間:平均每小關一分鐘
 
「二十世紀的遊戲真是好啊,現在的遊戲越做越無聊;像我就對這種老派的的遊戲十分著迷。那時候,這樣的小遊戲就足以滿足所有人;駭客也一樣,人數少的時候過得比較好。不過這都是歷史了,現在到處都有嚴密的保護,除非你幹場大的,否則沒人會知道你是誰。這也是我為什麼要感謝你,真的,這是我一直想做的事......當個真正的恐怖分子。」
 
── Lee Sampson 《Cowboy Bebop : The Movie》
 
(音量注意)
(本遊戲採用Unity遊戲引擎,若出現"unity web player, install now"訊息,
請點選icon安裝unity web player)
 

星期二, 5月 07, 2013

二維二骨骼反向動力學解算

▲ Joseph Duffy, "Statics and Kinematics with Applications to Robotics", Cambridge University Press, 1996

Solving Two-Bone IK in 2D
 
  在上一回NP Lab: Coloring Problem遊戲裡,有兩隻會追蹤玩家滑鼠游標的機械臂。無獨有偶,這兩隻機械臂正好一個是由FK (Forward Kinematics, 正向動力學)控制,而另一個是IK (Inversed Kinematics, 反向動力學)控制。
 
  正向動力學相對來說簡單很多:由父層級的關節帶動子關節;拿人體來比喻的話就是我先決定上臂的位置(肩關節的角度),再決定下臂的位置(肘關節的角度)。在遊戲裡,所有的滑鼠位置都可以計算出一個特定的角度值,將上臂移到此位置後,再將下臂直直指向滑鼠,就完成了追蹤。
 
  反向動力學則剛好相反:由子層級的關節帶動父關節;對於人體來說比較像是伸手去拿茶杯,先知道手要往哪擺,再去想下臂、上臂在哪。而這時候,問題就來了:我們要如何一次求出兩個關節的角度呢?
 
  接下來這篇文章會帶入IK解算的數學定義、簡述一般通用的算法,並介紹我在NP Lab: Coloring Problem中所用的簡化算法。
 

星期三, 5月 01, 2013

NP Lab之著色問題

▲ T. R. Jensen, B. Toft, "Graph Coloring Problems", Wiley-Interscience, 1994

  遊戲名稱:NP Lab : Coloring Problem / NP Lab之著色問題
  遊戲類型:自製 / 益智 / 對奕 / 搶三十
  全破所需時間:???
 
(推薦使用Google Chrome 或 Mozilla Firefox 瀏覽器觀看本頁)