專利名稱:排除游戲程序故障的游戲儀器和方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于排除游戲程序故障的游戲儀器和方法,更具體而言,是關(guān)于排除使用時間和時鐘功能玩的虛擬真實型游戲的程序故障的游戲儀器和方法。
通常的游戲儀器包括游戲單元和ROM盒、該游戲單元具有CPU(中央處理單元),RAM(隨機(jī)存取存儲器),ROM(只讀存儲器),I/O(輸入/輸出)接口,和定時器,ROM盒具有I/O。接口和存儲游戲程序的ROM,該游戲單元和ROM盒通過各自的I/O接口相互連接在一起。
在開發(fā)游戲程序中,游戲程序糾錯浪費了工作時間和加重了工作負(fù)擔(dān),游戲程序錯誤包括個了三種類型錯誤,它們是編輯錯誤,連接錯誤和執(zhí)行錯誤,編輯錯誤和連接錯誤很容易被排除,因為這兩種類型錯誤的每一個出錯點可以被計算機(jī)系統(tǒng)內(nèi)的編輯器和連接器檢測。
另一方面,執(zhí)行錯誤很難被排除,因為計算機(jī)系統(tǒng)并不檢測執(zhí)行錯誤的錯誤點。
因此,當(dāng)執(zhí)行錯誤發(fā)生時,糾錯人員一般使用被稱為“檢測-印刷”(aheak-Print)的方法,在檢測-印刷中,糾錯人員選取在游戲程序中的出錯因素和出錯點,然后”檢測-印刷“命令被插入到與出錯因素和點相關(guān)的游戲程序的任何點,其次,檢測-印刷命令的結(jié)果被輸出,然后,糾錯人員檢查結(jié)果以這樣的方式,糾正游戲程序的執(zhí)行錯誤。
在對游戲程序糾錯的通常的方法中,然而,這里存在著使用虛擬真實時間的真實型游戲的程序的錯誤位置很難被再現(xiàn)的缺點,因為在虛擬真實型游戲中,游戲的事件經(jīng)常與游戲的時間不一致。
依此,本發(fā)明的目標(biāo)是提供游戲程序例如虛擬真實型游戲進(jìn)行糾錯的游戲儀器和方法。
依照本發(fā)明的第一特點,在游戲儀器中對游戲程序進(jìn)行糾錯的方法包括設(shè)置基準(zhǔn)時間以對游戲程序進(jìn)行糾錯,設(shè)置開始時間以對游戲程序進(jìn)行糾錯,比較基準(zhǔn)時間和開始時間以確定是否開始時間晚于基準(zhǔn)時間,當(dāng)開始時間晚于基準(zhǔn)時間時,控制糾錯過程被完成,和當(dāng)開始時間不晚于基準(zhǔn)時間時,控制糾錯過程被停止,和這樣重復(fù)開始時間設(shè)置步驟以設(shè)置開始時間晚于基準(zhǔn)時間。
依照本發(fā)明的第二特點,對游戲程序進(jìn)行糾錯的游戲儀器包括設(shè)置基準(zhǔn)時間以對游戲程序進(jìn)行糾錯的裝置;設(shè)置開始時間以對游戲程序進(jìn)行糾錯的裝置;比較基準(zhǔn)時間和開始時間以確定是否開始時間晚于基準(zhǔn)時間的裝置;當(dāng)開始時間是晚于基準(zhǔn)時間,完成控制糾錯過程,和當(dāng)開始時間不晚于基準(zhǔn)時間時,控制糾錯過程停止的裝置,以此重復(fù)開始時間的設(shè)置步驟以設(shè)置開始時間晚于基準(zhǔn)時間。
依照本發(fā)明的第三個特征,對游戲程序進(jìn)行糾錯的游戲儀器包括用于存儲游戲程序和糾錯程序的ROM盒,處理游戲程序和糾錯程序的游戲單元,在ROM盒內(nèi)的糾錯程序進(jìn)一步包括設(shè)置基準(zhǔn)時間以對游戲程序進(jìn)行糾錯的裝置;設(shè)置開始時間以對游戲進(jìn)行糾錯的裝置;比較基準(zhǔn)時間和開始時間以確定是否開始時間晚于基準(zhǔn)時間的裝置;當(dāng)開始時間晚于基準(zhǔn)時間時完成控制糾錯過程和當(dāng)開始時間不晚于基準(zhǔn)時間時控制糾錯過程停止的裝置,這樣重復(fù)開始時間設(shè)定步驟以設(shè)置開始時間晚于基準(zhǔn)時間。
結(jié)合附圖本發(fā)明將被詳細(xì)地加以描述,其中
圖1是虛擬真實型游戲的時間處理的流程圖;圖2是圖1時間處理的糾錯過程的流程圖;圖3是本發(fā)明糾錯系統(tǒng)的方框圖;圖4是處理帶有時間影響的游戲程序測試時間圖;圖5是游戲程序的一周的情況處理的流程圖;圖6A是本發(fā)明處理時間調(diào)整程序的流程圖;圖6B是本發(fā)明處理時間調(diào)整程序的流程圖;圖7是圖6A和6B的計算過程的方框示意圖;圖8是圖6A的步606的計算過程的方框示意圖。
在闡述本發(fā)明的優(yōu)選實施例中的對游戲程序進(jìn)行糾錯的游戲儀器和方法之前,在圖1和2中將解釋上述的通常的對游戲程序進(jìn)行糾錯的游戲儀器和方法。
通常的游戲儀器包括游戲單元和ROM盒。游戲單元具有CPU(中央處理單元),RAM(隨機(jī)存取存儲器),ROM(只讀存儲器),I/O(輸入/輸出)接口,和定時器,ROM盒具有I/O接口和存儲游戲程序的ROM。游戲單元和ROM盒通過各自的I/O接口相互連接。
在開發(fā)游戲程序過程中,游戲程序糾錯浪費了工作時間和加重工作負(fù)擔(dān),游戲程序錯誤包括三種類型的錯誤,它們是編輯錯誤,連接錯誤和執(zhí)行錯誤,編輯錯誤和連接錯誤是容易被糾錯的,因為兩種類型錯誤的每一個錯誤點能被計算機(jī)系統(tǒng)的編輯器和連接器檢測。
而另一方面,執(zhí)行錯誤是很難被糾錯的,因為計算機(jī)系統(tǒng)并不檢測執(zhí)行錯誤的錯誤點,特別是,當(dāng)游戲程序結(jié)束了卻沒有在結(jié)束點中止游戲程序和游戲程序的結(jié)果是不正確的,執(zhí)行程序是很難被糾錯的。
因此,當(dāng)執(zhí)行錯誤發(fā)生時,糾錯員一般使用被稱為“檢測-印刷點”的方法,檢測點是輸出在程序中被糾錯員指示點的內(nèi)容,在檢測-印刷時,糾錯員選取出程序中的出錯因素和出錯點,然后,“檢測-印刷”命令有選擇地插入與出錯因素和點相關(guān)的游戲程序的任何點。隨后,檢測-印刷命令的結(jié)果被輸出,隨后糾錯員檢查結(jié)果。以這種方式,游戲程序的執(zhí)行錯誤被糾錯。
另一方面,發(fā)展了玩虛擬真實型游戲的具有RTC(真實時鐘)的游戲儀器,RTC是具有時鐘功能和日歷功能的IC(集成電路),虛擬真實時間游戲?qū)?yīng)著在RTC內(nèi)時鐘功能和日歷功能的真實時間,即,RTC存儲真實時間的年,月,日,一周的星期幾,小時,分鐘,和秒作為使用時鐘功能和日歷功能的游戲的虛擬的真時時間。
圖1是虛擬真實型游戲時間處理的流程圖,在圖1中,游戲程序處理包括月,日和時鐘時間的虛擬真實時間,在時間處理中,在步100,包括月(M),日(D),和時鐘時間(T)的虛擬真實時間被從RTC設(shè)置到游戲程序,在步110,游戲程序的M,D,T被處理(MDT處理),在步120中,如果M等于“12”,那末步130跟隨,否則步150跟隨和執(zhí)行過程C。在步130,如果D等于“24”,那末步140跟隨,否則時間處理結(jié)束。在步140,如果T小于“18”,那末步160跟隨,執(zhí)行過程B,否則步170跟隨和執(zhí)行過程A。
在這種情況下,在假設(shè)出錯發(fā)生在過程A時,解釋通常的游戲程序糾錯的方法。圖2是圖1時間處理的糾錯處理的流程圖,在圖2中,步115被插入在步110和步120之間以再現(xiàn)在處理A的錯誤,在步115,M,D,T分別被設(shè)置為“12”,“24”,“19”。因此步170通過步120,130和140跟隨。然后,錯誤在步170的處理A中被再現(xiàn),糾錯員根據(jù)再現(xiàn)的錯誤對游戲程序進(jìn)行糾錯。
在通常的游戲程序糾錯的方法中,然而,這存在著缺點,使用虛擬真實時間的虛擬真實型游戲的程序的錯誤的位置很難被再現(xiàn),這是因為,在虛擬真實型游戲中,游戲的事件經(jīng)常與游戲的時間不一致,特別是,當(dāng)游戲的事件受到其它因素例如年和一周的星期幾影響時,游戲的出錯位置經(jīng)常很難被再現(xiàn)。
例如,在虛擬真實型游戲中,存儲有受到一周的偶數(shù)天變化和游戲的歷史的游戲的情況。當(dāng)出錯是發(fā)生在游戲的星期天和游戲程序在星期一被糾錯,游戲程序的一周的星期幾必須被設(shè)置為先前天的星期日。然而,游戲該周的日期(星期日)與游戲歷史的內(nèi)容不相一致、因此,游戲程序很難被正確地糾錯。
進(jìn)而,在共享一個糾錯PC(個人計算機(jī))的情況下,如果在PC中的定時器被一個開發(fā)員改變,其它開發(fā)員的測試均受到影響。
因此,對游戲程序例如其發(fā)生與糾錯過程不一致的虛擬真實型游戲糾錯的方法需要改進(jìn)。
隨后,對游戲程序例如本發(fā)明第一優(yōu)選實施例中的虛擬真實型游戲的糾錯方法將在圖3至8中加以解釋。
圖3是本發(fā)明糾錯系統(tǒng)的方框圖。在圖3中,糾錯系統(tǒng)包括游戲單元10和ROM盒20,游戲單元10具有CPU1,ROM(只讀存儲器)6,RAM(隨機(jī)存取存儲器)7和定時器8,ROM盒20具有MRC(存儲器和RTC控制器)2,產(chǎn)品ROM3,測試ROM4和RTC(實時時鐘)5。
CPU1,ROM6,和RAM7在游戲單元10內(nèi)相互聯(lián)接、CPU1是執(zhí)行程序和指令、ROM6是存儲糾錯系統(tǒng)的操作系統(tǒng)的程序和指令,RAM7用來作為CPU1的主存儲器。
在ROM盒20中,產(chǎn)品ROM3是存儲虛擬真實型游戲程序,測試ROM是存儲時間調(diào)整程序,RTC是具有時鐘功能和日歷功能的IC(集成電路),游戲的時間是對應(yīng)著在RTC5中的時鐘功能和日歷功能的真實時間。即,RTC5存儲著真實時間的年,月,日,一周的星期幾,小時,分鐘和秒作為使用時鐘功能和日歷功能的游戲的時間。進(jìn)而RTC包括電池、RTC是使用電池供電的。因此,如果ROM盒從游戲單元10中卸下,RTC5在此仍正確地存儲游戲的時間而獨立于游戲單元10,MRC2是控制在產(chǎn)品ROM3中的游戲程序的存儲器地址和測試ROM4內(nèi)的時間調(diào)整程序。進(jìn)而,MRC2包括寄存器21。寄存器21是控制測試ROM4時間調(diào)整程序的存儲器地址。
游戲單元10通過I/O接口(未示出)和ROM盒20相連接,CPU1通過MRC2存取產(chǎn)品ROM3,測試ROM4,和RTC5,當(dāng)CPU1從產(chǎn)品ROM3裝入游戲程序和RTC5的內(nèi)容時,游戲程序和內(nèi)容被MRC2放入到RAM7中的固定的地址。然后,CPU1依照RTC5的內(nèi)容處理游戲程序。
另一方面,當(dāng)游戲程序被糾錯時,時間調(diào)整程序從測試ROM4中取出,并由MRC2中的寄存器21放置在RAM7中的另外地址區(qū)中。即,在RAM7中,產(chǎn)品游戲的游戲程序的存儲區(qū)域與糾錯過程的時間調(diào)整程序的存儲區(qū)域相互分開。因此,當(dāng)測試ROM4從ROM盒20卸下時,糾錯過程的時間調(diào)整程序的存儲區(qū)域不為游戲程序所存取。即,糾錯例行程序僅能使用寄存器21所存取和產(chǎn)品游戲程序不能存取糾錯例行程序。進(jìn)而,當(dāng)錯誤發(fā)生在產(chǎn)品ROM盒中時,通過插測試ROM4到產(chǎn)品ROM盒中和調(diào)整在MRC2中的寄存器21,糾錯環(huán)境很容易被重新構(gòu)成。
圖4是帶有時間影響的處理游戲程序測試的時序圖。圖5是游戲程序的一周情況處理的流程圖,游戲的每一個故事對應(yīng)著一周的星期幾、即,游戲具有對應(yīng)一周每一天的七個游戲故事。受時間影響的游戲程序的測試在點P1至P5被處理和測試的結(jié)果分別被記錄在點R1至R5。在點P1(1995/12/20)的情況下點P5(1995/12/27)的情況相同,這是因為點P1的一周的星期幾與點P5的一周的星期幾相同(即星期三)。然而,在點R1的記錄結(jié)果與在點R5的記錄結(jié)果并不相同,因為在點P1的游戲故事事件不同于受游戲程序時間影響的點P5游戲故事事件,盡管點P1和P5的星期的兩者的星期幾是相同的,在這種情況下,受時間影響游戲程序是具有游戲歷史的游戲程序。這樣,盡管通過返回到點P1的數(shù)據(jù)糾錯被處理,糾錯過程失敗,因為點P1的日期與游戲歷史的日期,即游戲歷史的日期與點P5的相同日期并不匹配。
因此,本發(fā)明的游戲程序糾錯的方法被發(fā)展了,其中一周的星期幾和日期被自動地計算,計算后的日期并不能返回到過去。
圖6A和6B是本發(fā)明時間調(diào)整程序的流程圖。在步600,開始了時間調(diào)整程序。在步602,當(dāng)前時間從RTC5中讀出。當(dāng)前時間是虛擬的真實時間,但并不是真實時間,在步604,當(dāng)前時間被復(fù)制以編輯時間,在步606,根據(jù)當(dāng)前時間的年,月,和日和在CPU中的真實時間計算當(dāng)前時間的一周的星期幾,即,輸入數(shù)據(jù)是當(dāng)前時間的年,月,和日,然后,輸出數(shù)據(jù)是當(dāng)前時間的星期幾,在步608,當(dāng)前時間的一周計算的星期幾和真實時間的一周的星期幾加以比較。如果當(dāng)前時間一周計算的星期幾是正確的,在步612,當(dāng)前時間在顯示單元上被顯示。如果當(dāng)前時間的一周的計算的星期幾是不正確的,當(dāng)當(dāng)前時間在顯示單元被顯示時,當(dāng)前時間一周的計算的星期幾在步610顯示為紅色。在步614,編輯時間在顯示單元上顯示。在步616,當(dāng)當(dāng)前時間的讀操作是由鍵操作進(jìn)行操作時,返回到步602。如果不是,步618跟隨,在步618,當(dāng)編輯時間的設(shè)置操作是由鍵操作進(jìn)行操作時,步620跟隨。在步620,編輯時間的年,月,日,小時,分鐘,秒和一周的星期幾被設(shè)置。在步622,根據(jù)當(dāng)前時間的年,月,和日和在CPU內(nèi)的真實時間計算當(dāng)前時間的年,月,日。即,輸入數(shù)據(jù)是當(dāng)前時間的年,月,日,和輸出數(shù)據(jù)是當(dāng)前時間的一周的星期幾,然后,圖6B的步626跟隨。在步626,當(dāng)編輯時間超過當(dāng)前時間很多時,返回到步614,這是因為編輯時間和游戲歷史內(nèi)容不一致。在步626,當(dāng)編輯時間早于當(dāng)前時間時,返回到步614,這是因為編輯時間與游戲歷史的內(nèi)容不一致。在步626,當(dāng)編輯時間晚于當(dāng)前時間時,步628跟隨,在步628,當(dāng)前時間被編輯時間更新。然后,時間調(diào)整過程結(jié)束。
在圖6A的步618,當(dāng)編輯時間的設(shè)置操作不是由鍵操作進(jìn)行操作時,圖6B的步624跟隨。在步624,當(dāng)編輯時間的寫操作是由鍵操作進(jìn)行操作時,圖6B的步624跟隨。在步624,當(dāng)編輯時間的寫操作是由鍵操作進(jìn)行操作時,返回到圖6A的步614。當(dāng)編輯時間的寫操作不是由鍵操作進(jìn)行操作時,步626跟隨,在步626,當(dāng)編輯時間早于當(dāng)前時間,返回到步614,因為編輯時間與游戲歷史的內(nèi)容不一致。在步626,當(dāng)編輯時間晚于當(dāng)前時間,步628跟隨,在步628,當(dāng)前時間被編輯時間更新。然后,時間調(diào)整過程結(jié)束。
圖7是圖6A和6B計算過程的方框示意圖。當(dāng)前時間的年,月,日,小時,分鐘,秒和一周星期幾分別是1995,12,08,13,50,37和星期五。當(dāng)前的時間被復(fù)制以在圖6A的步602編輯時間。然后,編輯時間的年,月,日,小時,分鐘,秒,和一周的星期幾在圖6A的步620處被設(shè)置,在圖6A的步622,根據(jù)當(dāng)前時間的年,月,日和在CPU1的真實時間計算一周的星期幾,然后,在圖6B的步628,當(dāng)前時間被編輯時間更新。
圖8是圖6A步606計算過程方框示意圖。在圖8中,在輸入過程中,輸入數(shù)據(jù)是CPU1的真實時間和當(dāng)前時間。在CPU1中真實時間的年,(y),月(M),日(D),小時(h),分鐘(m),秒(S)和一周的星期幾(DW)是1995,01,01,00,00,00,星期天,當(dāng)前時間的年,月,日是1996,01,12。在操作過程中,全部的天數(shù)被計算作為真實時間和當(dāng)前時間之間的不同的天數(shù)。所計算的全部天數(shù)被7除和余數(shù)通過除法得到。然后,通過對應(yīng)余數(shù)的一周星期幾的表求得當(dāng)前時間一周的星期幾,在輸出過程中,當(dāng)前時間的一周的星期幾被輸出為星期五。
依照圖6A和6B的時間調(diào)整過程,游戲程序的時間與游戲歷史的內(nèi)容相一致。
因此,游戲程序能被正確地糾錯。進(jìn)而,在開發(fā)游戲程序時,游戲程序糾錯并不浪費開發(fā)人員的工作時間和加重工作負(fù)擔(dān)。
由于發(fā)明可以體現(xiàn)為幾種形式而無需脫離基本特性的精神,本實施例因此是示意性的而不是限制性的,由于本發(fā)明的范圍是附屬的權(quán)利要求確定的而不是描述處理實施例確定的,所有滿足權(quán)利要求和受權(quán)利要求限定的所有變化和等同物因此都傾向于包括在權(quán)利要求中。
權(quán)利要求
1對游戲儀器內(nèi)的游戲程序糾錯的方法包括以下步驟設(shè)置基準(zhǔn)時間以對所說的游戲程序進(jìn)行糾錯;設(shè)置開始時間以對所說的游戲程序進(jìn)行糾錯;比較所說的基準(zhǔn)時間和所說的開始時間以確定是否所說的開始時間是晚于所說的基準(zhǔn)時間;和當(dāng)所說的開始時間是晚于所說的基準(zhǔn)時間時,完成控制糾錯過程,和當(dāng)所說的開始時間不晚于所說基準(zhǔn)時間時,控制糾錯過程被停止,這樣重復(fù)所說開始時間設(shè)置步驟以設(shè)置所說開始時間晚于所說基準(zhǔn)時間。
2權(quán)利要求1方法,進(jìn)而包括以下步驟根據(jù)所說的基準(zhǔn)時間計算所說開始時間的一周星期幾。
3對游戲程序進(jìn)行糾錯的游戲儀器包括設(shè)置基準(zhǔn)時間以對所說游戲程序進(jìn)行糾錯的裝置;設(shè)置開始時間以對所說游戲程序進(jìn)行糾錯的裝置;比較所說基準(zhǔn)時間和所說開始時間以確定是否所說開始時間是晚于所說基準(zhǔn)時間的裝置;和當(dāng)所說的開始時間晚于所說的基準(zhǔn)時間時,完成控制糾錯過程和當(dāng)所說的開始時間不晚于所說的基準(zhǔn)時間時,控制糾錯過程停止的裝置,以此重復(fù)所說開始時間設(shè)置步驟,以設(shè)置所說開始時間晚于所說的基準(zhǔn)時間。
4權(quán)利要求3的系統(tǒng)進(jìn)一步包括根據(jù)所說的基準(zhǔn)時間計算所說開始時間的一周的星期幾的裝置。
5對游戲程序進(jìn)行糾錯的游戲儀器包括存儲游戲程序和糾錯程序的ROM盒;和處理所說游戲程序和所說糾錯程序的游戲單元;所說的ROM盒中的糾錯程序進(jìn)一步包括設(shè)置基準(zhǔn)時間以對所說游戲程序進(jìn)行糾錯的裝置;設(shè)置開始時間以對所說游戲程序進(jìn)行糾錯的裝置;比較所說基準(zhǔn)時間和所說開始時間以確定所說開始時間晚于所說基準(zhǔn)時間的裝置;和當(dāng)所說的開始時間晚于基準(zhǔn)時間時,完成控制糾錯過程,和當(dāng)所說的開始時間不晚于所說的基準(zhǔn)時間時,控制糾錯過程停止的裝置,以此重復(fù)所說開始時間設(shè)置步驟以設(shè)置開始時間晚于所說的基準(zhǔn)時間。
6權(quán)利要求5的所說ROM盒的糾錯程序進(jìn)一步包括根據(jù)所說基準(zhǔn)時間,計算所說開始時間的一周的星期幾的裝置。
全文摘要
在對游戲程序進(jìn)行糾錯的游戲儀器和方法中,確定基準(zhǔn)時間,然后,確定在游戲中糾錯過程的開始時間。然后,基準(zhǔn)時間和開始時間進(jìn)行比較。如果基準(zhǔn)時間大于開始時間,在游戲中糾錯過程的開始時間必須重新設(shè)置。在本發(fā)明的游戲儀器和方法中,因此,在游戲程序內(nèi)的時間一定與游戲歷史的內(nèi)容相一致。游戲程序能被正確地糾錯。進(jìn)而,在開發(fā)游戲程序過程中,游戲程序糾錯并不浪費開發(fā)人員的工作時間和加重工作負(fù)擔(dān)。
文檔編號G06F11/36GK1159355SQ9612131
公開日1997年9月17日 申請日期1996年12月24日 優(yōu)先權(quán)日1995年12月25日
發(fā)明者中知彥 申請人:赫德森索夫特株式會社