<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://blog.comicparty.com/styles/rss.css" type="text/css"?>
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>
 <channel>
  <title>奇想空間</title>
  <link>http://blog.comicparty.com/blog/1</link>
  <description>以動漫為起點，有聲的、有畫的，話題延伸至遊戲和跟她們相關的歌曲，談天說地，為知音人留下心聲。</description>
  <pubDate>Thu, 11 Mar 2010 23:40:01 +0800</pubDate>
  <generator>http://www.lifetype.net</generator>
    <item>
   <title>箭鬥重開</title>
   <description>
    &lt;p&gt;去年米奇朋友寄給我一個有趣的Flash game，那是一個射箭的遊戲，玩家要向一個不知道有多遠的對手放箭，直至射死他為止。雖然那遊戲有個正式名稱叫『Bowman』，但是我們都愛叫它『決鬥』。&lt;/p&gt;&lt;p&gt;遊戲畫面非常簡單，用兩個黑色的火柴人代表對戰雙方，只要按著左鍵拖曳滑鼠，就會顯示出角度和力度的數值，一放開左鍵，箭就會按你所選定的力度(速度)和角度射出去。至於能否殺死對手，就要看你射中的部位，如果射中對方的腳，那便要射很多箭才可以將對手擊倒，但如果中正頭部，就可以一箭定江山。&lt;/p&gt;&lt;p&gt;遊戲有趣的地方是大家不知道跟對方之間的距離，所以便要不停放箭來測距，看著對手的箭愈來愈接近自己時所帶來的緊張感，令到射中對手時那種快感大大提升，如果一箭射中對手的頭顱令對手致命，所帶來的優越感更是非筆墨所能形容。遊戲中還加入了風速，風向和中間有障礙物等可變動要素，大大增加遊戲的難度，玩家需要多練習掌握風勢和牆壁的影響。所以，這遊戲曾有一段時間成為公司同事的至愛。&lt;/p&gt;&lt;p&gt;可惜的是這遊戲是隻Flash Game，遊戲本身沒有網絡功能，所以要對戰的話，就要在同一部機玩，由於如果知道對手上一箭是用甚麼力度和角度來射的話，對反客為主很有幫助，所以在同一機對戰的時候，就要對方不要看著熒幕。這令到對戰起來很麻煩。&lt;/p&gt;&lt;p&gt;當時米奇就跟同事想，能否將這Flash Game網絡化，成為一隻可以在辦公室消磨一下時間、減減壓的小玩意。我們是打算以Visual Basic 6來寫，因為網絡部份寫起來較簡單，而且一定程度上支援Direct X，需要的時候可以召喚來用（雖然米奇覺得這麼簡單的遊戲應該用不著Direct X吧）。可惜的是米奇早就已經將數學老師的教導丟到九宵雲上，哪記得拋物線是怎麼計算呢？&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://blog.comicparty.com/resserver.php?blogId=1&amp;amp;resource=TP002080.gif&quot; border=&quot;0&quot; alt=&quot;遊戲開發物理學&quot; hspace=&quot;5&quot; align=&quot;left&quot; /&gt;就那樣就把事情丟下了半年，連同事都已經轉工了。前兩天，米奇閒逛星際城市去看看有甚麼電腦書，在一間售賣大陸電腦書的店裡找到一本名為『遊戲開發物理學』的書。雖然講述遊戲用物理及數學的書籍也有好幾本，但我覺得這本最好的地方是一面講解，一面把所有遊戲人會用到的公式，從每個應用角度都把它羅列出來。就以拋物線為例，書中不單會解說一下其原理之外，還仔細地列出物件飛行多遠、找出最高點、求出某一個時間上射出物的X,Y座標等各中應用公式，令米奇不用只拿著一條公式，還要再去想辦法求出其他應用公式來。&lt;/p&gt;&lt;p&gt;為了工作上的方便，米奇在這裡把書中提及的相關公式都寫在這裡：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;某個時間點 t 的時候拋射物的x軸座標x(t) = (v&lt;sub&gt;0&lt;/sub&gt;cos&amp;phi;)t&lt;br /&gt;某個時間點 t 的時候拋射物的y軸座標y(t) = (v&lt;sub&gt;0&lt;/sub&gt;sin&amp;phi;)t - (gt&lt;sup&gt;2&lt;/sup&gt;)/2&lt;br /&gt;某個時間點 t 的時候拋射物的x軸速率v&lt;sub&gt;x&lt;/sub&gt;(t) = v&lt;sub&gt;0&lt;/sub&gt;cos&amp;phi;&lt;br /&gt;某個時間點 t 的時候拋射物的y軸速率v&lt;sub&gt;y&lt;/sub&gt;(t) = v&lt;sub&gt;0&lt;/sub&gt;sin&amp;phi; - gt&lt;br /&gt;某個時間點 t 的時候拋射物的速率v(t) = &amp;radic;v&lt;sub&gt;0&lt;/sub&gt;&lt;sup&gt;2&lt;/sup&gt;-2gtv&lt;sub&gt;0&lt;/sub&gt;sin&amp;phi; + g&lt;sup&gt;2&lt;/sup&gt;t&lt;sup&gt;2&lt;/sup&gt;&lt;br /&gt;拋物線的最高點高度h = (v&lt;sub&gt;0&lt;/sub&gt;&lt;sup&gt;2&lt;/sup&gt;sin&lt;sup&gt;2&lt;/sup&gt;&amp;phi;) / (2g)&lt;br /&gt;拋射距離R = v&lt;sub&gt;0&lt;/sub&gt;Tcos&amp;phi;&lt;br /&gt;從拋射到落地的總時間T = (2v&lt;sub&gt;0&lt;/sub&gt;sin&amp;phi;) / g&lt;/p&gt;&lt;p&gt;g = 地心吸力的加速度，為常數9.8m/s&lt;sup&gt;2&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;有了這些公式，米奇就可以繼續那個我自己命名為『箭鬥』的遊戲計劃。希望終有一日，米奇能把它完成吧。&lt;/p&gt;
   </description>
   <link>http://blog.comicparty.com/post/1/36</link>
   <comments>http://blog.comicparty.com/post/1/36</comments>
   <guid>http://blog.comicparty.com/post/1/36</guid>
      <dc:creator>mickey</dc:creator>
      
    <category>工作札記</category>
      
    <category>箭鬥Online</category>
         <pubDate>Thu, 05 May 2005 02:49:58 +0800</pubDate>
   <source url="http://blog.comicparty.com/rss/rss20/1">奇想空間</source>
     </item>
   </channel>
</rss>