Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7795435B2 - Game program, game control method and information processing device - Google Patents
[go: Go Back, main page]

JP7795435B2 - Game program, game control method and information processing device - Google Patents

Game program, game control method and information processing device

Info

Publication number
JP7795435B2
JP7795435B2 JP2022132459A JP2022132459A JP7795435B2 JP 7795435 B2 JP7795435 B2 JP 7795435B2 JP 2022132459 A JP2022132459 A JP 2022132459A JP 2022132459 A JP2022132459 A JP 2022132459A JP 7795435 B2 JP7795435 B2 JP 7795435B2
Authority
JP
Japan
Prior art keywords
objects
game
occlusion
virtual camera
characters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022132459A
Other languages
Japanese (ja)
Other versions
JP2024029961A (en
Inventor
唯信 隆藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koei Tecmo Games Co Ltd
Original Assignee
Koei Tecmo Games Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koei Tecmo Games Co Ltd filed Critical Koei Tecmo Games Co Ltd
Priority to JP2022132459A priority Critical patent/JP7795435B2/en
Publication of JP2024029961A publication Critical patent/JP2024029961A/en
Application granted granted Critical
Publication of JP7795435B2 publication Critical patent/JP7795435B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

本開示は、ゲームプログラム、ゲーム制御方法及び情報処理装置に関する。 This disclosure relates to a game program, a game control method, and an information processing device.

特許文献1には、プレイヤキャラクタの視野に露出するオブジェクトの表面積を測定し、測定された表面積のうち他のオブジェクトの表面積により遮蔽される面積が少ないオブジェクトを優先的にローディングさせることが記載されている。 Patent document 1 describes measuring the surface area of objects exposed in the player character's field of view, and prioritizing loading of objects whose measured surface area is least obscured by the surface area of other objects.

特許第4503073号公報Patent No. 4503073

特許文献1では、プレイヤキャラクタの視野に露出するオブジェクトが他のオブジェクトに遮蔽されるか否かの検査を遂行することができる多数のアルゴリズムを開示している。例えば、特許文献1は、当該遮蔽の検査に、遮蔽地平線(OccluSionHorizon)、シャフト遮蔽選別(ShaftOccluSionCulling)、ハードウェア遮蔽クエリ(HardwareOccluSionQuery)、階層的Z-バッファーリング(HierarchicalZ-Buffering)、階層的遮蔽マップアルゴリズム(TheHOMalgorithm)のようなアルゴリズムを多様に選択できることを記載している。 Patent document 1 discloses a number of algorithms that can be used to check whether an object exposed in the player character's field of view is occluded by another object. For example, patent document 1 describes that various algorithms can be selected for checking for occlusion, such as occlusion horizon (Occlusion Horizon), shaft occlusion culling (ShaftOcclusionCulling), hardware occlusion query (HardwareOcclusionQuery), hierarchical Z-buffering, and the hierarchical occlusion map algorithm (The HOMalgorithm).

本開示は、複数のオブジェクトの遮蔽検査を容易に行い、描画処理の負荷を軽減することができる技術を提案する。 This disclosure proposes technology that can easily perform occlusion checks for multiple objects and reduce the load on rendering processing.

1つの実施態様では、仮想空間にて仮想カメラが撮影しているゲーム画像の描画処理をコンピュータに実行させるゲームプログラムであって、(a)前記仮想カメラが撮影しているオブジェクトが複数存在する場合、複数の前記オブジェクトのそれぞれを一のオブジェクトとして、前記一のオブジェクトから所定距離以内の他のオブジェクトであって、かつ前記一のオブジェクトから前記仮想カメラへ向かう方向に対して所定角度以内の前記他のオブジェクトの有無に応じて前記一のオブジェクトの遮蔽レベルを算出する処理と、(b)複数の前記オブジェクト毎の前記遮蔽レベルに基づき複数の前記オブジェクト毎の更新頻度を決定する処理と、(c)複数の前記オブジェクト毎の更新頻度に基づき複数の前記オブジェクト毎の描画処理の更新を制御する処理と、を含む処理を実行させるゲームプログラムが提供される。 In one embodiment, a game program is provided that causes a computer to execute a rendering process for a game image captured by a virtual camera in a virtual space, the program including: (a) when there are multiple objects captured by the virtual camera, treating each of the multiple objects as a single object, and calculating the occlusion level of the single object based on the presence or absence of other objects that are within a predetermined distance from the single object and within a predetermined angle in the direction from the single object toward the virtual camera; (b) determining the update frequency for each of the multiple objects based on the occlusion level for each of the multiple objects; and (c) controlling the updating of the rendering process for each of the multiple objects based on the update frequency for each of the multiple objects.

1つの側面では、本開示は、複数のオブジェクトの遮蔽検査を容易に行い、描画処理の負荷を軽減することができる。 In one aspect, the present disclosure makes it easy to perform occlusion checks for multiple objects, reducing the load on rendering processing.

実施形態に係るゲームシステムの構成例を示す図。FIG. 1 is a diagram showing an example of the configuration of a game system according to an embodiment. 実施形態に係るゲームシステムの他の構成例を示す図。FIG. 10 is a diagram showing another example of the configuration of the game system according to the embodiment. 実施形態に係るゲーム機のハードウェア構成を示す図。FIG. 1 is a diagram showing the hardware configuration of a game machine according to an embodiment. 実施形態に係るゲーム機の機能構成を示す図。FIG. 1 is a diagram showing the functional configuration of a game machine according to an embodiment. 従来の描画におけるオブジェクトの更新頻度の判定を説明するための図。10A and 10B are diagrams for explaining determination of the update frequency of an object in conventional drawing. 第1実施形態に係るゲーム制御方法を示すフローチャート。4 is a flowchart showing a game control method according to the first embodiment. 第1実施形態に係るゲーム制御方法における遮蔽レベルの算出例を示す図。5A to 5C are diagrams showing an example of calculation of an occlusion level in the game control method according to the first embodiment. 第1実施形態に係るゲーム制御方法における遮蔽レベルの算出例を示す図。5A to 5C are diagrams showing an example of calculation of an occlusion level in the game control method according to the first embodiment. 第2実施形態に係るゲーム制御方法を示すフローチャート。10 is a flowchart showing a game control method according to a second embodiment. 第2実施形態に係るゲーム制御方法における遮蔽レベルの算出例を示す図。10A and 10B are diagrams showing an example of calculation of an occlusion level in the game control method according to the second embodiment. 第2実施形態に係るゲーム制御方法における遮蔽レベルの算出例を示す図。10A and 10B are diagrams showing an example of calculation of an occlusion level in the game control method according to the second embodiment. 第2実施形態に係るゲーム制御方法における遮蔽レベルの算出例を示す図。10A and 10B are diagrams showing an example of calculation of an occlusion level in the game control method according to the second embodiment. 第3実施形態に係るゲーム制御方法を示すフローチャート。10 is a flowchart showing a game control method according to a third embodiment. 第3実施形態に係るゲーム制御方法を比較例と比較して説明するための図。FIG. 11 is a diagram for explaining the game control method according to the third embodiment in comparison with a comparative example.

以下、本開示を実施するための形態について図面を参照して説明する。なお、本明細書及び図面において、実質的に同一の構成については、同一の符号を付することにより重複した説明を省く場合がある。 The following describes embodiments of the present disclosure with reference to the drawings. Note that in this specification and drawings, substantially identical components may be designated by the same reference numerals to avoid redundant description.

[ゲームシステム]
図1は、実施形態に係るゲームシステム1の構成例を示す図である。ゲームシステム1は、情報処理装置の一例であるゲーム機3と、ゲームコントローラ5と、表示装置7とを有する。ゲームコントローラ5及び表示装置7の各々は、ゲーム機3と有線又は無線により通信可能に接続されている。
[Game System]
1 is a diagram showing an example of the configuration of a game system 1 according to an embodiment. The game system 1 includes a game machine 3, which is an example of an information processing device, a game controller 5, and a display device 7. The game controller 5 and the display device 7 are each connected to the game machine 3 via wire or wirelessly so as to be able to communicate with each other.

ゲーム機3は、例えば据え置き型のゲーム専用機である。但し、これに限定されるものではなく、ゲーム機3は、例えば入力部や表示部等を一体に備えた携帯型のゲーム機でもよい。 Game machine 3 is, for example, a stationary game machine. However, it is not limited to this, and game machine 3 may also be, for example, a portable game machine that is equipped with an input unit, display unit, etc.

また、ゲーム機3はゲーム専用機に限らず、例えば、コンピュータ、デスクトップ型コンピュータ、ノート型コンピュータ、タブレット型コンピュータ等のように、コンピュータとして製造、販売等されているものや、スマートフォン、携帯電話、ファブレット等のように、電話機としても機能する携帯端末でもよい。これらの装置は、普段は汎用的な情報処理端末装置として利用されるが、プレイヤがインストールされたゲームプログラムを実行すると、ゲーム専用機と同様、プレイヤがゲームを進行できるようになる。 Furthermore, the game machine 3 is not limited to a dedicated game machine, but may be, for example, a computer, desktop computer, notebook computer, tablet computer, or other computer that is manufactured, sold, etc., or a mobile terminal that also functions as a telephone, such as a smartphone, mobile phone, or phablet. These devices are normally used as general-purpose information processing terminal devices, but when a player executes the installed game program, the player can progress through the game, just like a dedicated game machine.

ゲーム機3には、本実施形態のゲームプログラムがインストールされる。ゲームプログラムはCD-ROMなどの光記憶媒体やUSBメモリなどの半導体メモリに記憶された状態で配布されたり、サーバ装置からダウンロードされたりする形態で配布される。 The game program of this embodiment is installed on the game console 3. The game program is distributed in a state stored on an optical storage medium such as a CD-ROM or semiconductor memory such as a USB memory, or is distributed by being downloaded from a server device.

プレイヤは、ゲームコントローラ5を用いて各種の操作入力を行う。図1に示す例では、ゲームコントローラ5は例えば十字キー9、及び複数のボタン8等を有する。なお、ゲームコントローラ5は上記に代えて又は加えて、例えばジョイスティックやタッチパッド等を有してもよい。また、ゲームコントローラ5がマイクを備え、音声操作が可能でもよい。ゲームコントローラ5がジャイロセンサや加速度センサ等を備え、プレイヤがゲームコントローラ5の姿勢を変えることで操作が可能でもよい。 The player uses the game controller 5 to perform various operational inputs. In the example shown in FIG. 1, the game controller 5 has, for example, a cross key 9 and multiple buttons 8. Note that the game controller 5 may have, for example, a joystick or a touchpad instead of or in addition to the above. The game controller 5 may also have a microphone, allowing for voice control. The game controller 5 may also have a gyro sensor, acceleration sensor, or the like, allowing for control by the player changing the orientation of the game controller 5.

また、ゲーム機3は更にネットワーク上のサーバ装置と通信してもよい(図2参照)。同じゲームプログラムを実行する複数のゲーム機3は、サーバ装置に接続するので、いわゆるオンラインゲームが可能になる。オンラインゲームとは、例えば、多人数で同じゲームプログラムを協調して操作できるゲームをいう。オンラインゲームのサーバ装置は、他のプレイヤの位置や操作コマンドを受け付け、他のプレイヤのゲーム機3に送信する処理等を行ってもよい。ゲーム機3では各プレイヤの描画や操作コマンドの反映処理など実際のゲーム処理を行う。 The game console 3 may also communicate with a server device on the network (see Figure 2). Multiple game consoles 3 running the same game program connect to the server device, enabling so-called online games. An online game is, for example, a game in which multiple players can operate the same game program cooperatively. The server device for an online game may accept the positions and operation commands of other players and transmit them to the game consoles 3 of the other players. The game consoles 3 perform the actual game processing, such as drawing each player and reflecting operation commands.

図2は、実施形態におけるゲームシステム1の他の構成例を示す図である。実施形態のゲームシステム1は、ネットワークN(例えば、インターネット等)を介してゲームに関する各種サービスをプレイヤに提供する。ゲームシステム1は、サーバ装置2と端末装置30とを有する。サーバ装置2は、ゲームに関する各種サービスを端末装置30に提供する情報処理装置の一例である。サーバ装置2は、パーソナルコンピュータ、ワークステーション、クラウドコンピュータ等であってよい。 Figure 2 is a diagram showing another example configuration of a game system 1 according to an embodiment. The game system 1 according to an embodiment provides various game-related services to players via a network N (e.g., the Internet, etc.). The game system 1 includes a server device 2 and a terminal device 30. The server device 2 is an example of an information processing device that provides various game-related services to the terminal device 30. The server device 2 may be a personal computer, a workstation, a cloud computer, etc.

端末装置30は、ゲームをプレイする際にプレイヤが使用する情報処理装置の一例である。端末装置30は、ゲーム機でもよいし、コンピュータ、デスクトップ型コンピュータ、ノート型コンピュータ、タブレット型コンピュータ等のように、コンピュータとして製造、販売等されているものや、スマートフォン、携帯電話、ファブレット等のように、電話機としても機能する携帯端末でもよい。 The terminal device 30 is an example of an information processing device used by a player when playing a game. The terminal device 30 may be a game console, a computer manufactured, sold, etc. as a computer, such as a desktop computer, notebook computer, or tablet computer, or a mobile terminal that also functions as a telephone, such as a smartphone, mobile phone, or phablet.

端末装置30は、サーバ装置2に対してゲームに関する各種情報(ゲーム制御方法が記載されたゲームプログラムやゲーム画面等)の配信要求を行う。サーバ装置2は、端末装置30から各種情報の配信要求を受け付けると、端末装置30においてプレイするゲームプログラムやゲーム画面のWebページを配信する。 The terminal device 30 requests the server device 2 to distribute various information related to the game (such as a game program containing game control methods and game screens). Upon receiving a request for distribution of various information from the terminal device 30, the server device 2 distributes the game program and web pages of the game screens to be played on the terminal device 30.

端末装置30は、プレイヤにゲーム画面を表示するWebページを閲覧させるためのWebブラウザ機能を有する。これにより、端末装置30は、サーバ装置2から配信されたゲーム画面等のWebページを表示することができる。サーバ装置2は、プレイヤが動作させるプレイヤキャラクタ及びノンプレイヤキャラクタが敵及び味方に分かれて対戦するオンラインゲーム等のゲームを提供してもよい。 The terminal device 30 has a web browser function that allows the player to view web pages displaying game screens. This allows the terminal device 30 to display web pages such as game screens distributed from the server device 2. The server device 2 may provide games such as online games in which player characters and non-player characters operated by players are divided into allies and enemies and compete against each other.

ゲームシステム1は、図1に例示するゲーム機3や図2に例示する端末装置30が別のゲーム機3や別の端末装置30と通信するいわゆるP2P(Peer To Peer)方式でもよい。この場合、図2のサーバ装置2は設けなくてもよい。また、ゲームシステム1はいわゆるクラウドゲームでもよい。なお、図1及び図2のゲームシステム1は一例であり、用途や目的に応じて様々なシステム構成例が考えられる。以下では、主に図1の構成を用いて本実施形態のゲームシステム1について説明する。 The game system 1 may be a so-called P2P (Peer to Peer) system in which a game machine 3 as illustrated in FIG. 1 or a terminal device 30 as illustrated in FIG. 2 communicates with another game machine 3 or another terminal device 30. In this case, the server device 2 of FIG. 2 does not need to be provided. The game system 1 may also be a so-called cloud game. Note that the game system 1 of FIGS. 1 and 2 is just an example, and various system configurations can be considered depending on the application and purpose. Below, the game system 1 of this embodiment will be described mainly using the configuration of FIG. 1.

ゲーム機3は、対戦ゲーム、スポーツゲーム、レーシングゲーム、街づくりゲーム等、あらゆるゲームを提供できる。また、ゲーム機3は、ガチャ等によりゲームを提供できる。ただし、本実施形態にて開示するゲームシステム1で実行されるゲームは、仮想空間において実行される3Dゲーム又は2Dゲームであって、対戦ゲーム(アクションゲーム)が好適である。本実施形態では、第1キャラクタと第2キャラクタとの対戦において、より自然なゲームを演出するようにゲーム処理を制御する。 The game machine 3 can provide all kinds of games, including fighting games, sports games, racing games, and city-building games. The game machine 3 can also provide games through gacha or other methods. However, the games executed by the game system 1 disclosed in this embodiment are 3D or 2D games executed in a virtual space, and fighting games (action games) are preferred. In this embodiment, the game processing is controlled to present a more natural gameplay in a battle between a first character and a second character.

なお、オブジェクトとは、本実施形態では主に仮想空間(例えば3D空間)に存在するキャラクタを含む物体をまとめてオブジェクトという。例えば、プレイヤキャラクタ(PC)、ノンプレイヤキャラクタ(以下、「NPC」ともいう。)、建物等、およそ仮想空間に登場するものはオブジェクトである。キャラクタには、敵キャラクタや味方キャラクタが含まれ、プレイヤが操作するプレイヤキャラクタでもよいし、AI等が自動操作するノンプレイヤキャラクタでもよい。 In this embodiment, the term "object" refers to a general term for objects, including characters, that exist primarily in virtual space (e.g., 3D space). For example, player characters (PCs), non-player characters (hereinafter also referred to as "NPCs"), buildings, and other objects are basically anything that appears in virtual space. Characters include enemy characters and ally characters, and may be player characters controlled by the player, or non-player characters automatically controlled by AI or the like.

[ゲーム機のハードウェア構成]
次に、ゲーム機3のハードウェア構成について、図3を参照して説明する。図3は、実施形態に係るゲーム機3のハードウェア構成を示す図である。ゲーム機3は、CPU(Central Processing Unit)121、メモリ122、通信装置123、入力装置124及び表示装置125を有する。CPU121は、ゲーム機3を制御する。メモリ122は、例えば、CPU121が直接アクセス可能なゲーム機3内の記憶媒体である。通信装置123は、他の装置との通信を制御するネットワーク回路などの通信デバイスである。入力装置124は、入力デバイスであり、ゲームコントローラ5のようにゲーム機3に接続され、ゲーム機3の内部に有しなくてもよい。入力装置124は、カメラ又はタッチパネルなどの入力デバイスでもよい。表示装置125は、ディスプレイなどの出力デバイスである。
[Game console hardware configuration]
Next, the hardware configuration of the game machine 3 will be described with reference to FIG. 3 . FIG. 3 is a diagram showing the hardware configuration of the game machine 3 according to the embodiment. The game machine 3 has a CPU (Central Processing Unit) 121, a memory 122, a communication device 123, an input device 124, and a display device 125. The CPU 121 controls the game machine 3. The memory 122 is, for example, a storage medium within the game machine 3 that is directly accessible by the CPU 121. The communication device 123 is a communication device such as a network circuit that controls communication with other devices. The input device 124 is an input device that is connected to the game machine 3 like the game controller 5 and does not necessarily have to be located inside the game machine 3. The input device 124 may be an input device such as a camera or a touch panel. The display device 125 is an output device such as a display.

ゲーム機3は、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM、ROM等の各種のメモリ122を搭載してもよい。 The game console 3 may be equipped with various microprocessors such as a GPU (Graphics Processing Unit) or a DSP (Digital Signal Processor), and various types of memory 122 such as VRAM, RAM, and ROM.

ゲーム機3は、演算処理によりゲームプレイするために必要な各種のゲームデータをメモリ122に記憶し、ゲーム処理を制御及び管理するゲーム管理機能を有する。CPU121が所定のゲームプログラム及びゲームデータに基づいて演算処理を行うことにより、ゲーム制御方法が実行される。 The game machine 3 stores various game data necessary for playing the game through calculations in the memory 122, and has a game management function that controls and manages the game processing. The game control method is executed by the CPU 121 performing calculations based on a predetermined game program and game data.

[ゲーム機の機能構成]
次に、ゲーム機3の機能構成について図4を参照して説明する。図4は、実施形態に係るゲーム機3の機能構成を示す図である。ゲーム機3は、制御部11、記憶部12及び通信部13を有する。
[Functional configuration of game console]
Next, the functional configuration of the game machine 3 will be described with reference to Fig. 4. Fig. 4 is a diagram showing the functional configuration of the game machine 3 according to the embodiment. The game machine 3 has a control unit 11, a storage unit 12, and a communication unit 13.

制御部11は、各部間のデータの受け渡しを行うと共にゲーム機3の制御を行う。制御部11は、CPU121がメモリ122に格納されたゲームプログラムを実行することによって実現される。 The control unit 11 exchanges data between each unit and controls the game machine 3. The control unit 11 is realized by the CPU 121 executing a game program stored in the memory 122.

記憶部12は、ゲームをコンピュータに実行させるゲームプログラム、各種のデータ及び各種の情報を記憶している。ゲームプログラムは、仮想空間にて仮想カメラが撮影しているゲーム画像の描画処理をコンピュータに実行させるプログラムを含む。記憶部12は、例えばメモリ122によって実現される。記憶部12は、ゲームプログラムが記憶された読み取り専用の記憶領域であるROM(Read Only Memory)と、制御部11による演算処理のワーク領域として使用される書き換え可能な記憶領域であるRAM(Random Access Memory)とを有している。記憶部12は、例えば、フラッシュメモリやハードディスク等の不揮発性の記憶装置によって実現される。ゲームプログラムの一部又は全部はRAMに格納されてもよい。 The storage unit 12 stores a game program that causes the computer to run the game, as well as various data and information. The game program includes a program that causes the computer to execute a rendering process for game images captured by a virtual camera in virtual space. The storage unit 12 is realized, for example, by memory 122. The storage unit 12 has a ROM (Read Only Memory), which is a read-only storage area in which the game program is stored, and a RAM (Random Access Memory), which is a rewritable storage area used as a work area for calculations by the control unit 11. The storage unit 12 is realized, for example, by a non-volatile storage device such as flash memory or a hard disk. Part or all of the game program may be stored in RAM.

更に、記憶部12は、遮蔽レベル21及びキャラクタ情報22を記憶する。遮蔽レベル21の算出については後述する。キャラクタ情報22は、キャラクタの大きさ、キャラクタの重要度、キャラクタの移動速度、キャラクタのモーション(攻撃モーション中か、攻撃されているか等)、キャラクタとプレイヤキャラクタとの距離、キャラクタと仮想カメラとの距離等が挙げられる。 Furthermore, the memory unit 12 stores an occlusion level 21 and character information 22. Calculation of the occlusion level 21 will be described later. The character information 22 includes the character's size, the character's importance, the character's movement speed, the character's motion (whether the character is in an attack motion or is being attacked, etc.), the distance between the character and the player character, the distance between the character and the virtual camera, etc.

通信部13は、端末装置及び/又はその他の装置との間で通信を行うための機能を有する。通信部13は、端末装置及び/又はその他の装置から送信される各種データを受信する受信部としての機能と、制御部11の指令に応じて各種データを端末装置及び/又はその他の装置へ送信する送信部としての機能を有する。通信部13は、例えば、NIC(Network Interface Card)によって実現される。 The communication unit 13 has the function of communicating with the terminal device and/or other devices. The communication unit 13 functions as a receiving unit that receives various data transmitted from the terminal device and/or other devices, and as a transmitting unit that transmits various data to the terminal device and/or other devices in response to commands from the control unit 11. The communication unit 13 is realized, for example, by a NIC (Network Interface Card).

制御部11は、ゲーム実行処理部14、算出部15、更新制御部16、衝突判定部17及び表示制御部18を有する。ゲーム実行処理部14は、仮想空間内において例えばプレイヤが操作するプレイヤキャラクタが敵ボスキャラクタと対戦する対戦ゲームを実行する。ただし、ゲーム実行処理部14が行うゲームは、対戦ゲーム以外の様々なゲームであってよい。 The control unit 11 has a game execution processing unit 14, a calculation unit 15, an update control unit 16, a collision determination unit 17, and a display control unit 18. The game execution processing unit 14 executes a fighting game in a virtual space, for example, in which a player character operated by a player fights against an enemy boss character. However, the game executed by the game execution processing unit 14 may be various games other than fighting games.

なお、本明細書におけるオブジェクトは、仮想空間に表示される表示部品であり、ゲーム画面に表示された、移動可能なオブジェクト及び固定オブジェクトが含まれる。移動可能なオブジェクトには、プレイヤキャラクタ、ノンプレイヤキャラクタ、馬、武器等が含まれる。建物や山等のオブジェクトは、通常固定オブジェクトであるが、移動可能なオブジェクトとしてもよい。 In this specification, "objects" refer to display components displayed in virtual space, and include movable and fixed objects displayed on the game screen. Movable objects include player characters, non-player characters, horses, weapons, etc. Objects such as buildings and mountains are usually fixed objects, but may also be movable objects.

算出部15は、仮想カメラが撮影しているオブジェクトが複数存在する場合、複数の前記オブジェクトのそれぞれを一のオブジェクトとして、前記一のオブジェクトから所定距離以内の他のオブジェクトであって、かつ前記一のオブジェクトから仮想カメラへ向かう方向に対して所定角度以内の前記他のオブジェクトの有無に応じて前記一のオブジェクトの遮蔽レベルを算出する。 When there are multiple objects photographed by the virtual camera, the calculation unit 15 considers each of the multiple objects to be a single object, and calculates the occlusion level of the single object based on the presence or absence of other objects that are within a predetermined distance from the single object and within a predetermined angle with respect to the direction from the single object toward the virtual camera.

算出部15は、所定角度以内の他のオブジェクトがある場合、前記他のオブジェクトの遮蔽レベルよりも高い値に前記一のオブジェクトの遮蔽レベルを算出してもよい。所定角度以内の他のオブジェクトがない場合、前記一のオブジェクトの遮蔽レベルを最も低いレベルに設定してもよい。 If there are other objects within a predetermined angle, the calculation unit 15 may calculate the occlusion level of the one object to be higher than the occlusion levels of the other objects.If there are no other objects within a predetermined angle, the calculation unit 15 may set the occlusion level of the one object to the lowest level.

算出部15は、複数の前記オブジェクトのうち、前記仮想カメラに近いオブジェクトから順に一のオブジェクトとして、前記一のオブジェクトの遮蔽レベルを算出してもよい。 The calculation unit 15 may calculate the occlusion level of one object by classifying the object closest to the virtual camera as one of the multiple objects.

算出部15は、複数の前記オブジェクトの最新フレーム(次フレーム)の遮蔽レベルが直前フレーム(前フレーム)の遮蔽レベルから変化しなくなるまで複数の前記オブジェクト毎の遮蔽レベルを算出してもよい。算出部15は、最新フレーム(次フレーム)における複数の前記オブジェクトの遮蔽レベルが、直前フレーム(前フレーム)における複数の前記オブジェクトの遮蔽レベルから変化しない場合、遮蔽レベルの算出を終了してもよい。 The calculation unit 15 may calculate the occlusion levels for each of the multiple objects until the occlusion levels of the multiple objects in the latest frame (next frame) no longer change from the occlusion levels of the multiple objects in the immediately preceding frame (previous frame). The calculation unit 15 may terminate the calculation of the occlusion levels when the occlusion levels of the multiple objects in the latest frame (next frame) no longer change from the occlusion levels of the multiple objects in the immediately preceding frame (previous frame).

更新制御部16は、複数の前記オブジェクト毎の前記遮蔽レベルに基づき複数の前記オブジェクト毎の更新頻度を決定し、複数の前記オブジェクト毎の更新頻度に基づき複数の前記オブジェクト毎の描画処理の更新を制御する。 The update control unit 16 determines the update frequency for each of the plurality of objects based on the occlusion level for each of the plurality of objects, and controls the update of the drawing process for each of the plurality of objects based on the update frequency for each of the plurality of objects.

更新制御部16は、複数の前記オブジェクト毎の更新頻度に従い、フレーム毎に複数の前記オブジェクトの夫々について更新の有無を判定し、更新が必要であると判定されたオブジェクトの描画処理の更新を行ってもよい。 The update control unit 16 may determine whether or not each of the multiple objects needs to be updated for each frame, according to the update frequency for each of the multiple objects, and update the drawing process for objects that are determined to need to be updated.

衝突判定部17は、複数のオブジェクトの衝突判定を行う。衝突判定部17については第3実施形態にて詳述する。 The collision determination unit 17 performs collision determination for multiple objects. The collision determination unit 17 will be described in detail in the third embodiment.

表示制御部18は、仮想空間にて仮想カメラが撮影しているゲーム画像の描画処理に従い、ゲーム画面にキャラクタ等のゲームシーンを描画する。表示制御部18は、複数の前記オブジェクト毎の更新頻度に基づき複数の前記オブジェクト毎の描画処理の更新を制御する。表示制御部18は、複数のキャラクタやその他のオブジェクトが登場する仮想空間をゲーム機3の表示装置125に表示させる。表示制御部18は、ゲーム画面のWebページを制御し、ゲーム画面のWebページを通信部13によりゲームを行う端末装置に送信し、端末装置の画面に表示してもよい。 The display control unit 18 draws game scenes such as characters on the game screen in accordance with the drawing process of game images captured by the virtual camera in the virtual space. The display control unit 18 controls the updating of the drawing process for each of the multiple objects based on the update frequency for each of the multiple objects. The display control unit 18 displays a virtual space in which multiple characters and other objects appear on the display device 125 of the game machine 3. The display control unit 18 may control a web page of the game screen, send the web page of the game screen via the communication unit 13 to the terminal device on which the game is played, and display it on the screen of the terminal device.

[従来の更新頻度の判定]
従来の更新頻度の判定について、図5を参照しながら説明する。図5は、従来の描画におけるオブジェクトの更新頻度の判定を説明するための図である。
[Conventional update frequency determination]
A conventional method for determining the update frequency will be described with reference to Fig. 5. Fig. 5 is a diagram for explaining a conventional method for determining the update frequency of an object in drawing.

ゲーム画面にキャラクタ等のオブジェクトを描画する際、更新処理の間引きや遠方のオブジェクトの表示の簡略化が行われることがある。特に大量のキャラクタのアクション等の描画をフレーム毎に更新する際に、すべてのキャラクタのアクションを更新すると描画処理が重くなる。そこで、キャラクタ毎の更新頻度を決定するためにどのキャラクタの描画処理を間引いたり、表示を簡略化したりするかの更新優先度の判定を行うが、その判定手法のほとんどは仮想カメラからキャラクタまでの距離を用いている。 When drawing characters and other objects on the game screen, update processing may be thinned out or the display of distant objects may be simplified. In particular, when updating the drawing of the actions of a large number of characters every frame, updating the actions of all characters can slow down the drawing processing. Therefore, to determine the update frequency for each character, an update priority is determined to determine which characters' drawing processing should be thinned out or whose display should be simplified, and most methods for this determination use the distance from the virtual camera to the character.

このように従来手法では仮想カメラからの距離に応じてキャラクタ毎の更新優先度を決め、更新優先度が低いキャラクタに対して軽量な更新への変更、更新処理の間引きを行っている。例えば図5では、B領域に位置するキャラクタNは、仮想カメラから近い(見えやすい)ため、更新優先度を高くする。一方、A領域に位置するキャラクタNは、仮想カメラから遠い(前のキャラクタに隠れるので仮想カメラから見えにくい)ため、更新優先度を低くする。なお、図中の〇は、ノンプレイヤキャラクタ(NPC)を示すが、プレイヤキャラクタであってもよい。 In this way, conventional methods determine the update priority for each character depending on their distance from the virtual camera, and change characters with low update priorities to lighter updates and thin out update processing. For example, in Figure 5, character N located in area B is closer to the virtual camera (easier to see) and therefore has a higher update priority. On the other hand, character N located in area A is farther from the virtual camera (is hidden by the character in front and therefore less visible from the virtual camera), and therefore has a lower update priority. Note that the circles in the figure indicate non-player characters (NPCs), but they may also be player characters.

これに対して、本実施形態ではキャラクタ同士の隣接状態又は接触状況から遮蔽検査を行い、仮想カメラからの見えやすさ(見えにくさ)を推測し、更新頻度の決定に利用する。例えば、本実施形態では複数のオブジェクトの遮蔽検査を容易に行って遮蔽レベルを算出する。そして、遮蔽レベルに基づき更新頻度を決定して更新処理の間引きや遠方のオブジェクトの表示の簡略化を行い、描画処理の負荷を軽減する。 In contrast, this embodiment performs occlusion checks based on the proximity or contact status of characters, estimates their visibility (or lack thereof) from the virtual camera, and uses this information to determine the update frequency. For example, this embodiment easily performs occlusion checks on multiple objects to calculate the occlusion level. The update frequency is then determined based on the occlusion level, and updates are thinned out or the display of distant objects is simplified, reducing the load on the rendering process.

これにより、クオリティの低い更新処理や、更新処理が間引かれたキャラクタはユーザから見えにくくする。これにより、描画処理の負荷を軽減しつつ、高品質なゲーム画像をユーザに提供することができる。以下、第1~第3実施形態に係るゲーム制御方法について順に説明する。 This makes it difficult for the user to see low-quality update processes or characters for which update processes have been thinned out. This reduces the load on the rendering process while providing the user with high-quality game images. Below, we will explain the game control methods for the first to third embodiments in order.

<第1実施形態>
まず、図6~図8を参照しながら、第1実施形態に係るゲーム制御方法について説明する。図6は、第1実施形態に係るゲーム制御方法を示すフローチャートである。図7及び図8は、第1実施形態に係るゲーム制御方法における遮蔽レベルの算出例を示す図である。
First Embodiment
First, the game control method according to the first embodiment will be described with reference to Figures 6 to 8. Figure 6 is a flowchart showing the game control method according to the first embodiment. Figures 7 and 8 are diagrams showing an example of calculation of the occlusion level in the game control method according to the first embodiment.

[ゲーム制御方法]
ゲーム制御方法が開始されると、ゲーム機3は、図6に示すフローチャートの各処理を実行する。ゲーム実行処理部14により実行されるゲームの画面上のキャラクタは、仮想カメラ10により撮影されている。ここでは、仮想カメラ10が複数のキャラクタを撮影している例を挙げて説明する。キャラクタはノンプレイヤキャラクタ(NPC)であってもよいし、プレイヤキャラクタ(PC)であってもよい。
[Game Control Method]
When the game control method is started, the game machine 3 executes each process of the flowchart shown in Fig. 6. Characters on the screen of a game executed by the game execution processing unit 14 are photographed by the virtual camera 10. Here, an example will be described in which the virtual camera 10 photographs multiple characters. The characters may be non-player characters (NPCs) or player characters (PCs).

まず、ステップS1において、更新制御部16は、仮想カメラ10に写る全キャラクタを未処理キャラクタ(遮蔽レベルの更新が未処理のキャラクタ)に設定する。次に、ステップS2において、算出部15は、フレーム毎に仮想カメラ10が撮影している未処理キャラクタを仮想カメラ10から近い順に並び替えたリストを作成する。 First, in step S1, the update control unit 16 sets all characters captured by the virtual camera 10 as unprocessed characters (characters whose occlusion level updates have not yet been processed). Next, in step S2, the calculation unit 15 creates a list of unprocessed characters captured by the virtual camera 10 for each frame, sorted in order of proximity to the virtual camera 10.

次に、ステップS3において、算出部15は、遮蔽レベルの更新がされていない未処理のキャラクタがあるかを判定する。未処理のキャラクタがあると判定した場合、算出部15は、ステップS5に進む。未処理のキャラクタがないと判定した場合、算出部15は、ステップS13に進む。 Next, in step S3, the calculation unit 15 determines whether there are any unprocessed characters whose occlusion levels have not been updated. If it is determined that there are any unprocessed characters, the calculation unit 15 proceeds to step S5. If it is determined that there are no unprocessed characters, the calculation unit 15 proceeds to step S13.

ステップS5では、算出部15は、未処理のキャラクタのうち最も仮想カメラ10に近いキャラクタを特定する。次に、ステップS7において、算出部15は、特定したキャラクタから一定距離以内、かつ特定したキャラクタからカメラ方向の左右45度以内の領域に他のキャラクタがあるかを判定する。なお、「特定したキャラクタから一定距離以内、かつ特定したキャラクタからカメラ方向の左右45度以内の領域に他のキャラクタがあるか」の条件を「条件1」とする。図7(a)及び(b)の扇状の領域Rは、条件1が示す「一定距離以内、かつカメラ方向の左右45度以内の領域」の一例である。図7(a)及び(b)では、キャラクタN1から半径Fの一定距離P以内であり、かつキャラクタN1から仮想カメラ10の方向Cの左右45度以内の領域」が扇状の領域Rになっている。なお、一定距離P及び仮想カメラ10の方向Cの左右45度以内は一例であり、任意の距離及び任意の角度に設定できる。 In step S5, the calculation unit 15 identifies the unprocessed character that is closest to the virtual camera 10. Next, in step S7, the calculation unit 15 determines whether there are any other characters within a certain distance from the identified character and within 45 degrees to the left or right of the camera direction from the identified character. The condition "whether there are any other characters within a certain distance from the identified character and within 45 degrees to the left or right of the camera direction from the identified character" is referred to as "Condition 1." The fan-shaped region R in Figures 7(a) and (b) is an example of the "region within a certain distance and within 45 degrees to the left or right of the camera direction" indicated by Condition 1. In Figures 7(a) and (b), the fan-shaped region R is "the region within a certain distance P of radius F from character N1 and within 45 degrees to the left or right of character N1 in the direction C of the virtual camera 10." Note that the certain distance P and within 45 degrees to the left or right of the direction C of the virtual camera 10 are merely examples, and any distance and angle can be set.

ステップS7において条件1を満たす他のキャラクタがないと判定された場合、算出部15は、ステップS9に進み、特定したキャラクタの遮蔽レベルに「0」を設定し、ステップS3に戻る。図7(a)の場合、扇状の領域Rに他のキャラクタがいない。この場合、キャラクタN1の遮蔽レベルには「0」が設定される。図7(a)のキャラクタN1の内部に示される数値は、遮蔽レベルを示す。なお、特定したキャラクタの遮蔽レベルを最も低いレベルに設定すれば、「0」以外の値を用いてもよい。 If it is determined in step S7 that there are no other characters that satisfy condition 1, the calculation unit 15 proceeds to step S9, sets the occlusion level of the identified character to "0", and returns to step S3. In the case of Figure 7(a), there are no other characters in the fan-shaped region R. In this case, the occlusion level of character N1 is set to "0". The number shown inside character N1 in Figure 7(a) indicates the occlusion level. Note that a value other than "0" may be used as long as the occlusion level of the identified character is set to the lowest level.

一方、ステップS7において条件1を満たす他のキャラクタがあると判定された場合、算出部15は、ステップS11に進む。算出部15は、ステップS11において、特定したキャラクタの遮蔽レベルに、条件1を満たす他のキャラクタの遮蔽レベルのうち最大遮蔽レベルに「1」を加算した値を設定し、ステップS3に戻る。図7(b)の場合、扇状の領域Rに他のキャラクタN2、N3がいる。この場合、キャラクタN1の遮蔽レベルに、他のキャラクタN2、N3の最大遮蔽レベル「1」に「1」を加算した値である「2」を設定する。なお、特定したキャラクタの遮蔽レベルを、条件1を満たす他のオブジェクトの遮蔽レベルよりも高い値に設定すれば、他のキャラクタの最大遮蔽レベルに「1」を加算した値以外の値を用いてもよい。 On the other hand, if it is determined in step S7 that there is another character that satisfies condition 1, the calculation unit 15 proceeds to step S11. In step S11, the calculation unit 15 sets the occlusion level of the identified character to a value obtained by adding "1" to the maximum occlusion level of the other characters that satisfy condition 1, and then returns to step S3. In the case of Figure 7(b), other characters N2 and N3 are present in the fan-shaped region R. In this case, the occlusion level of character N1 is set to "2", which is the value obtained by adding "1" to the maximum occlusion level of the other characters N2 and N3, "1". Note that a value other than the value obtained by adding "1" to the maximum occlusion level of the other characters may be used as long as the occlusion level of the identified character is set to a value higher than the occlusion levels of other objects that satisfy condition 1.

以上に説明した、ステップS1~S11の処理は、ステップS3において前フレーム時から遮蔽レベルの更新がされていない未処理のキャラクタがないと判定されるまで繰り返される。これにより、図8に一例を示すように、全てのキャラクタに対して遮蔽レベルの更新処理が実行される。これにより、キャラクタN毎の最終的な遮蔽レベルが決定する。 The processing of steps S1 to S11 described above is repeated until it is determined in step S3 that there are no unprocessed characters whose occlusion levels have not been updated since the previous frame. As a result, the occlusion level update process is performed for all characters, as shown in an example in Figure 8. This determines the final occlusion level for each character N.

ステップS3において未処理のキャラクタがないと判定されたとき、ステップS13に進み、更新制御部16は、複数のキャラクタ毎の遮蔽レベルに基づき、複数のキャラクタ毎の更新頻度を決定する。例えば、更新制御部16は、遮蔽レベル4以上のキャラクタは5フレームに1回の割合で更新処理を行い、遮蔽レベル4未満1以上のキャラクタは3フレームに1回の割合で更新処理を行う。また、更新制御部16は、遮蔽レベル0のキャラクタはフレーム毎に更新処理を行う等、更新頻度の決定を行う。遮蔽レベルが高いキャラクタは仮想カメラ10から見えにくいため、更新頻度を減らす。 If it is determined in step S3 that there are no unprocessed characters, the process proceeds to step S13, where the update control unit 16 determines the update frequency for each of the multiple characters based on the occlusion level of each of the multiple characters. For example, the update control unit 16 performs update processing once every five frames for characters with an occlusion level of 4 or higher, and once every three frames for characters with an occlusion level of 1 or higher but lower than 4. The update control unit 16 also determines the update frequency, such as performing update processing for characters with an occlusion level of 0 every frame. Characters with a high occlusion level are less visible from the virtual camera 10, so the update frequency is reduced.

次に、ステップS15において、表示制御部18は、複数のキャラクタ毎の更新頻度に基づき、複数のキャラクタ毎の更新を制御してゲーム画像を描画する。次に、ステップS17において、更新制御部16は、ゲームが終了するかを判定する。更新制御部16は、ステップS17においてゲームが終了すると判定した場合、本処理を終了する。更新制御部16は、ステップS17においてゲームが終了しないと判定した場合、ステップS1に戻り、仮想カメラ10に写る全キャラクタを未処理キャラクタ(遮蔽レベルの更新が未処理のキャラクタ)に設定し、処理を継続する。 Next, in step S15, the display control unit 18 controls the updates for each of the multiple characters based on the update frequency for each of the multiple characters and draws a game image. Next, in step S17, the update control unit 16 determines whether the game is ending. If the update control unit 16 determines in step S17 that the game is ending, it ends this processing. If the update control unit 16 determines in step S17 that the game is not ending, it returns to step S1, sets all characters shown in the virtual camera 10 as unprocessed characters (characters whose occlusion level updates have not been processed), and continues processing.

第1実施形態に係るゲーム制御方法によれば、遮蔽レベルを算出する特定のキャラクタからの距離及び仮想カメラ10の向きと、周辺にいるキャラクタの状況を制限する条件1に基づき複数のキャラクタの遮蔽検査を容易に行うことができる。これにより、キャラクタ毎の遮蔽レベルを決定し、遮蔽レベルに応じてキャラクタ毎の更新頻度を決定し、更新頻度に基づき各キャラクタの描画を更新する。これにより、クオリティの低い更新処理や更新処理が間引かれたキャラクタはユーザから見えにくくする。これにより、描画処理の負荷を軽減しつつ、ユーザに見えるゲーム映像をきれいに描画し、高品質なゲーム画像をユーザに提供することができる。 The game control method according to the first embodiment makes it possible to easily perform occlusion checks for multiple characters based on the distance from a specific character whose occlusion level is calculated, the orientation of the virtual camera 10, and condition 1, which restricts the status of surrounding characters. This determines the occlusion level for each character, determines the update frequency for each character according to the occlusion level, and updates the rendering of each character based on the update frequency. This makes it difficult for the user to see characters that have undergone low-quality update processing or where update processing has been thinned out. This reduces the load on the rendering process, while clearly rendering game footage visible to the user and providing the user with high-quality game images.

<第2実施形態>
第1実施形態では、キャラクタ毎の遮蔽レベルを更新する際に、仮想カメラ10に近いキャラクタから更新を行わないと、正しい遮蔽レベルが算出されない。そのため、正しく更新を行うためにはキャラクタを仮想カメラ10から近い順に並び替えたリストを作る必要がある(図6 S1)。しかし、キャラクタ数が多くなるとこの並び替えの処理コストが大きくなってしまう。
Second Embodiment
In the first embodiment, when updating the occlusion level for each character, the correct occlusion level cannot be calculated unless the update is performed starting with the characters closest to the virtual camera 10. Therefore, in order to perform the update correctly, it is necessary to create a list in which the characters are sorted in order of proximity to the virtual camera 10 (FIG. 6, S1). However, as the number of characters increases, the processing cost for this sorting increases.

これに対し、第2実施形態に係るゲーム制御方法では、前回更新時(前フレーム)の遮蔽レベルを参照して現フレームの遮蔽レベルを算出し、複数フレームかけてキャラクタ毎の遮蔽レベルの計算を行っていく。これにより、キャラクタの並び替えを行わずに、複数のキャラクタ毎の遮蔽レベルを正しい遮蔽レベルの値に収束させることができる。これにより、前フレームの遮蔽レベルを流用し処理を簡略化することができ、この結果、描画処理の負荷を軽減しつつ、ユーザに見えるゲーム映像をきれいに描画し、高品質なゲーム画像をユーザに提供することができる。 In contrast, the game control method according to the second embodiment calculates the occlusion level for the current frame by referencing the occlusion level from the previous update (previous frame), and calculates the occlusion level for each character over multiple frames. This allows the occlusion levels for each of multiple characters to converge to the correct occlusion level value without rearranging the characters. This makes it possible to reuse the occlusion level from the previous frame and simplify processing, thereby reducing the load on the rendering process and clearly rendering the game video visible to the user, providing the user with high-quality game images.

図9~図12を参照しながら、第2実施形態に係るゲーム制御方法について説明する。図9は、第2実施形態に係るゲーム制御方法を示すフローチャートである。なお、図9のステップ番号が図6のステップ番号と同じ場合、同一処理を示す。図10~図12は、第2実施形態に係るゲーム制御方法における遮蔽レベルの算出例を示す図である。 The game control method according to the second embodiment will be described with reference to Figures 9 to 12. Figure 9 is a flowchart showing the game control method according to the second embodiment. Note that when the step numbers in Figure 9 are the same as those in Figure 6, they indicate the same processing. Figures 10 to 12 are diagrams showing examples of calculation of occlusion levels in the game control method according to the second embodiment.

[ゲーム制御方法]
ゲーム制御方法が開始されると、ゲーム機3は、図9に示すフローチャートの各処理を実行する。ゲーム実行処理部14により実行されるゲームの画面上のキャラクタは、仮想カメラ10により撮影されている。ここでは、仮想カメラ10が複数のキャラクタを撮影している例を挙げて説明する。キャラクタはノンプレイヤキャラクタ(NPC)であってもよいし、プレイヤキャラクタ(PC)であってもよい。
[Game Control Method]
When the game control method is started, the game machine 3 executes each process of the flowchart shown in Fig. 9. Characters on the screen of a game executed by the game execution processing unit 14 are photographed by the virtual camera 10. Here, an example will be described in which the virtual camera 10 photographs multiple characters. The characters may be non-player characters (NPCs) or player characters (PCs).

まず、ステップS1において、更新制御部16は、仮想カメラ10に写る全キャラクタを未処理キャラクタ(遮蔽レベルの更新が未処理のキャラクタ)に設定する。図10は、仮想カメラ10により撮影されている未処理キャラクタN1~N10の初期状態の遮蔽レベルの一例を示す。全キャラクタの遮蔽レベルが「0」に設定されている。 First, in step S1, the update control unit 16 sets all characters captured by the virtual camera 10 as unprocessed characters (characters whose occlusion level updates have not yet been processed). Figure 10 shows an example of the initial occlusion levels of unprocessed characters N1 to N10 captured by the virtual camera 10. The occlusion levels of all characters are set to "0."

次に、ステップS3において、算出部15は、遮蔽レベルの更新がされていない未処理のキャラクタがあるかを判定する。未処理のキャラクタがあると判定した場合、算出部15は、ステップS4に進む。未処理のキャラクタがないと判定した場合、算出部15は、ステップS13に進む。 Next, in step S3, the calculation unit 15 determines whether there are any unprocessed characters whose occlusion levels have not been updated. If it is determined that there are any unprocessed characters, the calculation unit 15 proceeds to step S4. If it is determined that there are no unprocessed characters, the calculation unit 15 proceeds to step S13.

ステップS4において、算出部15は、未処理のキャラクタのうち1体を選択する。ここでの選択は特定手順による選択ではなく、例えばランダムであってもよい。 In step S4, the calculation unit 15 selects one of the unprocessed characters. This selection does not have to be based on a specific procedure, and may be random, for example.

次に、ステップS7において、算出部15は、特定したキャラクタから一定距離以内、かつ特定したキャラクタからカメラ方向の左右45度以内の領域に他のキャラクタがあるか(条件1)を判定する。 Next, in step S7, the calculation unit 15 determines whether there are other characters within a certain distance from the identified character and within 45 degrees to the left or right of the camera direction from the identified character (condition 1).

ステップS7において条件1を満たす他のキャラクタがないと判定された場合、算出部15は、ステップS9に進み、特定したキャラクタの遮蔽レベルに「0」を設定し、ステップS3に戻る。 If it is determined in step S7 that there are no other characters that satisfy condition 1, the calculation unit 15 proceeds to step S9, sets the occlusion level of the identified character to "0", and returns to step S3.

一方、ステップS7において条件1を満たす他のキャラクタがあると判定された場合、算出部15は、ステップS12に進む。算出部15は、ステップS12において、特定したキャラクタの遮蔽レベルに、条件1を満たす他のキャラクタの前フレームの遮蔽レベルのうち最大遮蔽レベルに「1」を加算した値を設定し、ステップS3に戻る。 On the other hand, if it is determined in step S7 that there is another character that satisfies condition 1, the calculation unit 15 proceeds to step S12. In step S12, the calculation unit 15 sets the occlusion level of the identified character to a value obtained by adding "1" to the maximum occlusion level of the other characters that satisfy condition 1 in the previous frame, and then returns to step S3.

以上に説明した、ステップS1~S12の処理は、ステップS3において前フレーム時から遮蔽レベルの更新がされていない未処理のキャラクタがないと判定されるまで繰り返される。これにより、全てのキャラクタに対して遮蔽レベルの更新処理が実行される。これにより、キャラクタN毎の最終的な遮蔽レベルが決定する。 The processing of steps S1 to S12 described above is repeated until it is determined in step S3 that there are no unprocessed characters whose occlusion levels have not been updated since the previous frame. This completes the occlusion level update process for all characters. This determines the final occlusion level for each character N.

ステップS3において未処理のキャラクタがないと判定されたとき、ステップS13に進み、更新制御部16は、複数のキャラクタ毎の遮蔽レベルに基づき、複数のキャラクタ毎の更新頻度を決定する。このとき、図11(a)の1回目に示すように、条件1を満たすキャラクタN1~N5の遮蔽レベルが「1」になる。キャラクタN6~N10の遮蔽レベルは「0」のままである。 If it is determined in step S3 that there are no unprocessed characters, the process proceeds to step S13, where the update control unit 16 determines the update frequency for each of the multiple characters based on the occlusion level of each of the multiple characters. At this time, as shown for the first time in Figure 11(a), the occlusion level of characters N1 to N5, which satisfy condition 1, becomes "1." The occlusion levels of characters N6 to N10 remain "0."

次に、ステップS14において、更新制御部16は、最新フレームの遮蔽レベルを前フレームの遮蔽レベルとして保存する。次に、ステップS15において、表示制御部18は、複数のキャラクタ毎の更新頻度に基づき、複数のキャラクタ毎の更新を制御してゲーム画像を描画する。次に、ステップS17において、更新制御部16は、ゲームが終了するかを判定する。更新制御部16は、ステップS17においてゲームが終了すると判定した場合、本処理を終了する。更新制御部16は、ステップS17においてゲームが終了しないと判定した場合、ステップS1に戻り、仮想カメラ10に写る全キャラクタを未処理キャラクタ(遮蔽レベルの更新が未処理のキャラクタ)に設定し、処理を継続する。 Next, in step S14, the update control unit 16 saves the occlusion level of the latest frame as the occlusion level of the previous frame. Next, in step S15, the display control unit 18 controls the update for each of the multiple characters based on the update frequency for each of the multiple characters and draws a game image. Next, in step S17, the update control unit 16 determines whether the game is ending. If the update control unit 16 determines in step S17 that the game is ending, it ends this processing. If the update control unit 16 determines in step S17 that the game is not ending, it returns to step S1, sets all characters shown in the virtual camera 10 as unprocessed characters (characters whose occlusion level updates have not been processed), and continues processing.

ステップS1に戻った後、ステップ1~S12の処理が再度実行され、算出部15が、条件1を満たすキャラクタの遮蔽レベルに更に「1」を加算する。ステップS3で再び「No」と判定された場合、再度ステップS13が実行される。ステップS13において、更新制御部16は、複数のキャラクタ毎の遮蔽レベルに基づき、複数のキャラクタ毎の更新頻度を決定する。 After returning to step S1, steps 1 to S12 are executed again, and the calculation unit 15 adds another "1" to the occlusion level of the character that satisfies condition 1. If step S3 returns "No," step S13 is executed again. In step S13, the update control unit 16 determines the update frequency for each of the multiple characters based on the occlusion level for each of the multiple characters.

このとき、図11(b)の2回目に示すように、条件1を満たすキャラクタN1~N4の遮蔽レベルに更に「1」が加算されて「2」になる。この結果、キャラクタN5の遮蔽レベルは「1」になり、キャラクタN6~N10の遮蔽レベルは「0」のままである。 At this time, as shown for the second time in Figure 11(b), the occlusion levels of characters N1 to N4 that satisfy condition 1 are further increased by 1 to become 2. As a result, the occlusion level of character N5 becomes 1, and the occlusion levels of characters N6 to N10 remain at 0.

3回目のステップS1~S12の処理において、算出部15が、条件1を満たすキャラクタの遮蔽レベルに更に「1」を加算する。ステップS3で再び「No」と判定された場合、再度ステップS13が実行される。ステップS13において、更新制御部16は、複数のキャラクタ毎の遮蔽レベルに基づき、複数のキャラクタ毎の更新頻度を決定する。このとき、図12(a)の3回目に示すように、条件1を満たすキャラクタN1~N2の遮蔽レベルに更に「1」が加算されて「3」になる。この結果、キャラクタN3,N4の遮蔽レベルは「2」になり、キャラクタN5の遮蔽レベルは「1」、キャラクタN6~N10の遮蔽レベルは「0」のままである。 In the third iteration of steps S1 to S12, the calculation unit 15 adds another "1" to the occlusion level of the characters that satisfy condition 1. If step S3 again returns "No," step S13 is executed again. In step S13, the update control unit 16 determines the update frequency for each of the multiple characters based on the occlusion level of each of the multiple characters. At this time, as shown in the third iteration in FIG. 12(a), an additional "1" is added to the occlusion level of characters N1 and N2 that satisfy condition 1, making it "3." As a result, the occlusion levels of characters N3 and N4 become "2," the occlusion level of character N5 remains "1," and the occlusion levels of characters N6 to N10 remain "0."

4回目のステップS1~S12の処理において、算出部15が、条件1を満たすキャラクタの遮蔽レベルに更に「1」を加算する。このとき、図12(b)の4回目に示すように、条件1を満たすキャラクタN1の遮蔽レベルに更に「1」が加算されて「4」になる。この結果、キャラクタN2の遮蔽レベルは「3」になり、キャラクタN3,N4の遮蔽レベルは「2」、キャラクタN5の遮蔽レベルは「1」、キャラクタN6~N10の遮蔽レベルは「0」のままである。 In the fourth iteration of steps S1 to S12, the calculation unit 15 adds another "1" to the occlusion level of the characters that satisfy condition 1. At this time, as shown in the fourth iteration in Figure 12(b), an additional "1" is added to the occlusion level of character N1 that satisfies condition 1, making it "4." As a result, the occlusion level of character N2 becomes "3," the occlusion levels of characters N3 and N4 remain "2," the occlusion level of character N5 remains "1," and the occlusion levels of characters N6 to N10 remain "0."

ステップS3で再び「No」と判定された場合、再度ステップS13が実行される。ステップS13において、更新制御部16は、複数のキャラクタ毎の遮蔽レベルに基づき、複数のキャラクタ毎の更新頻度を決定する。次に、ステップS14において、更新制御部16は、最新フレームの遮蔽レベルを前フレームの遮蔽レベルとして保存する。次に、ステップS15において、表示制御部18は、複数のキャラクタ毎の更新頻度に基づき、複数のキャラクタ毎の更新を制御してゲーム画像を描画する。そして、ステップS17においてゲームが終了すると判定した場合、本処理を終了する。 If step S3 again returns "No," step S13 is executed again. In step S13, the update control unit 16 determines the update frequency for each of the multiple characters based on the occlusion level for each of the multiple characters. Next, in step S14, the update control unit 16 saves the occlusion level of the latest frame as the occlusion level of the previous frame. Next, in step S15, the display control unit 18 controls the update for each of the multiple characters based on the update frequency for each of the multiple characters to draw a game image. Then, if it is determined in step S17 that the game is to end, this processing is terminated.

第2実施形態に係るゲーム制御方法によれば、1フレーム前の更新時の遮蔽レベルを参照し、複数フレームかけて遮蔽レベルの計算を行っていく。これにより、キャラクタの並び替えを行わずに複数のキャラクタ毎の遮蔽レベルを正しい遮蔽レベルの値に収束させることができる。これにより、描画処理の負荷を軽減しつつ、ユーザに見えるゲーム映像をきれいに描画し、高品質なゲーム画像をユーザに提供することができる。 According to the game control method of the second embodiment, the occlusion level is calculated over multiple frames by referencing the occlusion level at the time of update one frame before. This allows the occlusion levels for multiple characters to converge to the correct occlusion level value without rearranging the characters. This reduces the load on the rendering process, while clearly rendering the game video visible to the user and providing the user with high-quality game images.

<第3実施形態>
[ゲーム制御方法]
次に、第3実施形態に係るゲーム制御方法について、図13及び図14を参照して説明する。図13は、第3実施形態に係るゲーム制御方法を示すフローチャートである。図14は、第3実施形態に係るゲーム制御方法を比較例と比較して説明するための図である。
Third Embodiment
[Game Control Method]
Next, a game control method according to the third embodiment will be described with reference to Fig. 13 and Fig. 14. Fig. 13 is a flowchart showing the game control method according to the third embodiment. Fig. 14 is a diagram for explaining the game control method according to the third embodiment in comparison with a comparative example.

第1実施形態に係るゲーム制御方法では、図14(a)に示すように、各キャラクタの遮蔽レベルを計算する度に、対象となるキャラクタ(図14(a)の例ではキャラクタN1)と、その他のキャラクタN2~N10との距離を計算し、条件1が示す「一定距離以内」を満たすか否かを判定する。そうすると、N体のキャラクタすべてについて遮蔽レベルを計算するためには、N(N-1)回の他のキャラクタとの距離の計算が必要となり、Nが大きくなるほど処理の負荷が高くなる。 In the game control method according to the first embodiment, as shown in Figure 14(a), each time the occlusion level of each character is calculated, the distance between the target character (character N1 in the example of Figure 14(a)) and the other characters N2 to N10 is calculated, and a determination is made as to whether or not the "within a certain distance" indicated in Condition 1 is met. Thus, to calculate the occlusion levels of all N characters, it is necessary to calculate the distance to other characters N(N-1) times, and the larger N becomes, the greater the processing load becomes.

そこで、第3実施形態に係るゲーム制御方法では、各キャラクタは、キャラクタ同士がめり込まないようにコリジョンオブジェクトによる押し出し処理を行っている。このコリジョンオブジェクトの接触情報を保存しておき、キャラクタ毎に、各キャラクタが接触した他のキャラクタのリストを作り、記憶部12に記憶することで計算回数を大幅に減らすことができる。また、コリジョンオブジェクトが接触する距離内であれば、周辺にいるキャラクタであるとみなすことで、上記距離の計算を省略することができる。 In the game control method according to the third embodiment, each character uses a collision object to push out other characters so that they do not sink into each other. By saving the collision object contact information and creating a list of other characters that each character has come into contact with, and storing this in the memory unit 12, the number of calculations can be significantly reduced. Furthermore, if a character is within contact distance of a collision object, it is considered to be a nearby character, making it possible to omit the distance calculation.

図14(b)に示すように、各キャラクタはコリジョンオブジェクトDにより覆われ、各オブジェクトのコリジョンオブジェクトDにより各オブジェクトと他のオブジェクトとの衝突を判定可能である。つまり、衝突判定部17は、各キャラクタのコリジョンオブジェクトDが接触していれば、それらのキャラクタは衝突していると判定する。 As shown in Figure 14(b), each character is covered by a collision object D, and the collision object D of each object makes it possible to determine whether each object has collided with another object. In other words, the collision determination unit 17 determines that the characters have collided if the collision objects D of each character are in contact with each other.

図14(b)の例では、衝突判定部17は、キャラクタN1のコリジョンオブジェクトDと接触するコリジョンオブジェクトDのキャラクタN2、N3、N9がキャラクタN1に衝突する他のキャラクタであると判定する。これにより、キャラクタN1の周辺にいるキャラクタをキャラクタN2、N3、N9と特定できる。そこで、キャラクタN2、N3、N9についてのみ領域R内にいるかどうかを判定すればよいため、処理コストを大幅に軽減でき、処理の高速化を図ることができる。 In the example of Figure 14(b), the collision determination unit 17 determines that characters N2, N3, and N9 of collision object D that come into contact with collision object D of character N1 are other characters that will collide with character N1. This allows the characters in the vicinity of character N1 to be identified as characters N2, N3, and N9. Therefore, since it is only necessary to determine whether characters N2, N3, and N9 are within region R, processing costs can be significantly reduced and processing can be sped up.

コリジョンオブジェクトDは仮想体であり、画面上では表示されない。よって、プレイヤには、コリジョンオブジェクトDは見えていない。本実施形態では、オブジェクトCの形状は球状であるが、これに限らず、カプセル状、四角、球状、円柱状など、様々な形状及びサイズを用いることができる。 Collision object D is a virtual object and is not displayed on the screen. Therefore, collision object D is invisible to the player. In this embodiment, object C is spherical in shape, but this is not limited to this and various shapes and sizes can be used, such as capsule-shaped, square, spherical, or cylindrical.

なお、コリジョンオブジェクトDが球状である場合、コリジョンオブジェクトDの半径の2倍よりも扇状の領域Rの半径が大きくなると、扇状の領域R内に入っているのに接触しなかった他のキャラクタが存在することになる。このため、周辺にいるキャラクタの判定ができなくなる。よって、コリジョンオブジェクトDの半径の2倍が、一のオブジェクトから仮想カメラ10へ向かう方向に対して所定角度以内及び前記一のオブジェクトから所定距離以内の領域Rの半径よりも大きい必要がある。 If the collision object D is spherical, and the radius of the fan-shaped region R is greater than twice the radius of the collision object D, there will be other characters within the fan-shaped region R that have not come into contact with the collision object D. This makes it impossible to determine which characters are in the vicinity. Therefore, twice the radius of the collision object D must be greater than the radius of the region R within a specified angle in the direction from one object toward the virtual camera 10 and within a specified distance from the one object.

第3実施形態に係るゲーム制御方法について、図13を参照しながら説明する。なお、図13のステップ番号が図6のステップ番号と同じ場合、同一処理を示す。本処理が開始されると、まず、ステップS1において、更新制御部16は、仮想カメラ10に写る全キャラクタを未処理キャラクタ(遮蔽レベルの更新が未処理のキャラクタ)に設定する。次に、ステップS2において、算出部15は、フレーム毎に仮想カメラ10が撮影している未処理キャラクタを仮想カメラ10から近い順に並び替えたリストを作成する。 A game control method according to the third embodiment will be described with reference to Figure 13. Note that when step numbers in Figure 13 are the same as those in Figure 6, they indicate the same processing. When this processing starts, first, in step S1, the update control unit 16 sets all characters captured by the virtual camera 10 as unprocessed characters (characters whose occlusion level updates have not been processed). Next, in step S2, the calculation unit 15 creates a list of unprocessed characters captured by the virtual camera 10 for each frame, sorted in order of proximity to the virtual camera 10.

次に、ステップS3において、算出部15は、遮蔽レベルの更新がされていない未処理のキャラクタがあるかを判定する。未処理のキャラクタがあると判定した場合、算出部15は、ステップS5に進む。未処理のキャラクタがないと判定した場合、算出部15は、ステップS13に進む。 Next, in step S3, the calculation unit 15 determines whether there are any unprocessed characters whose occlusion levels have not been updated. If it is determined that there are any unprocessed characters, the calculation unit 15 proceeds to step S5. If it is determined that there are no unprocessed characters, the calculation unit 15 proceeds to step S13.

ステップS5では、算出部15は、未処理のキャラクタのうち最も仮想カメラ10に近いキャラクタを特定する。次に、ステップS37において、衝突判定部17は、特定したキャラクタに衝突する他のキャラクタを判定する。衝突判定部17は、特定したキャラクタのコリジョンオブジェクトDと接触するコリジョンオブジェクトDのキャラクタが特定したキャラクタに衝突する他のキャラクタであると判定する。 In step S5, the calculation unit 15 identifies the unprocessed character that is closest to the virtual camera 10. Next, in step S37, the collision determination unit 17 determines other characters that will collide with the identified character. The collision determination unit 17 determines that a character of a collision object D that comes into contact with the collision object D of the identified character is another character that will collide with the identified character.

次に、ステップS39において、算出部15は、衝突する他のキャラクタのうちカメラ方向の左右45度以内の領域に他のキャラクタがあるかを判定する。この条件を「条件2」とする。図14(b)では、衝突する他のキャラクタのうち領域R内にいる他のキャラクタはいない。つまり、衝突する他のキャラクタのうち条件2を満たすキャラクタはいない。なお、仮想カメラ10の方向Cの左右45度以内は一例であり、任意の角度に設定できる。 Next, in step S39, the calculation unit 15 determines whether any of the other characters with which the collision will occur are within an area within 45 degrees to the left or right of the camera direction. This condition is referred to as "Condition 2." In Figure 14(b), none of the other characters with which the collision will occur are within area R. In other words, none of the other characters with which the collision will occur satisfy Condition 2. Note that within 45 degrees to the left or right of the direction C of the virtual camera 10 is just an example, and any angle can be set.

ステップS39において条件2を満たすキャラクタがないと判定された場合、算出部15は、ステップS41に進み、特定したキャラクタの遮蔽レベルに「0」を設定し、ステップS3に戻る。例えば、図14(b)の場合、特定したキャラクタN1の遮蔽レベルには「0」が設定される。 If it is determined in step S39 that there is no character that satisfies condition 2, the calculation unit 15 proceeds to step S41, sets the occlusion level of the identified character to "0", and returns to step S3. For example, in the case of Figure 14(b), the occlusion level of the identified character N1 is set to "0".

一方、ステップS39において条件2を満たすキャラクタがあると判定された場合、算出部15は、ステップS43に進み、特定したキャラクタの遮蔽レベルに、衝突すると判定された他のキャラクタのうちの最大遮蔽レベルに「1」を加算した値を設定し、ステップS3に戻る。 On the other hand, if it is determined in step S39 that there is a character that satisfies condition 2, the calculation unit 15 proceeds to step S43, sets the occlusion level of the identified character to a value obtained by adding "1" to the maximum occlusion level of the other characters determined to collide, and then returns to step S3.

以上に説明した、ステップS1~S5、S37~S43の処理は、ステップS3において前フレーム時から遮蔽レベルの更新がされていない未処理のキャラクタがないと判定されるまで繰り返される。これにより、全てのキャラクタに対して遮蔽レベルの更新処理が実行され、キャラクタ毎の最終的な遮蔽レベルが決定する。 The processing of steps S1 to S5 and S37 to S43 described above is repeated until it is determined in step S3 that there are no unprocessed characters whose occlusion levels have not been updated since the previous frame. This executes the occlusion level update process for all characters, and the final occlusion level for each character is determined.

ステップS3において未処理のキャラクタがないと判定されたとき、ステップS13に進み、更新制御部16は、複数のキャラクタ毎の遮蔽レベルに基づき、複数のキャラクタ毎の更新頻度を決定する。 If it is determined in step S3 that there are no unprocessed characters, the process proceeds to step S13, where the update control unit 16 determines the update frequency for each of the multiple characters based on the occlusion level of each of the multiple characters.

次に、ステップS15において、表示制御部18は、複数のキャラクタ毎の更新頻度に基づき、複数のキャラクタ毎の更新を制御してゲーム画像を描画する。次に、ステップS17において、更新制御部16は、ゲームが終了するかを判定する。更新制御部16は、ステップS17においてゲームが終了すると判定した場合、本処理を終了する。更新制御部16は、ステップS17においてゲームが終了しないと判定した場合、ステップS1に戻り、仮想カメラ10に写る全キャラクタを未処理キャラクタ(遮蔽レベルの更新が未処理のキャラクタ)に設定し、処理を継続する。 Next, in step S15, the display control unit 18 controls the updates for each of the multiple characters based on the update frequency for each of the multiple characters and draws a game image. Next, in step S17, the update control unit 16 determines whether the game is ending. If the update control unit 16 determines in step S17 that the game is ending, it ends this processing. If the update control unit 16 determines in step S17 that the game is not ending, it returns to step S1, sets all characters shown in the virtual camera 10 as unprocessed characters (characters whose occlusion level updates have not been processed), and continues processing.

第3実施形態に係るゲーム制御方法によれば、コリジョンオブジェクトDによりキャラクタ同士の衝突判定を行うことで、衝突すると判定されたキャラクタを一のキャラクタの周辺にいる他のキャラクタと判定することができる。そして、周辺にいると判定された他のキャラクタについて、条件2を満たすかどうかによって一のキャラクタの遮蔽レベルを算出することにより、複数のオブジェクトの遮蔽検査をより容易に行い、描画処理の負荷をより軽減することができる。 According to the game control method of the third embodiment, collision detection between characters is performed using collision object D, and a character determined to be colliding can be determined to be another character in the vicinity of the first character. Then, by calculating the occlusion level of the first character based on whether other characters determined to be in the vicinity satisfy condition 2, occlusion detection for multiple objects can be performed more easily, and the load on the rendering process can be further reduced.

第1~第3実施形態のゲーム制御方法では、前フレームの遮蔽レベルとの変化がない場合、処理を終了する。その後、仮想カメラ10が撮影しているキャラクタの位置が変化したとき、第1~第3実施形態のいずれかのゲーム制御方法が再び開始される。 In the game control methods of the first to third embodiments, if there is no change in the occlusion level from the previous frame, processing ends. Thereafter, when the position of the character being photographed by the virtual camera 10 changes, the game control method of any of the first to third embodiments is restarted.

[変形例]
第1~第3実施形態のゲーム制御方法では、更新頻度を変更する。ただし、更新頻度だけでなく更新内容を変更してもよい。例えばキャラクタのモーションを更新する際、首を向ける処理をなくすことで更新内容を減らすことができる。この場合、キャラクタの首を固定した状態で、キャラクタを動作させる。その他、キャラクタの足を地面につける処理をなくすことで更新内容を減らすことができる。
[Modification]
In the game control methods of the first to third embodiments, the update frequency is changed. However, not only the update frequency but also the update content may be changed. For example, when updating a character's motion, the update content can be reduced by eliminating the process of turning the head. In this case, the character moves while the character's neck is fixed. In addition, the update content can be reduced by eliminating the process of putting the character's feet on the ground.

通常、キャラクタの動作の更新処理は、(1)キャラクタのモーションを更新する、(2)キャラクタの位置を更新する、(3)キャラクタのモーションを補正するといった複数の工程を実行する。例えば、このうちの(3)を行わないことにより更新内容を減らしてもよい。 Typically, the process of updating a character's movements involves multiple steps: (1) updating the character's motion, (2) updating the character's position, and (3) correcting the character's motion. For example, the number of updates may be reduced by not performing step (3).

また、遮蔽レベルだけを用いて更新頻度を決定することに限らず、遮蔽レベルとキャラクタの大きさによって更新頻度を決定してもよい。例えば、キャラクタが大きいほど更新頻度を高くし、キャラクタが小さいほど更新頻度を低くしてもよい。 Furthermore, the update frequency may not necessarily be determined using only the occlusion level, but may also be determined based on the occlusion level and the size of the character. For example, the larger the character, the higher the update frequency, and the smaller the character, the lower the update frequency.

遮蔽レベルとキャラクタの重要度によって更新頻度を決定してもよい。例えば、キャラクタの重要度が高いほど更新頻度を高くし、キャラクタの重要度が低いほど更新頻度を低くしてもよい。 The update frequency may be determined based on the occlusion level and the character's importance. For example, the more important the character, the higher the update frequency, and the less important the character, the lower the update frequency.

遮蔽レベルとキャラクタの移動速度又は加速度によって更新頻度を決定してもよい。例えば、キャラクタの移動速度が速いほど更新頻度を高くし、キャラクタの移動速度が遅いほど更新頻度を低くしてもよい。逆に、キャラクタの移動速度が速いほど更新頻度を低くし、キャラクタの移動速度が遅いほど更新頻度を高くしてもよい。 The update frequency may be determined based on the occlusion level and the character's movement speed or acceleration. For example, the faster the character's movement speed, the higher the update frequency, and the slower the character's movement speed, the lower the update frequency. Conversely, the faster the character's movement speed, the lower the update frequency, and the slower the character's movement speed, the higher the update frequency.

遮蔽レベルとキャラクタのアクションによって更新頻度を決定してもよい。例えば、キャラクタのアクションが攻撃モーション中の場合、更新頻度を高くしてもよい。例えば、キャラクタのアクションが攻撃されている場合、更新頻度を高くしてもよい。 The update frequency may be determined based on the level of obscuration and the character's actions. For example, if the character is performing an attack motion, the update frequency may be increased. For example, if the character is performing an attack, the update frequency may be increased.

遮蔽レベルと仮想カメラ10からの距離とを用いて更新頻度を決定してもよい。例えば、仮想カメラ10からキャラクタまでの距離が短いほど更新頻度を高くし、仮想カメラ10からキャラクタまでの距離が長いほど更新頻度を低くしてもよい。 The update frequency may be determined using the occlusion level and the distance from the virtual camera 10. For example, the update frequency may be increased the shorter the distance from the virtual camera 10 to the character, and decreased the update frequency the longer the distance from the virtual camera 10 to the character.

遮蔽レベルとともに更新頻度を決定するキャラクタの大きさ、キャラクタの重要度、キャラクタの移動速度又は加速度、キャラクタのアクション、仮想カメラ10からの距離はキャラクタ情報22として記憶部12に記憶されている。上記例では、遮蔽レベルとキャラクタ情報22の少なくとも一つを用いて更新頻度を決定してもよい。 The character size, character importance, character movement speed or acceleration, character action, and distance from the virtual camera 10, which determine the update frequency along with the occlusion level, are stored in the storage unit 12 as character information 22. In the above example, the update frequency may be determined using at least one of the occlusion level and character information 22.

以上、ゲームプログラム、ゲーム制御方法及び情報処理装置を上記実施形態により説明したが、本開示に係るゲームプログラム、ゲーム制御方法及び情報処理装置は上記実施形態に限定されるものではなく、本実施形態の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。 The game program, game control method, and information processing device have been described above using the above embodiments, but the game program, game control method, and information processing device according to the present disclosure are not limited to the above embodiments, and various modifications and improvements are possible within the scope of the present embodiments. Furthermore, if there are multiple above embodiments and modifications, they can be combined to the extent that they do not contradict each other.

1 ゲームシステム
2 サーバ装置
3 ゲーム機
11 制御部
12 記憶部
13 通信部
14 ゲーム実行処理部
15 算出部
16 更新制御部
17 衝突判定部
18 表示制御部
21 遮蔽レベル
22 キャラクタ情報
REFERENCE SIGNS LIST 1 Game system 2 Server device 3 Game machine 11 Control unit 12 Storage unit 13 Communication unit 14 Game execution processing unit 15 Calculation unit 16 Update control unit 17 Collision determination unit 18 Display control unit 21 Obscuration level 22 Character information

Claims (10)

仮想空間にて仮想カメラが撮影しているゲーム画像の描画処理をコンピュータに実行させるゲームプログラムであって、
(a)前記仮想カメラが撮影しているオブジェクトが複数存在する場合、複数の前記オブジェクトのそれぞれを一のオブジェクトとして、前記一のオブジェクトから所定距離以内の他のオブジェクトであって、かつ前記一のオブジェクトから前記仮想カメラへ向かう方向に対して所定角度以内の前記他のオブジェクトの有無に応じて前記一のオブジェクトの遮蔽レベルを算出する処理と、
(b)複数の前記オブジェクト毎の前記遮蔽レベルに基づき複数の前記オブジェクト毎の更新頻度を決定する処理と、
(c)複数の前記オブジェクト毎の更新頻度に基づき複数の前記オブジェクト毎の描画処理の更新を制御する処理と、
を含む処理を実行させるゲームプログラム。
A game program that causes a computer to execute a rendering process of a game image captured by a virtual camera in a virtual space,
(a) when there are a plurality of objects photographed by the virtual camera, a process of treating each of the plurality of objects as a single object and calculating an occlusion level of the single object depending on whether or not there is another object within a predetermined distance from the single object and within a predetermined angle with respect to a direction from the single object toward the virtual camera;
(b) determining an update frequency for each of the plurality of objects based on the occlusion level for each of the plurality of objects;
(c) a process of controlling updating of a drawing process for each of the plurality of objects based on an update frequency for each of the plurality of objects;
A game program that executes a process including the above.
前記(a)は、所定角度以内の前記他のオブジェクトがある場合、前記他のオブジェクトの遮蔽レベルよりも高い値に前記一のオブジェクトの遮蔽レベルを算出する、
請求項1に記載のゲームプログラム。
(a) calculates the occlusion level of the one object to be higher than the occlusion level of the other object when the other object is within a predetermined angle;
The game program according to claim 1 .
前記(a)は、所定角度以内の前記他のオブジェクトがない場合、前記一のオブジェクトの遮蔽レベルを最も低いレベルに設定する、
請求項1に記載のゲームプログラム。
(a) sets the occlusion level of the one object to the lowest level when there is no other object within a predetermined angle.
The game program according to claim 1 .
前記(a)は、複数の前記オブジェクトのうち、前記仮想カメラに近いオブジェクトから順に一のオブジェクトとして、前記一のオブジェクトの遮蔽レベルを算出する、
請求項1~3のいずれか一項に記載のゲームプログラム。
(a) calculating an occlusion level of one of the plurality of objects by classifying the object as one object in order from an object closest to the virtual camera;
The game program according to any one of claims 1 to 3.
仮想空間にて仮想カメラが撮影しているゲーム画像の描画処理をコンピュータに実行させるゲームプログラムであって、
(a)前記仮想カメラが撮影しているオブジェクトが複数存在する場合、複数の前記オブジェクトの初期状態の遮蔽レベルを取得し、前記初期状態の遮蔽レベルを使用して次フレームの遮蔽レベルを算出する処理と、
(b)算出した前記次フレームの遮蔽レベルを前フレームの遮蔽レベルとして、前記前フレームの遮蔽レベルを使用して次フレームの遮蔽レベルを算出する処理と、
(c)複数の前記オブジェクト毎の前記遮蔽レベルに基づき複数の前記オブジェクト毎の更新頻度を決定する処理と、
(d)複数の前記オブジェクト毎の更新頻度に基づき複数の前記オブジェクト毎の描画処理の更新を制御する処理と、
を含み、
前記(a)は、複数の前記オブジェクトのそれぞれを一のオブジェクトとして前記一のオブジェクトから所定距離以内の他のオブジェクトであって、かつ前記一のオブジェクトから前記仮想カメラへ向かう方向に対して所定角度以内の前記他のオブジェクトがある場合、前記一のオブジェクトの次フレームの遮蔽レベルを前記初期状態の遮蔽レベルよりも上げ、
前記(b)は、複数の前記オブジェクトのそれぞれを一のオブジェクトとして前記一のオブジェクトから所定距離以内の他のオブジェクトであって、かつ前記一のオブジェクトから前記仮想カメラへ向かう方向に対して所定角度以内の前記他のオブジェクトがある場合、前記一のオブジェクトの次フレームの遮蔽レベルを前記他のオブジェクトの前記前フレームの遮蔽レベルよりも高い値に算出する処理を実行させるゲームプログラム。
A game program that causes a computer to execute a rendering process of a game image captured by a virtual camera in a virtual space,
(a) if there are a plurality of objects photographed by the virtual camera, a process of acquiring initial occlusion levels of the plurality of objects and calculating occlusion levels of the next frame using the initial occlusion levels;
(b) calculating an occlusion level for the next frame using the calculated occlusion level for the next frame as the occlusion level for the previous frame;
(c) determining an update frequency for each of the plurality of objects based on the occlusion level for each of the plurality of objects;
(d) a process of controlling updating of a drawing process for each of the plurality of objects based on an update frequency for each of the plurality of objects;
Including,
(a) considers each of the plurality of objects as one object, and when there is another object that is within a predetermined distance from the one object and is within a predetermined angle with respect to a direction from the one object toward the virtual camera, increases the occlusion level of the one object in the next frame above the occlusion level of the initial state;
(b) is a game program that executes a process in which, when each of the plurality of objects is considered to be a single object and there is another object within a predetermined distance from the single object and within a predetermined angle with respect to the direction from the single object toward the virtual camera, the occlusion level of the single object in the next frame is calculated to be higher than the occlusion level of the other object in the previous frame.
前記(b)は、複数の前記オブジェクトの前記次フレームの遮蔽レベルが前記前フレームの遮蔽レベルから変化しなくなるまで複数の前記オブジェクト毎の遮蔽レベルを算出する、
請求項5に記載のゲームプログラム。
(b) calculating the occlusion levels of the plurality of objects until the occlusion levels of the plurality of objects in the next frame do not change from the occlusion levels of the plurality of objects in the previous frame;
The game program according to claim 5 .
複数の前記オブジェクトのそれぞれはコリジョンオブジェクトにより覆われ、複数の前記オブジェクトの衝突を判定可能であり、
前記(a)は、複数の前記オブジェクトのそれぞれを一のオブジェクトとして、前記一のオブジェクトと衝突すると判定された他のオブジェクトを特定し、特定した他のオブジェクトのうち前記一のオブジェクトから前記仮想カメラへ向かう方向に対して所定角度以内の前記他のオブジェクトの有無に応じて前記一のオブジェクトの遮蔽レベルを算出する、
請求項1~3のいずれか一項に記載のゲームプログラム。
Each of the plurality of objects is covered by a collision object, and collisions of the plurality of objects can be determined;
(a) defines each of the plurality of objects as a single object, identifies other objects determined to collide with the single object, and calculates an occlusion level of the single object according to whether or not any of the identified other objects is within a predetermined angle with respect to a direction from the single object toward the virtual camera;
The game program according to any one of claims 1 to 3.
前記コリジョンオブジェクトは球状であり、
前記コリジョンオブジェクトの半径の2倍が、前記一のオブジェクトから前記仮想カメラへ向かう方向に対して所定角度以内及び前記一のオブジェクトから所定距離以内の領域の半径よりも大きい、
請求項7に記載のゲームプログラム。
the collision object is spherical;
twice the radius of the collision object is greater than the radius of a region within a predetermined angle with respect to a direction from the one object toward the virtual camera and within a predetermined distance from the one object;
The game program according to claim 7.
仮想空間にて仮想カメラが撮影しているゲーム画像の描画処理をコンピュータに実行させるゲーム制御方法であって、
(a)前記仮想カメラが撮影しているオブジェクトが複数存在する場合、複数の前記オブジェクトのそれぞれを一のオブジェクトとして、前記一のオブジェクトから所定距離以内の他のオブジェクトであって、かつ前記一のオブジェクトから前記仮想カメラへ向かう方向に対して所定角度以内の前記他のオブジェクトの有無に応じて前記一のオブジェクトの遮蔽レベルを算出する処理と、
(b)複数の前記オブジェクト毎の前記遮蔽レベルに基づき複数の前記オブジェクト毎の更新頻度を決定する処理と、
(c)複数の前記オブジェクト毎の更新頻度に基づき複数の前記オブジェクト毎の描画処理の更新を制御する処理と、
処理をコンピュータが実行する、ゲーム制御方法。
A game control method for causing a computer to execute a rendering process of a game image captured by a virtual camera in a virtual space, comprising:
(a) when there are a plurality of objects photographed by the virtual camera, a process of treating each of the plurality of objects as a single object and calculating an occlusion level of the single object depending on whether or not there is another object within a predetermined distance from the single object and within a predetermined angle with respect to a direction from the single object toward the virtual camera;
(b) determining an update frequency for each of the plurality of objects based on the occlusion level for each of the plurality of objects;
(c) a process of controlling updating of a drawing process for each of the plurality of objects based on an update frequency for each of the plurality of objects;
A game control method in which processing is performed by a computer.
仮想空間にて仮想カメラが撮影しているゲーム画像の描画処理を実行する情報処理装置であって、
前記仮想カメラが撮影しているオブジェクトが複数存在する場合、複数の前記オブジェクトのそれぞれを一のオブジェクトとして、前記一のオブジェクトから所定距離以内の他のオブジェクトであって、かつ前記一のオブジェクトから前記仮想カメラへ向かう方向に対して所定角度以内の前記他のオブジェクトの有無に応じて前記一のオブジェクトの遮蔽レベルを算出する算出部と、
複数の前記オブジェクト毎の前記遮蔽レベルに基づき複数の前記オブジェクト毎の更新頻度を決定し、複数の前記オブジェクト毎の更新頻度に基づき複数の前記オブジェクト毎の描画処理の更新を制御する更新制御部と、
を有する情報処理装置。
An information processing device that performs a rendering process of a game image captured by a virtual camera in a virtual space,
a calculation unit that, when there are a plurality of objects photographed by the virtual camera, regards each of the plurality of objects as a single object and calculates an occlusion level of the single object depending on whether or not there is another object within a predetermined distance from the single object and within a predetermined angle with respect to a direction from the single object toward the virtual camera;
an update control unit that determines an update frequency for each of the plurality of objects based on the occlusion level for each of the plurality of objects, and controls updating of a drawing process for each of the plurality of objects based on the update frequency for each of the plurality of objects;
An information processing device having the above.
JP2022132459A 2022-08-23 2022-08-23 Game program, game control method and information processing device Active JP7795435B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022132459A JP7795435B2 (en) 2022-08-23 2022-08-23 Game program, game control method and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022132459A JP7795435B2 (en) 2022-08-23 2022-08-23 Game program, game control method and information processing device

Publications (2)

Publication Number Publication Date
JP2024029961A JP2024029961A (en) 2024-03-07
JP7795435B2 true JP7795435B2 (en) 2026-01-07

Family

ID=90106636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022132459A Active JP7795435B2 (en) 2022-08-23 2022-08-23 Game program, game control method and information processing device

Country Status (1)

Country Link
JP (1) JP7795435B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235748A (en) 2005-02-22 2006-09-07 Konami Digital Entertainment:Kk Image processing apparatus, image processing method, and program
JP2011186834A (en) 2010-03-09 2011-09-22 Copcom Co Ltd Game program, recording medium, and computer device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7015597B1 (en) * 2021-06-25 2022-02-03 クラスター株式会社 Avatar output device, terminal device, avatar output method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235748A (en) 2005-02-22 2006-09-07 Konami Digital Entertainment:Kk Image processing apparatus, image processing method, and program
US20090015581A1 (en) 2005-02-22 2009-01-15 Konami Digital Entertainment Co., Ltd. Image processor, image processing method and information storage medium
JP2011186834A (en) 2010-03-09 2011-09-22 Copcom Co Ltd Game program, recording medium, and computer device

Also Published As

Publication number Publication date
JP2024029961A (en) 2024-03-07

Similar Documents

Publication Publication Date Title
US10016680B2 (en) Apparatus and method for displaying player character showing special movement state in network game
JP3795856B2 (en) Video game apparatus, video game progress control method, program, and recording medium
US6666764B1 (en) Method of controlling a character in a video game
US8103128B2 (en) Graphic object collision detection with axis-aligned bounding regions calculated from inclination angle
US10610784B2 (en) Information storage medium and game device
JP7245605B2 (en) Game system, game providing method and program
US20240238674A1 (en) Information storage medium, information processing device, and information processing method
CN111971098A (en) Game system and game providing method
JP2023018098A (en) Program, Game Device, Server Device, and Game Providing Method
CN113382786B (en) Information processing program, information processing method and information processing device
JP3747050B1 (en) Program, information storage medium, and image generation system
JP7795435B2 (en) Game program, game control method and information processing device
JP7709909B2 (en) GAME PROGRAM, GAME PROCESSING METHOD AND INFORMATION PROCESSING DEVICE
JP7644869B1 (en) Information processing system, information processing method, and program
JP6555384B2 (en) Program and game device
JP7734608B2 (en) Method, recording medium and information processing device
JP7693923B1 (en) Program, method and information processing device
JP7701531B1 (en) PROGRAM, INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING SYSTEM, AND INFORMATION PROCESSING METHOD
JP7833306B2 (en) Game program, game control method, and information processing device.
JP7699511B2 (en) Server system, program, and method of providing
JP7543628B2 (en) Game provision method and system using past game data
JP7722652B2 (en) Game system, server system and program
JP2025037123A (en) Game program, storage medium and method
JP2024091157A (en) Program, method and information processing device
JP2024150800A (en) Game program, storage medium and method

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231011

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20251117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20251216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251219

R150 Certificate of patent or registration of utility model

Ref document number: 7795435

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150