專利名稱:視頻游戲系統的制作方法
技術領域:
本發明涉及視頻游戲系統,更具體地說,本發明涉及有一個設置在控制器中的把操作信號提供給視頻游戲機的振動源,根據游戲圖象產生振動的新穎視頻游戲系統。
傳統的商用視頻游戲機涉及已經實用的所謂人體感應游戲機,為了更進一步增強游戲的興趣,這種游戲機可以引起游玩者座位的振動或傾斜。
與此同時,在例如1987年12月10公開的公開號為S62-194389的日本實用新型專利中公開了一種控制器,該控制器有一個配置在操縱桿中的電磁鐵,由于電磁鐵的激勵,在操縱桿上引起振動。可以考慮提供這樣一種游戲,即通過將產生振動的控制器與家用視頻游戲機相連接把振動傳送給游玩者的手中。
然而,在現有技術中,沒有公開關于顯示器上所顯示游戲圖象與所引起振動之間的相互關系。因此,難以把這種現有技術應用于家用視頻游戲系統。此外,上述的人體感應游戲機在座位上產生振動,不能用于沒有這種座位的家用視頻游戲機上。
因此,本發明的主要目的是提供一種能夠以與游戲圖象相關的方式把振動傳送給游玩者的視頻游戲系統。
本發明是一種視頻游戲系統,它包括一個視頻游戲機和一個控制器,其中,視頻游戲機包括根據控制器的操作狀態并按照存儲器媒體中存儲的游戲程序產生顯示器上所顯示游戲圖象的處理裝置,控制器以游玩者手持狀態使用并包括多個指定游戲者目標運動或移動的操作開關、一個產生機械振動的振動源和一個根據視頻游戲機提供的命令信號驅動振動源的驅動電路,存儲器媒體包括根據至少一個操作開關的操作產生變化的游戲者目標圖象的游戲者目標圖象發生程序、產生出現在游戲者目標周圍的至少一個其它目標的其它目標圖象發生程序、基于游戲者目標圖象和其它目標圖象的顯示狀態檢測振動發生條件的振動發生條件檢測程序、以及按照振動發生條件檢測程序根據對振動發生條件的檢測產生控制振動源數據的振動控制程序,處理裝置按照游戲者目標圖象發生程序和其它目標圖象發生程序產生游戲圖象以及按照振動控制程序通過驅動電路引起振動源產生與顯示器上幀圖象的發生在時間上同步的機械振動。
本發明是一種視頻游戲系統,它包括一個視頻游戲機和一個提供操作信號的控制器,其中,控制器以游玩者手持狀態使用并包括多個指定游戲者目標運動或移動的操作開關、一個產生機械振動的振動源和一個根據視頻游戲機提供的命令信號驅動振動源的驅動電路,視頻游戲機包括根據至少一個操作開關的操作產生變化的游戲者目標圖象的游戲者目標圖象發生裝置、基于控制器的操作開關的操作狀態對振動發生條件進行檢測的振動發生條件檢測裝置、以及根據振動發生條件檢測裝置對振動發生條件的檢測結果,通過驅動電路引起振動源產生與顯示器上幀圖象的發生在時間上同步的機械振動的振動發生裝置。
振動發生條件的檢測與游戲者目標圖象和其它目標圖象的狀態(例如,它們是否被擊中或類似的情況)有關。如果檢測到這一條件,驅動電路將驅動包含在控制器中的振動源。
此外,不管游戲者目標和其它目標的狀態,也能夠產生與控制器的操作開關狀態有關的振動。
根據本發明,能夠根據游戲圖象的狀態由控制器的振動源產生振動。于是,游玩游戲進一步增加真實感。
從以下結合附圖對本發明所作的詳細描述中,本發明的上述目的以及其它目的、特征、方案和優點將變得更加清楚。
圖1是表明本發明一個實施例的視頻游戲系統的示意圖。
圖2是詳細表明圖1所示視頻游戲機的方框圖。
圖3是詳細表明圖2所示控制器進行控制的方框圖。
圖4是詳細表明圖2所示控制器控制電路和振動盒的方框圖。
圖5是詳細表明振動盒的示意圖。
圖6是表明包含在振動盒中的振動發生電路的電路圖。
圖7是表明外部ROM中存儲映象的示意圖。
圖8是表明RAM中存儲映象的示意圖。
圖9是表明圖1所示實施例整個工作的流程圖。
圖10是表明振動發生條件檢測子程序的流程圖。
圖11是表明擊中確定子程序的流程圖。
圖12是表明振動發生子程序的流程圖。
圖13是表明游戲者目標與敵方目標碰撞的示意圖。
圖14是表明游戲者目標與靜止目標碰撞的示意圖。
圖15示出產生既強又短暫振動的振動模式。
圖16示出產生既弱又長振動的振動模式。
圖17是表明本發明一個實施例的RAM中存儲映象的示意圖。
參考圖1,本實施例的視頻游戲系統包括視頻游戲機10、ROM盒式存儲器20(例如存儲媒體)、與視頻游戲機10連接的顯示器30以及控制器40。控制器40與振動盒50為可拆卸安裝。
控制器40是由多個設置在外殼41上的開關或按鈕構成的,可以用雙手或單手抓外殼41。具體地說,控制器40包括分別從外殼41的左側、右側和中間向下伸展的把手41L、41C和41R,在外殼41的上表面上提供操作區。在操作區中,在其中心的下部設置一個模擬輸入操縱桿(以下稱為“模擬操縱桿”)45,在左側上設置一個十字形的數字方向開關(以下稱為“十字開關”)46,在右側設置多個按鈕開關47A、47B、47C、47D、47E和47F。
采用模擬操縱桿45輸入由操縱桿的傾斜量和方向確定的游戲者目標(一可由游戲者經控制器40操縱的目標)的移動方向和/或移動速度或移動量。采用十字開關46而不是操縱桿45指定游戲者目標的移動方向。采用按鈕開關47A和47B指定游戲者目標的運動。采用按鈕開關47C-47D切換三維圖象攝像機的視點或調節游戲者目標的速度等。在操作區的中心附近設置啟動開關47S。在開始游戲時操作該啟動開關47S。在中心把手41C的背側設置開關47Z。采用該開關47Z作為例如射擊游戲中的觸發開關。在外殼41上部的左右側面上設置開關47L和47R。
除了切換攝像機視點之外,在射擊或動作游戲中,上述的按鈕開關47C-47F也能夠被用于控制游戲者目標的移動速度(例如加速度或減速度)。然而,根據游戲程序能夠任意地限定這些開關47A-F、47S、47Z、47L和47R的功能。
圖2是圖1所示實施例的視頻游戲系統的方框圖。視頻游戲機10中裝有中央處理單元(以下稱為“CPU”)11和協處理器(真正協處理器以下稱為“RCP”)12。RPC12包括控制總線的總線控制電路121、執行多邊形坐標變換、陰影處理等的信號處理器(真正信號處理器以下稱為“RSP”)122以及將多邊形數據光柵掃描成被顯示圖象和將多邊形數據轉變成存儲在幀存儲器中的數據形式(點陣數據)的再現處理器(真實顯示處理器,以下稱為“RDP”)46。
RCP12與存儲盒連接器13和磁盤驅動連接器197連接,前者用于不可卸地裝載其中裝有外部ROM21的ROM盒式存儲器20,后者用于可拆卸地安裝磁盤驅動器29和RAM14。此外,RCP12與DAC(數字/模擬轉換器)15和16連接,分別輸出經CPU11處理的聲音信號和圖象信號。另外,RCP12與控制器控制電路17連接,串行傳送一個或多個控制器40的操作數據和/或振動盒50的數據。
包含在RCP12中的總線控制電路121對通過總線從CPU以并行信號提供的命令進行并/串轉換,由此將串行信號提供給控制器控制電路18。此外,總線控制電路121將控制器控制電路17輸入的串行信號轉換成并行信號,經總線將輸出提供給CPU11。由CPU11對控制器40A-40D讀出的操作狀態(操作信號或操作數據)的數據表示進行處理,暫時存儲在RAM14中。換句話說,RAM15包括暫時存儲經CPU11處理的數據的存儲位置,從而可以利用它通過總線控制電路121平緩地讀寫數據。
聲音DAC15與設置在視頻游戲機10背面的連接器195連接。圖象DAC16與設置在視頻游戲機10背面的連接器196連接。連接器195與顯示器30的揚聲器31連接,而連接器196與諸如TV接收器或CRT的顯示器30連接。
控制器控制電路17與設置在視頻游戲機10正面的控制器連接器連接。連接器18經連接插口與控制器40進行可斷開連接。控制器40與連接器18的連接使控制器與視頻游戲機10電連接,由此進行它們之間的數據發送/接收或傳送。
控制器控制電路17用于串行發送和接收RCP12與連接器18之間的數據。如圖3所示,控制器控制電路17包括數據傳送控制電路171、發送電路172、接收電路173和暫時存儲發送和接收數據的RAM174。數據傳送控制電路171包括并/串轉換電路和串/并轉換電路,以便在數據傳送期間對數據格式進行轉換以及對RAM174進一步進行讀/寫控制。串/并轉換電路將RCP12提供的串行數據轉換成并行數據并將其提供給RAM174或發送電路172。并/串轉換電路將RAM174或接收電路173提供的并行數據轉換成串行數據并將其提供給RCP12。發送電路172把從控制器40讀出信號和將數據(并行數據)寫入振動盒50的命令轉換成串行數據,發送到與各個控制器40相對應的通道CH1-CH4。接收電路173以串行數據方式接收通過相應通道CH1-CH4輸人的控制器工作狀態數據和從振動盒50讀出的數據,將它們轉換并行數據,發送到數據傳送控制電路171。數據傳送控制電路171把從RCP12傳送的數據、接收電路173接收的控制器數據、或RAM盒式存儲器讀出的數據寫入到RAM174中并根據RCP12的命令讀出RAM174的數據,從而將它傳送到RCP12。
RAM174(盡管圖中未示出)包括各個通道CH1-CH4的存儲位置。每個存儲位置存儲有通道命令、發送數據和/或接收數據。
圖4示出控制器40和振動盒50的的詳細電路圖。控制器40的外殼裝有操作信號處理電路44等,以檢測操縱桿45、開關46、47等的操作狀態并將檢測到的數據傳送到控制器控制電路17。操作信號處理電路44包括接收電路441、控制電路442、切換信號檢測電路443、計數器電路444、操縱端口控制電路446、復位電路447和“或非”門448。接收電路441將諸如控制器控制電路17發射的控制信號或寫入振動盒50數據一類的串行信號轉換成并行信號,將其提供給控制電路442。當控制器控制電路17發送的控制信號是使操縱桿45的X、Y坐標復位的信號時,控制電路442產生復位信號,通過“或非”門448復位(0)、計數器444中的X-軸計數器444X的計數值和Y-軸計數器444Y的計數值。
操縱桿45包括X-軸和Y-軸光中斷器,以便將桿傾斜分解成X-軸和Y-軸分量,產生與傾斜成正比的脈沖數。脈沖信號被分別提供到計數器444X和計數器444Y。計數器444X對操縱桿在X-軸方向傾斜時根據傾斜量產生的脈沖數進行計數。計數器444Y對操縱桿在Y-軸方向傾斜時根據傾斜量產生的脈沖數進行計數。于是,由計數器444X和444Y的計數值確定的合成X-軸和Y-軸矢量可確定游戲者目標或主角人物或光標的移動方向和坐標位置。順便說,當同時壓下兩個預定開關從開關信號檢測電路443提供復位信號時,或當接通電源時從復位信號發生電路447提供復位信號時,計數器444X和444Y被復位。
開關信號檢測電路443根據控制電路442以不變周期間隔(例如象TV幀周期的1/30秒間隔)提供的開關狀態輸出命令,讀出隨十字開關46和開關47A-47Z的壓下狀態而變的信號。將讀出信號發送到控制電路442。控制電路442響應于控制器控制電路17的操作狀態數據的讀出命令信號,以預定數據格式將開關47A-47Z的操作狀態數據和計時器444X和444Y的計數值提供給發送電路445。發送電路445將控制電路442輸出的并行信號轉換成串行信號并通過轉換電路43和信號線42將它傳送到控制器控制電路17。控制電路442經地址總線和數據總線以及端口連接器46與操縱桿控制電路446連接。操縱桿控制電路446根據振動盒50與端口連接器46連接時從CPU11輸出的命令進行數據輸入/輸出(或發送/接收)控制。
振動盒50通過將RAM51接至地址總線和數據總線和將RAM51與電池52連接而構成。RAM51是一種容量(例如256k比特)例如低于通過地址總線可存取的最大存儲器容量一半的RAM。RAM51用于存儲與游戲有關的備份數據,即使振動盒50從端口連接器449中抽出,應用電池52的電功率可以保持備份數據。這個振動盒50中裝有振動發生電路53。
現在參照圖5將詳細說明振動盒50。振動盒50包括外殼501和附著在該外殼501上的背蓋502。由這個外殼501和背蓋502形成的振動盒50被可拆卸地安裝在圖1所示的控制器40的開口部分。
外殼501有一塊容納在其中的基板503。基板503上除了上述的RAM51和備用電池52外,還裝有電池504和構成圖4所示振動發生電路53的驅動電路505。順便說,基板503在其邊緣部分有多個這樣朝向的端子506,使端子506能夠與上述控制器40的開口部分形成的連接器(未示出)連接。通過這些端子506接收CPU11(圖2)提供的,即視頻游戲機10的控制器控制電路17提供的數據和地址。
背蓋502上固定有構成振動發生電路53的振動源507。在本實施例中,振動源507采用電機產生振動。然而,除了電機以外當然能夠采用其它的裝置,如螺線管加上電源后產生振動。順便說,Tokyo Parts工業股份有限公司制造的“FM16”、“FM23”、“FM25”、“FM29”或“CM-5”等可以用作振動發生電機。在采用“FM”電機的情況中,附著一個偏心構件,使構建在圓柱外殼中的軸旋轉。當旋轉軸旋轉時,偏心構件旋轉,從而引起外殼上振動。當采用“CM”電機時,以偏心方式配置電樞線圈。通過使該電樞旋轉,引起振動。順便說,如果采用螺線管,由于設置在螺線管中的磁心的往復運動而產生振動。
在任何一種情況中,通過將電池504的功率施加到如上構造的振動源507上并由驅動電路505對其進行驅動,從而由此引起振動。振動源507消耗的功率相對較大。于是,在本實施例中,提供一個與備用電池52分離的電池504(圖4)。因此,當電池504用完時,可以打開可拆卸地固定在背蓋502上的電池蓋,掉換一個新的電池504。注意兩個電池502和504可以是通用的同種電池。
此外,電源線可以包含在控制器電纜(未示出)中,從而通過該電源線將電源從圖象處理裝置主機或視頻游戲機10經端子506提供到振動源507。在這種情況下,不用說需要適當考慮振動源507所需的功率來確定電源線的承載量。
再說,在本實施例中,振動源507安裝在背蓋502上,振動源507產生的振動易于傳遞到游玩者的手中,而不存在衰減。即振動源507產生的振動通過背蓋502發射到控制器40與背蓋502接觸的開口部分,因此使控制器自身發生振動。結果,振動源507產生的振動被傳送到游玩者抓住控制器40的手中。因此,只要振動源507產生的振動能夠通過控制器40傳送到游玩者的手中,振動源507可以設置在外殼501中的任何位置上。
順便說,本實施例通過將振動盒50安裝在控制器40上而將振動源507設置在控制器中。然而,振動發生電路53(圖4),即振動源507、驅動電路505、電池504等可以構造在控制器40的外殼中,而不采用振動盒50。
現在參考圖6詳細描述構成振動發生電路53的驅動電路505。驅動電路505包括解碼器,解碼器包含“與非”門510。這個“與非”門510通過地址總線,即視頻游戲機10的CPU11(圖2)的端子506(圖5)接收地址數據A2-A14。在本實施例的游戲機系統中,當地址A0-A15全為1時,即當CPU11指定地址范圍FFFF時,建立振動模式,從CPU11輸出數據,驅動振動源507。即,如果指定CPU地址FFFF,解碼器的輸出,即“與非”門510的輸出變為“0”。將“與非”門510的這個輸出提供到“與非”門511。由于給“與非”門511進一步提供有來自CPU11的寫信號-WE和芯片允許信號CE,“與非”門511響應于“與非”門510的輸出和信號-WE和CE,將鎖存信號提供給鎖存器512。因此,當CPU11指定FFFF地址,即處于振動模式中時,鎖存器512通過數據總線或端子506鎖存CPU數據D0。當振動源507產生振動時這個CPU數據D0輸出為“1”,當振動源507不產生振動時這個CPU數據D0輸出為“0”。鎖存器512的輸出端經過電阻器513與驅動晶體管514的基極連接。當鎖存器512的輸出為“1”時,晶體管514導通,而當輸出為“0”時,晶體管截止。晶體管514導通使得電池504的驅動電流流至振動源507(振動電機)。因此,驅動源507產生振動。
圖7是表明裝在ROM盒式存儲器20(圖1)中的外部ROM21的存儲空間的存儲映象。如圖5所示,外部ROM21例如包括多個諸如程序區22、字符代碼區23、圖象數據區24和聲音存儲區25的存儲區(以下僅稱作“區”),因此以固定方式事先存儲各種程序。
程序區22存儲按照游戲內容對游戲圖象進行處理所需的程序和游戲數據等。具體說,程序區22包括以固定方式事先CPU11的存儲操作程序的存儲區22a-22p。主程序區22a存儲有例如圖9所示游戲(后面將描述)的主例行處理程序。控制臺數據確定程序區22d存儲有對控制器40上操作數據進行處理的程序。寫程序區22c存儲有CPU11引起RCP12進行寫入幀存儲器和Z緩沖器的寫程序。例如,寫程序區22c存儲有一個寫程序,它根據一個背景景象中顯示的多個移動目標或背景目標的紋理數據把作為圖象數據的色度數據寫入到RAM14的圖象數據區201(圖8)中。移動程序區22d存儲有CPU11引起RCP12改變移動物體在三維空間中位置的控制程序。攝像機控制程序區22e存儲有控制在三維空間中拍攝包括游戲者目標或背景目標在內的移動目標的方向和/位置的控制程序。游戲者目標程序區22f存儲有控制游玩者操縱目標顯示的程序。敵方目標程序區22g存儲有控制襲擊游戲者目標的敵方目標顯示的程序。背景程序區22h存儲有CPU引起RCP12產生三維背景景象的背景產生程序。
字符代碼區23是存儲多種字符代碼,例如對應于代碼的多種字符點數據的區域。在游戲過程中利用存儲在字符代碼區23中的字符代碼數據向游玩者顯示指令內容。
圖象數據區24存儲有諸如每個背景目標和/或移動目標多邊形坐標數據的圖象數據和紋理數據,以及顯示靜止在預定位置上或處于移動狀態中的這些目標的顯示控制程序。
聲音存儲區25存儲有以適合景象的方式有聲輸出上述消息的言辭、效果聲、游戲音樂等的聲音數據。
順便說,存儲媒體或外部存儲裝置可采用諸如CD-ROM或磁盤的各種存儲媒體,作為添加或替代ROM盒式存儲器20。在這種情況下,設置一個磁盤驅動器29(圖2),在需要時對諸如CD-ROM或磁盤的光盤或磁盤存儲媒體上游戲的各種數據(包括程序數據和圖象表示用的數據)進行讀寫。磁盤驅動器29從磁盤或光盤中讀出數據,同樣以磁學或光學方式把程序數據存儲到外部ROM21中,并將同一數據傳送到RAM14中。
圖8是表明RAM14存儲空間的存儲映象圖。RAM14包括圖象數據區201和程序區202。盡管圖中未示出,圖象數據區201包括暫時存儲1幀圖象數據的幀存儲器區和在幀存儲器區中以點為基礎存儲深度數據的Z緩沖器區。程序數據區202是暫時存儲程序的區域。分配給ROM21區域(圖7)的程序數據在需要時暫時存儲在程序數據區202上,通過存取RAM14的程序區,使CPU11和RCP12能夠進行游戲。同樣,圖象數據區201是在需要時暫時存儲已存儲在ROM中的能夠由CPU11或RCP12直接存取的圖象數據的區域。即,圖象數據區201存儲游戲圖象顯示用的存儲在外部ROM中的構成靜止目標和/或移動目標的多個多邊形的坐標數據和紋理數據。在圖象處理之前,一段歷程或多級數據從外部ROM21傳送到圖象數據區201。
控制器數據存儲區141暫時存儲代表從控制器40讀出的操作狀態的操作狀態數據。
此外,標記/寄存區142在需要時設定一個標記或者當CPU11正在執行程序時存儲一個可變量或不變量。能夠設定在這一標記/寄存區142中的標記包括振動游戲標記F1、擊中標記F2、前一幀標記F3和振動標記F4。
振動游戲標記F1表示現在正在游玩的游戲是否包括振動盒50振動源507產生的振動的景象。當存在這種景象時,振動游戲標記F1設定為“1”,對于該情況以外的情況設定為“0”。當由于擊中確定程序(圖11,后面將作描述)使兩個目標相撞或接觸時,擊中標記F2設定為“1”,對于該情況以外的情況設定為“0”。前一幀標記F3設定為在顯示器30上這一幀之前的幀上擊中標記F2是否設定為“1”,即在前面一幀的兩個目標是否相互碰撞和接觸。當前面一幀確定擊中時前一幀標記F3設定為“1”,對于該情況以外的情況設定為“0”。當振動源507產生振動時,振動標記F4設定為“1”,對于該情況以外的情況設定為“0”。
變量n_add是在振動發生條件檢測程序(圖10,后面將作描述)中增大計數器CT計數值n的每一幀的增量值,而n_add_m是由增量值n_add改變的值。計數器CT具有32位的數據大小,所以,就象256(8位二進碼)計數器中那樣,當計數值n超過“255”時它驅動振動源507(圖5)產生振動。變量ax、ay和az分別是游戲者目標在X-軸、Y-軸和Z-軸方向上的加速度分量。變量fx、fy和fz分別是加速度分量ax、ay和az乘以常量accx、accy和accz的值。
順便說,變量n_add和n_add_m可以常量。在本實施例中,將變量n_add設定為“255”或“150”。同時將變量n_add_m設定為例如“20”或“10”。
圖9是本實施例的視頻游戲系統的主流程圖。如果接通電源,在第一步S1中,CPU將視頻游戲機10設定為預定的初始狀態。例如,CPU11從存儲在外部ROM21程序區22中的游戲程序中把啟動程序傳送到RAM14,將每個參數設定為初始值,在此之后依次執行圖9所示的步驟。
例如,每隔1幀(1/60秒)或每隔2幀或3幀執行圖9所示主流程圖的工作,這里在清除歷程前重復執行步驟S2-S14。如果游戲結束沒有成功清除歷程,那么在步驟S14后的步驟S15中進行游戲結束處理。如果成功地完成歷程清除,那么過程從步驟S13返回到步驟S1。
即,在步驟S1,對于游戲歷程屏幕和/或歷程選擇屏幕進行顯示。然而,在通電后開始游戲的地方,顯示第一歷程屏幕。如果第一歷程被清除,那么設定下一歷程。
在步驟S1之后,步驟S2進行控制器處理。在這個過程中,檢測是否操作了控制器40的操縱桿45、十字開關46和開關47A-47Z中任何一個。讀出有關這一操作狀態的檢測數據(控制器數據)并將讀出的控制器數據寫入RAM14的控制器數據區141。
在步驟S3中,進行顯示游戲者目標的處理過程。這一過程基本根據游玩者操縱的操縱桿45的操作狀態和是否存在敵方的襲擊改變游戲者目標的位置、方向、形狀和地點。例如,根據從外部ROM21的存儲器區22f(圖7)傳送的程序、從存儲器區24傳送的游戲者目標的多邊形數據、以及控制器數據,即操縱桿45的操作狀態,通過計算確定被改變的多邊形數據。所獲得的多個多邊形給出圖象數據的色彩。
在步驟S4中,進行攝像機處理過程。例如,從各個目標的視點進行計算,通過攝像機取景器觀看的視線或視場處在游玩者用操縱桿45指定的角度內。
在步驟S5中,進行敵方目標處理過程。這個過程是根據從存儲區22g和存儲區24(圖2)傳送的敵方目標的多邊形數據并按照部分傳送的程序進行的。例如,通過計算多邊形數據確定顯示位置和/或形狀的敵方目標,使敵方目標移動,在判定游戲者目標移動的同時襲擊該游戲者目標或者阻擋其前進,由此顯示被改變的敵方目標圖象。因此,敵方目標將作這樣的移動,以對游戲者目標產生一定的影響。
在步驟S6中,進行背景(靜止)目標處理過程。這一過程是根據從存儲區22h部分傳送的程序和從存儲區24傳送的靜止目標的多邊形數據(圖2)計算靜止目標的顯示位置和形狀。
在步驟S7中,RSP122進行再現處理過程。即RCP12在CPU11的控制下根據存儲在RAM14的圖象數據區201中的諸如敵方目標、游戲者目標等的可移動目標以及諸如背景的靜止目標的各個紋理數據,對顯示可移動目標和靜止目標的圖象數據進行轉換處理(坐標變換處理和幀存儲器再現處理)。具體說,將色彩放入到每個可移動目標和靜止目標的多個多邊形中。
在步驟S8中,CPU11根據諸如消息、音樂、效果聲等的聲音數據進行聲音處理。
在步驟S9中,CPU11進行振動條件檢測處理過程。即在步驟S9 RCP12根據游戲者目標和敵方目標或靜止目標的圖象數據或根據控制器40提供的操作數據執行圖10所示的子程序,由此檢測是否建立振動源507產生振動的條件。順便說一下,后面將參照圖10對振動條件檢測子程序作詳細描述。
在下一步驟S10中,CPU11響應于步驟S9對振動發生條件的檢測結果執行如圖12所示的子程序,由此引起振動源507產生振動。參照圖12也將對這一步驟S10作詳細描述。
在步驟S11中,作為步驟S7的再現處理的結果,CPU11讀出存儲在RAM14的幀存儲區中的圖象數據。這使游戲者目標、可移動目標和靜止目標等顯示在顯示器30(圖1,圖2)的顯示屏上。
在步驟S12中,讀出在步驟S8中由RCP12已經進行聲音處理的聲音數據,由此輸出諸如音樂、效果聲對話等的聲音。
在步驟S13中確定是否清除歷程(歷程清除檢測)。如果未清除歷程,那么,在步驟S14中確定游戲是否結束。如果游戲未結束,過程返回到步驟S2,重復步驟S2-S14直至檢測到游戲結束的條件為止。如果檢測游戲結束條件,允許游玩者發生錯誤的次數達到了預定的次數或者游戲者目標的壽命消耗了一定的預定量,那么,在下一步驟S15進行游戲結束處理,選擇游戲繼續、備份數據保存等。
順便說,如果在步驟S13中檢測到清除歷程的條件(例如戰勝首領),處理過程在歷程清除處理后返回到步驟S1。
現在參考圖10,在振動發生條件檢測子程序的第一步驟S101中,CPU11確定游戲者目標是否擊中(碰撞或接觸)干擾目標或遮擋物(諸如地面、海面、墻壁、敵方目標、襲擊目標等其它可移動目標、靜止目標)。根據圖11所示的子程序執行這一擊中檢測。
在圖11所示的步驟S201中,CPU11確定是否滿足ABS(OBJ2x-OBJ1x)≤OBJ1r,即在X-坐標系上兩個目標是否相互擊中。OBJ1是被確定擊中的目標,在本實施例中指游戲者目標。OBJ2是向OBJ1移動的目標,在本實施例中指友方目標、敵方目標、靜止目標和敵方目標發射的襲擊目標。OBJ1x是OBJ1的X-坐標值,而OBJ2x是OBJ2的X-坐標值。OBJ1x和OBJ2x可以是游戲空間坐標或游玩者坐標,只要它門是同一坐標系的X-坐標值。ABS()代表括號內數值的絕對值。OBJ1r是把OBJ1看作立方體時代表立方體一半邊長的值。換句話說,OBJ1r是表示OBJ1擊中范圍的值。如果滿足ABS(OBJ2x-OBJ1x)≤OBJ1r,那么過程前進到步驟S202。
在步驟S202中,CPU11確定是否滿足ABS(OBJ2y-OBJ1y)≤OBJ1r,即在Y-坐標系上兩個目標是否相互擊中。OBJ1y是OBJ1的Y-坐標值,而OBJ2y是OBJ2的Y-坐標值。OBJ1y和OBJ2y可以是游戲空間坐標或游玩者坐標,只要它門是同一坐標系的Y-坐標值。如果滿足ABS(OBJ2y-OBJ1y)≤OBJ1r,那么過程前進到步驟S203。
在步驟S203中,CPU11確定是否滿足ABS(OBJ2z-OBJ1z)≤OBJ1r,即在Z-坐標系上兩個目標是否相互擊中。OBJ1z是OBJ1的Z-坐標值,而OBJ2z是OBJ2的Z-坐標值。OBJ1z和OBJ2z可以是游戲空間坐標或游玩者坐標,只要它門是同一坐標系的Z-坐標值。如果滿足ABS(OBJ2z-OBJ1z)≤OBJ1r,那么過程前進到步驟S204。
在步驟S204中,CPU11確定OBJ2與OBJ1之間已有擊中,則將RAM14的標記區142中的擊中標記F2設定為“1”。
另一方面,如果在步驟S201中不滿足ABS(OBJ2x-OBJ1x)≤OBJ1r,那么過程返回到前一程序。如果在步驟S202中不滿足ABS(OBJ2y-OBJ1y)≤OBJ1r,那么過程返回到前一程序。如果在步驟S203中不滿足ABS(OBJ2z-OBJ1z)≤OBJ1r,那么過程返回到前一程序。
在圖10中,在步驟S101中,如果確定游戲者目標未被另一目標擊中,即如果在步驟S101確定為“NO”,那么,在下一步驟S102,CPU11確定游玩者是否操縱控制器40開始游戲者目標加速。例如,通過撳下按鈕47a(圖1)開始加速,這里,游戲者目標是在“波浪水道”中的“飛機滑雪”。此外,如果游戲者目標是“瑪利亞”,通過讓操縱桿45(圖1)向前傾斜開始加速。于是,在步驟S102,CPU11參考RAM14控制器數據區141中的數據,確定是否操作按鈕47A或操縱桿45。
在步驟S102如果確定為“NO”,那么,在下一步驟S103 CPU11確定游戲者目標(在本實施例中為“波浪水道”中的“飛機滑雪”)是否與水面接觸。在步驟S103,利用圖11所示的擊中檢測子程序,以確定游戲者目標(“飛機滑雪”)是否與水面接觸。
在圖10所示的振動發生條件檢測子程序中,對于三個振動發生條件中的任何一個條件,即上述的步驟S101、S102和S103中的任何一個步驟進行檢測。如果在步驟S101、S102和S103中的任何一個步驟上確定為“NO”,即如果未檢測到振動發生條件,那么,CPU11復位,在圖10中的步驟S104中,RAM14的標記/寄存區142的寄存值n_add設定為“0”。同時,在步驟S105中,CPU11將標記/寄存區142的前一幀標記F3清除為“0”。即,對于每一幀給計數器CT的計數值n加“0”,以便將計數器CT的增加值n_add設定為“0”。換句話說,如果在所有步驟S101、S102和S103中確定為“NO”,那么,一點也不增大計數器CT。正如后面將要說明的,如果計數器CT的計數值超過例如“255”,那么將發生振動。于是,在上述情況中,振動源507不產生振動。
順便說,如果在上述的步驟S101中確定為“NO”,那么,在步驟S105中使前一幀標記F3復位。
如果在步驟S101、S102和S103中的任何一個步驟上確定為“YES”,那么,建立振動發生條件并按照相應的振動發生條件進行振動發生過程。
即,如果在步驟S101確定游戲者目標被另一目標擊中,那么,執行步驟S106至S110,由振動源507產生強振動。與此同時,在步驟S102檢測到開始加速,通過步驟S111至S113產生弱振動。如果在步驟S103檢測到游戲者目標(例如“飛機滑雪”)與水面接觸,執行步驟S114至S117,產生代表“飛機滑雪”在波浪上移動的狀態的弱振動。
如果在上述步驟S101中確定為“YES”,即如果確定游戲者目標與另一目標相碰撞或接觸,那么,CPU11確定前一幀標記F3是否設定為“0”,即,在步驟S106確定在前一幀中游戲者目標是否也與另一目標碰撞。如果步驟S106確定為“YES”,即如果確定在前一幀不存在游戲者目標碰撞或接觸,而是在當前幀檢測到游戲者目標與另一目標碰撞或接觸,那么,在步驟S107,CPU11將RAM14標記/寄存區142的增加值n_add設定為例如“255”,以產生強振動。
即,如圖13所示,游戲者目標將與敵方目標碰撞或接觸,或者,如圖14所示,游戲者目標沖撞到或接觸到敵方目標或靜止目標,為了產生強振動,在步驟S107將增加值n_add設定為較大的值。
然后,在步驟S108 CPU11將增加值n_add的變化值n_add_m設定為“20”。當與另一目標碰撞或接觸時,在步驟S107將增加值n_add設定為“255”,在步驟S108變化值n_add_m設定為“20”,從而產生強振動。如果變化值n_add_m大,增加值n_add_m在短時間內變為“0”,而如果變化值n_add_m小,增加值n_add_m變為“0”需要花較長時間。因此,當變化值n_add_m大時,由振動源507產生的振動將維持較長時間,在步驟S108之后的步驟S109中,CPU11將前一幀標記F3設定為“1”,即由于當前幀檢測到游戲者目標擊中,這時將前一幀標記F3設定為“1”。
順便說,如果在上述的步驟S106中檢測為“NO”,即如果前一幀標記F3設定為“1”,即如果在前一幀也檢測到游戲者目標的碰撞或接觸,那么,在步驟S110將增加值n_add復位到“0”,即當前一幀也是游戲者目標與另一目標碰撞或接觸,在步驟S110將增加值n_add再現為“0”,從而阻止繼續發生振動。
在步驟S102,如果檢測到游戲者目標加速開始,那么,在步驟S111中CPU11將增加值n_add設定為例如“150”,產生弱振動。即當開始游戲者目標加速時,將計數器CT的增加值n_add設定為小于步驟S107中設定值的“150”,產生不同于上述擊中檢測情況的相對較小的振動。然后,在步驟S112中CPU11將變化值n_add_m設定為“10”。在步驟S113,前一幀標記F3再現為“0”,即這個步驟S113是在上述步驟S101確定為“NO”時執行的步驟,于是,以不同于上述步驟S109的方式,前一幀標記F3再現為“0”。
此外,如果在步驟S103檢測到游戲者目標,例如本實施例中的“飛機滑雪”與水面接觸,那么,在步驟S114計算乘數值fx、fy和fz。在步驟S115中CPU11計算fx×fx+fy×fy+fz×fz的平方根(小數部分不計),作為計數器CT的增加值n_add。即在步驟S114和S115中,確定游戲者目標在X-軸方向、Y-軸方向和Z-軸方向的加速度分量ax、ay和az,從而分別確定與各加速度分量成正比的fx、fy和fz值。根據這些比例值和乘數值,在“0”至“255”的范圍內計算增加值n_add。在步驟S116,將增加值n_add的變化值n_add_m設定為例如“10”。即游戲者目標“飛機滑雪”與水面接觸,將變化值n_add_m設定為相對較小的值“10”,從而在較長的時間里產生碰撞。也是在這個情況中,由于在上面的步驟S101中確定為“NO”,所以,在下一步驟S117中前一幀標記F3再現為“0”。
在表示振動發生子程序的圖12中,第一步驟S120,CPU11確定RAM14的標記/寄存區142中的振動游戲標記F1是否為“1”,即,現在正在游玩的游戲是否涉及振動的游戲。如果在這一步驟S120中確定為“YES”,那么,CPU11參考RAM14的控制器數據區141,確定振動盒50(圖1,圖4)是否裝載到控制器40中。如果這個游戲是有振動的游戲并且振動盒50裝載到控制器40中,那么,在下一步驟S122,盡管建立振動發生條件,CPU11確定振動是否被強迫停止,即振動是否被復位。
如果在這一步驟S120中確定為“NO”,那么,在下一步驟S123,CPU11使計數器CT的計數值n再現為“n+n_add”。即根據增加值n_add增加計數器CT的計數值n。
在下一步驟S124中,根據變化值n_add_m修改增加值n_add。即在步驟S124中將顯示器30的每1幀的增加值n_add減去變化值n_add_m。于是,計數器CT的計數值n的增加值隨幀數的加大而減小,最終計數值n不增大。換句話說,由振動源507產生的振動開始大(強),逐漸減小(較弱),最終沒有振動。
步驟S125確定計數器CT的計數值n是否超過“255”。如果步驟S125確定是“YES”,那么計數器CT的計數值再現為“n-256”。即如果步驟S125確定計數器CT的計數值n超過“255”,在下一步驟S126,計數值n減去“256”。在步驟S127,CPU11將振動標記F4設定為“1”。由于在上一步驟S125中檢測到計數器CT的計數值n超過“255”,在這一步驟S127將振動標記F4設定為“1”。
在下一步驟S128,確定振動標記F4是否為“1”。由于在上述步驟S127中將振動標記F4設定為“1”產生振動,因此,在下一步驟S129,CPU11把“1”輸出到除地址A15以外的所有地址A2-A14,并輸出寫信號和芯片允許信號。于是,在步驟S129,記錄器或“與非”門511(圖6)有輸出信號,鎖存器512鎖存CPU11的數據位D0、由于在步驟S129由振動源507產生振動,CPU11的數據位D0輸出為“1”。于是,鎖存器512(圖6)鎖存“1”。根據這,晶體管514導通,把電池504的功率提供給振動源或振動電機507,由此在控制器40的振動源507或振動盒50中產生振動。
順便說,如果在步驟S125中確定為“NO”,那么,在步驟S130中將振動標記F4復位為“0”,即計數器CT的計數值n不超過“255”,振動標記F4保持在復位狀態。
在步驟S127,當振動標記F4不是“1”,即當振動標記F4為“0”時,在步驟S131中CPU11向數據位D0輸出“0”,從而停止振動。因此,鎖存器512鎖存“0”,晶體管截止。于是,振動源507沒有電流,振動源507不產生振動。
例如,如果游戲者目標將與敵方目標或靜止目標碰撞或接觸(圖13,圖14),在步驟S107,將計數器CT的計數值n_add設定為“255”,在步驟S108,將變化值n_add_m設定為“20”。如表1和圖15所示,除了第一幀之外的連續4幀,計數器CT的計數值n超過“255”。因此,在這連續4幀上,連續地驅動振動源507,在此之后,每兩幀的計數值n超過“255”。每隔兩幀驅動一下振動源507,產生相對較強振動。
表1
然而,當游戲者目標開始加速時,產生相對較弱的振動。于是,在步驟S111,將增加值n_add設定為“150”,在步驟S112,將變化值n_add_m設定為“10”。因此,在這種情況中,如表2所示,每兩幀的計數值n超過“255”,從而每隔兩幀驅動一下振動源507,接下來2幀暫停振動。在接下來的1幀驅動一下振動源507,此后2幀暫停振動。
表2
即在產生強振動中,有幾幀連續驅動振動源507,然后例如每隔2幀驅動一下振動源,使振動逐漸減小。在產生弱振動時,每隔2幀驅動一下振動源507,然后以每隔3幀驅動一下的方式,使振動逐漸減小。然而,不用說,可以用任意的方式設定增加值n_add或變化值n_add_m,即以上的振動發生模式。
順便說,在第三振動發生條件下,即游戲者目標(“飛機滑雪”)與水面接觸,增加值n_add設定為游戲者目標加速度的函數,根據加速度產生強或弱的振動。
順便說,在上述的實施例中,通過執行圖12所示的流程圖,根據增加值n_add或者變化值n_add_m改變計數器CT的計數值n,產生如圖15或圖16所示的強振動或弱振動。當計數值n超過“255”時,振動標記F4設定為“1”,對振動源507進行驅動,即在上述實施例中,通過實時方式的計算,確定是否由振動源507產生振動。
與此相反,從外部ROM21的程序區22a讀出的強振動和弱振動模式數據可以分別被存儲到RAM14的標記/寄存區142中,如圖17所示。通過有選擇地讀出這些振動模式數據,可以根據這些模式數據控制振動源507。可以考慮強振動模式數據采用以上述表1中的1-16幀的幀序列表示的振動信號“0111101010000000”。與此同時,弱振動模式數據可以采用上述表2中的1-16幀的幀序列表示的振動信號“0101001001000000”。順便說,在需要時可以存儲中等振動模式數據。
例如,當在圖10的步驟S101檢測到游戲者目標碰撞或接觸時,如果讀出強振動模式數據,第一幀不驅動振動源507。然而,在接下來的4幀中連續地驅動振動源507,然后,每隔2幀驅動一下,在此之后停止驅動。例如,當在圖10的步驟S102檢測到加速開始或者在步驟S1103檢測到與水面接觸,讀出弱振動模式數據。因此,在前4幀期間每隔2幀驅動一下振動源507,然后每隔3幀驅動一下,在此之后停止驅動。
在以上的實施例中,當游戲者目標被另一目標或類似物體擊中時,裝載在控制器40中的振動盒50的振動源507產生振動。可以按照與該振動有關的定時,從視覺上給出游戲圖象振動。在這種情況下,能夠以比控制器40中振動盒50所產生機械振動更高的快速性感覺顯示器30上的游戲圖象振動。于是,在圖9的步驟S10中,可以由振動盒50產生機械振動,在此之后,在圖9的步驟S4或S7中,延遲1或2幀或更多幀從視覺上給出游戲圖象振動。
例如,當在圖10的步驟S101中檢測到游戲者目標將與另一目標接觸或碰撞時,由于在游戲圖象上產生強振動,在整個屏幕上使顯示器30振動。在這種情況下,在圖9中步驟S4的攝像機處理過程期間,可以一點點地改變前面所述的攝像機的視覺坐標。
當在圖10的步驟S102或S103中檢測到產生弱振動的條件時,在游戲圖象上產生弱振動。僅在顯示器30上顯示的游戲者目標圖象上給出振動。在這種情況下,在圖9中步驟S7的再現處理過程中,可以一點點地改變構成游戲者目標的多個多邊形組的中心坐標位置。
順便說,在圖12的步驟S128中檢測到“F4=1”,由該條件可以確定是否給出游戲圖象振動。即,當振動標記F4為“1”時,給出游戲圖象振動,而振動標記為“0”時,游戲圖象上不產生振動。
盡管已經對本發明作了詳細描述和示例,但是,應當清楚地明白,這里的描述和示例僅僅作為示例,而不是作為限制,本發明的精神和范圍僅受說明書所附的權利要求書的權項限制。
權利要求
1.一種視頻游戲系統,包括一個視頻游戲機和一個控制器,其特征在于所述的視頻游戲機包括根據所述控制器的操作狀態并按照所述存儲器媒體中存儲的游戲程序產生顯示器上所顯示游戲圖象的處理裝置,所述控制器以游玩者手持狀態使用,它包括多個指定游戲者目標運動或移動的操作開關;產生機械振動的振動源;和根據所述視頻游戲機提供的命令信號驅動所述振動源的驅動電路;所述存儲器媒體包括根據至少一個所述操作開關的操作產生變化的游戲者目標圖象的游戲者目標圖象發生程序;產生出現在游戲者目標周圍的至少一個其它目標的其它目標圖象發生程序;基于游戲者目標圖象和其它目標圖象的顯示狀態檢測振動發生條件的振動發生條件檢測程序;和按照振動發生條件檢測程序根據對振動發生條件的檢測產生控制所述振動源數據的振動控制程序;所述的處理裝置按照游戲者目標圖象發生程序和其它目標圖象發生程序產生游戲圖象,以及按照振動控制程序通過所述驅動電路引起所述振動源產生與所述顯示器上幀的產生在時間上同步的機械振動。
2.如權利要求1所述的視頻游戲系統,其特征在于所述的振動發生條件檢測程序是為檢測多種振動發生條件而編制的,所述的振動控制程序產生與按照所述振動發生條件檢測程序檢測的振動發生條件有關的不同的控制數據。
3.如權利要求2或3所述的視頻游戲系統,其特征在于所述的振動發生條件檢測程序包括檢測(根據游戲者目標圖象與其它目標圖象之間關系產生弱振動)第一振動發生條件和(根據所述關系產生強振動)第二振動發生條件的程序,所述的處理裝置對所述驅動電路進行控制,從而使所述振動源按照所述振動發生條件檢測程序根據第一振動發生條件的檢測結果產生相對較弱的振動以及根據第二振動發生條件的檢測結果產生相對較強的振動。
4.如權利要求3所述的視頻游戲系統,其特征在于所述的振動控制程序是一種根據接通和斷開哪種所述振動源并按照幀數之間的差引起所述振動源產生相對較強振動和相對較弱振動的間歇控制程序。
5.如權利要求4所述的視頻游戲系統,其特征在于所述的振動控制程序根據游戲者目標圖象和其它目標圖象的顯示狀態計算接通或斷開所述振動源的幀數。
6.如權利要求2所述的視頻游戲系統,其特征在于所述的振動控制程序包括以前由游戲者目標圖象和其它目標圖象的顯示狀態確定的多個振動模式數據。
7.如權利要求1所述的視頻游戲系統,其特征在于所述的存儲器媒體包括直觀上引起游戲者目標和其它目標中至少一個目標振動的圖象振動程序。
8.如權利要求6所述的視頻游戲系統,其特征在于所述的振動控制程序在機械振動發生時間之后的時間引起圖象振動。
9.一種視頻游戲系統,包括一個視頻游戲機和一個控制器,其特征在于所述控制器以游玩者手持狀態使用,它包括多個指定游戲者目標運動或移動的操作開關;一個產生機械振動的振動源和一個根據所述視頻游戲機提供的命令信號驅動所述振動源的驅動電路,所述視頻游戲機包括根據至少一個所述操作開關的操作產生變化的游戲者目標圖象的游戲者目標圖象發生裝置;產生出現在游戲者目標周圍的至少一個其它目標的其它目標圖象發生裝置;基于游戲者目標圖象和其它目標圖象的顯示狀態檢測振動發生條件的振動發生條件檢測裝置;以及根據所述振動發生條件檢測裝置對振動發生條件的檢測結果,通過所述驅動電路引起所述振動源產生與顯示器上幀的發生在時間上同步的機械振動的振動發生裝置。
10.如權利要求9所述的視頻游戲系統,其特征在于所述的振動發生條件檢測裝置包括多種振動發生條件,所述的振動發生裝置包括以所述振動發生條件檢測裝置檢測的不同振動發生條件的不同方式驅動所述振動源的驅動裝置。
11.如權利要求10所述的視頻游戲系統,其特征在于所述的振動發生條件檢測裝置包括對根據游戲者目標圖象與其它目標圖象之間關系產生弱振動的第一振動發生條件進行檢測的第一檢測裝置和對根據同一關系產生強振動的第二振動發生條件進行檢測的第二檢測裝置,所述的驅動裝置對所述驅動電路進行控制,從而使所述振動源根據所述第一檢測裝置對第一振動發生條件的檢測結果產生相對較弱的振動以及根據所述第二檢測裝置對第二振動發生條件的檢測結果產生相對較強的振動。
12.如權利要求11所述的視頻游戲系統,其特征在于所述驅動裝置包括間歇控制裝置,通過它所述驅動電路間歇地接通和斷開所述振動源。
13.如權利要求12所述的視頻游戲系統,其特征在于所述的間歇控制裝置包括根據接通和斷開所述振動源計算幀數的計算裝置。
14.一種視頻游戲系統,包括一個視頻游戲機和一個控制器,其特征在于所述的視頻游戲機包括根據所述控制器的操作狀態并按照所述存儲器媒體中存儲的游戲程序產生顯示器上所顯示游戲圖象的處理裝置,所述控制器以游玩者手持狀態使用,它包括多個指定游戲者目標運動或移動的操作開關;產生機械振動的振動源;和根據所述視頻游戲機提供的命令信號驅動所述振動源的驅動電路;所述存儲器媒體包括根據至少一個所述操作開關的操作產生變化的游戲者目標圖象的游戲者目標圖象發生程序;產生出現在游戲者目標周圍的至少一個其它目標的其它目標圖象發生程序;基于所述控制器的所述操作開關的操作狀態檢測振動發生條件的振動發生條件檢測程序;和按照振動發生條件檢測程序根據對振動發生條件的檢測產生控制所述振動源數據的振動控制程序;所述的處理裝置按照游戲者目標圖象發生程序和其它目標圖象發生程序產生游戲圖象,以及按照振動控制程序通過所述驅動電路引起所述振動源產生與所述顯示器上幀的發生在時間上同步的機械振動。
15.一種視頻游戲系統,包括一個視頻游戲機和一個控制器,其特征在于所述控制器以游玩者手持狀態使用并包括多個指定游戲者目標運動或移動的操作開關;一個產生機械振動的振動源和一個根據所述視頻游戲機提供的命令信號驅動所述振動源的驅動電路,所述視頻游戲機包括根據至少一個所述操作開關的操作產生變化的游戲者目標圖象的游戲者目標圖象發生裝置;基于所述控制器的所述操作開關的操作狀態檢測振動發生條件的振動發生條件檢測裝置;以及根據所述振動發生條件檢測裝置對振動發生條件的檢測結果,通過所述驅動電路引起所述振動源產生與顯示器上幀的發生在時間上同步的機械振動的振動發生裝置。
全文摘要
一種視頻游戲系統,包括視頻游戲機、存儲器媒體和控制器。包含在視頻游戲機中的CPU檢測游戲者目標與敵方目標或靜止目標發生碰撞或接觸的振動發生條件。如果檢測到振動發生條件,CPU驅動包含在控制器中的振動源,在控制器上產生振動。
文檔編號G06F3/00GK1205905SQ9811633
公開日1999年1月27日 申請日期1998年7月17日 優先權日1997年7月17日
發明者西海聰, 幸嶋一雄, 太田敬三 申請人:任天堂株式會社